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-2016, 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 SQL_inheritance 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.  The handling of SQL_inheritance is
111  *	  a good example.
112  *
113  * WARNINGS
114  *	  If you use a list, make sure the datum is a node so that the printing
115  *	  routines work.
116  *
117  *	  Sometimes we assign constants to makeStrings. Make sure we don't free
118  *	  those.
119  *
120  *-------------------------------------------------------------------------
121  */
122 #include "postgres.h"
123 
124 #include <ctype.h>
125 #include <limits.h>
126 
127 #include "catalog/index.h"
128 #include "catalog/namespace.h"
129 #include "catalog/pg_am.h"
130 #include "catalog/pg_trigger.h"
131 #include "commands/defrem.h"
132 #include "commands/trigger.h"
133 #include "nodes/makefuncs.h"
134 #include "nodes/nodeFuncs.h"
135 #include "parser/gramparse.h"
136 #include "parser/parser.h"
137 #include "parser/parse_expr.h"
138 #include "storage/lmgr.h"
139 #include "utils/date.h"
140 #include "utils/datetime.h"
141 #include "utils/numeric.h"
142 #include "utils/xml.h"
143 
144 
145 /*
146  * Location tracking support --- simpler than bison's default, since we only
147  * want to track the start position not the end position of each nonterminal.
148  */
149 #define YYLLOC_DEFAULT(Current, Rhs, N) \
150 	do { \
151 		if ((N) > 0) \
152 			(Current) = (Rhs)[1]; \
153 		else \
154 			(Current) = (-1); \
155 	} while (0)
156 
157 /*
158  * The above macro assigns -1 (unknown) as the parse location of any
159  * nonterminal that was reduced from an empty rule.  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 
172 /*
173  * Bison doesn't allocate anything that needs to live across parser calls,
174  * so we can easily have it use palloc instead of malloc.  This prevents
175  * memory leaks if we error out during parsing.  Note this only works with
176  * bison >= 2.0.  However, in bison 1.875 the default is to use alloca()
177  * if possible, so there's not really much problem anyhow, at least if
178  * you're building with gcc.
179  */
180 #define YYMALLOC palloc
181 #define YYFREE   pfree
182 
183 /* Private struct for the result of privilege_target production */
184 typedef struct PrivTarget
185 {
186 	GrantTargetType targtype;
187 	GrantObjectType objtype;
188 	List	   *objs;
189 } PrivTarget;
190 
191 /* Private struct for the result of import_qualification production */
192 typedef struct ImportQual
193 {
194 	ImportForeignSchemaType type;
195 	List	   *table_names;
196 } ImportQual;
197 
198 /* ConstraintAttributeSpec yields an integer bitmask of these flags: */
199 #define CAS_NOT_DEFERRABLE			0x01
200 #define CAS_DEFERRABLE				0x02
201 #define CAS_INITIALLY_IMMEDIATE		0x04
202 #define CAS_INITIALLY_DEFERRED		0x08
203 #define CAS_NOT_VALID				0x10
204 #define CAS_NO_INHERIT				0x20
205 
206 
207 #define parser_yyerror(msg)  scanner_yyerror(msg, yyscanner)
208 #define parser_errposition(pos)  scanner_errposition(pos, yyscanner)
209 
210 static void base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner,
211 						 const char *msg);
212 static Node *makeColumnRef(char *colname, List *indirection,
213 						   int location, core_yyscan_t yyscanner);
214 static Node *makeTypeCast(Node *arg, TypeName *typename, int location);
215 static Node *makeStringConst(char *str, int location);
216 static Node *makeStringConstCast(char *str, int location, TypeName *typename);
217 static Node *makeIntConst(int val, int location);
218 static Node *makeFloatConst(char *str, int location);
219 static Node *makeBitStringConst(char *str, int location);
220 static Node *makeNullAConst(int location);
221 static Node *makeAConst(Value *v, int location);
222 static Node *makeBoolAConst(bool state, int location);
223 static Node *makeRoleSpec(RoleSpecType type, int location);
224 static void check_qualified_name(List *names, core_yyscan_t yyscanner);
225 static List *check_func_name(List *names, core_yyscan_t yyscanner);
226 static List *check_indirection(List *indirection, core_yyscan_t yyscanner);
227 static List *extractArgTypes(List *parameters);
228 static List *extractAggrArgTypes(List *aggrargs);
229 static List *makeOrderedSetArgs(List *directargs, List *orderedargs,
230 								core_yyscan_t yyscanner);
231 static void insertSelectOptions(SelectStmt *stmt,
232 								List *sortClause, List *lockingClause,
233 								Node *limitOffset, Node *limitCount,
234 								WithClause *withClause,
235 								core_yyscan_t yyscanner);
236 static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg);
237 static Node *doNegate(Node *n, int location);
238 static void doNegateFloat(Value *v);
239 static Node *makeAndExpr(Node *lexpr, Node *rexpr, int location);
240 static Node *makeOrExpr(Node *lexpr, Node *rexpr, int location);
241 static Node *makeNotExpr(Node *expr, int location);
242 static Node *makeAArrayExpr(List *elements, int location);
243 static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args,
244 						 List *args, int location);
245 static List *mergeTableFuncParameters(List *func_args, List *columns);
246 static TypeName *TableFuncTypeName(List *columns);
247 static RangeVar *makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner);
248 static void SplitColQualList(List *qualList,
249 							 List **constraintList, CollateClause **collClause,
250 							 core_yyscan_t yyscanner);
251 static void processCASbits(int cas_bits, int location, const char *constrType,
252 			   bool *deferrable, bool *initdeferred, bool *not_valid,
253 			   bool *no_inherit, core_yyscan_t yyscanner);
254 static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
255 
256 
257 #line 258 "gram.c" /* yacc.c:337  */
258 # ifndef YY_NULLPTR
259 #  if defined __cplusplus
260 #   if 201103L <= __cplusplus
261 #    define YY_NULLPTR nullptr
262 #   else
263 #    define YY_NULLPTR 0
264 #   endif
265 #  else
266 #   define YY_NULLPTR ((void*)0)
267 #  endif
268 # endif
269 
270 /* Enabling verbose error messages.  */
271 #ifdef YYERROR_VERBOSE
272 # undef YYERROR_VERBOSE
273 # define YYERROR_VERBOSE 1
274 #else
275 # define YYERROR_VERBOSE 0
276 #endif
277 
278 /* In a future release of Bison, this section will be replaced
279    by #include "gram.h".  */
280 #ifndef YY_BASE_YY_GRAM_H_INCLUDED
281 # define YY_BASE_YY_GRAM_H_INCLUDED
282 /* Debug traces.  */
283 #ifndef YYDEBUG
284 # define YYDEBUG 0
285 #endif
286 #if YYDEBUG
287 extern int base_yydebug;
288 #endif
289 
290 /* Token type.  */
291 #ifndef YYTOKENTYPE
292 # define YYTOKENTYPE
293   enum yytokentype
294   {
295     IDENT = 258,
296     FCONST = 259,
297     SCONST = 260,
298     BCONST = 261,
299     XCONST = 262,
300     Op = 263,
301     ICONST = 264,
302     PARAM = 265,
303     TYPECAST = 266,
304     DOT_DOT = 267,
305     COLON_EQUALS = 268,
306     EQUALS_GREATER = 269,
307     LESS_EQUALS = 270,
308     GREATER_EQUALS = 271,
309     NOT_EQUALS = 272,
310     ABORT_P = 273,
311     ABSOLUTE_P = 274,
312     ACCESS = 275,
313     ACTION = 276,
314     ADD_P = 277,
315     ADMIN = 278,
316     AFTER = 279,
317     AGGREGATE = 280,
318     ALL = 281,
319     ALSO = 282,
320     ALTER = 283,
321     ALWAYS = 284,
322     ANALYSE = 285,
323     ANALYZE = 286,
324     AND = 287,
325     ANY = 288,
326     ARRAY = 289,
327     AS = 290,
328     ASC = 291,
329     ASSERTION = 292,
330     ASSIGNMENT = 293,
331     ASYMMETRIC = 294,
332     AT = 295,
333     ATTRIBUTE = 296,
334     AUTHORIZATION = 297,
335     BACKWARD = 298,
336     BEFORE = 299,
337     BEGIN_P = 300,
338     BETWEEN = 301,
339     BIGINT = 302,
340     BINARY = 303,
341     BIT = 304,
342     BOOLEAN_P = 305,
343     BOTH = 306,
344     BY = 307,
345     CACHE = 308,
346     CALLED = 309,
347     CASCADE = 310,
348     CASCADED = 311,
349     CASE = 312,
350     CAST = 313,
351     CATALOG_P = 314,
352     CHAIN = 315,
353     CHAR_P = 316,
354     CHARACTER = 317,
355     CHARACTERISTICS = 318,
356     CHECK = 319,
357     CHECKPOINT = 320,
358     CLASS = 321,
359     CLOSE = 322,
360     CLUSTER = 323,
361     COALESCE = 324,
362     COLLATE = 325,
363     COLLATION = 326,
364     COLUMN = 327,
365     COMMENT = 328,
366     COMMENTS = 329,
367     COMMIT = 330,
368     COMMITTED = 331,
369     CONCURRENTLY = 332,
370     CONFIGURATION = 333,
371     CONFLICT = 334,
372     CONNECTION = 335,
373     CONSTRAINT = 336,
374     CONSTRAINTS = 337,
375     CONTENT_P = 338,
376     CONTINUE_P = 339,
377     CONVERSION_P = 340,
378     COPY = 341,
379     COST = 342,
380     CREATE = 343,
381     CROSS = 344,
382     CSV = 345,
383     CUBE = 346,
384     CURRENT_P = 347,
385     CURRENT_CATALOG = 348,
386     CURRENT_DATE = 349,
387     CURRENT_ROLE = 350,
388     CURRENT_SCHEMA = 351,
389     CURRENT_TIME = 352,
390     CURRENT_TIMESTAMP = 353,
391     CURRENT_USER = 354,
392     CURSOR = 355,
393     CYCLE = 356,
394     DATA_P = 357,
395     DATABASE = 358,
396     DAY_P = 359,
397     DEALLOCATE = 360,
398     DEC = 361,
399     DECIMAL_P = 362,
400     DECLARE = 363,
401     DEFAULT = 364,
402     DEFAULTS = 365,
403     DEFERRABLE = 366,
404     DEFERRED = 367,
405     DEFINER = 368,
406     DELETE_P = 369,
407     DELIMITER = 370,
408     DELIMITERS = 371,
409     DEPENDS = 372,
410     DESC = 373,
411     DICTIONARY = 374,
412     DISABLE_P = 375,
413     DISCARD = 376,
414     DISTINCT = 377,
415     DO = 378,
416     DOCUMENT_P = 379,
417     DOMAIN_P = 380,
418     DOUBLE_P = 381,
419     DROP = 382,
420     EACH = 383,
421     ELSE = 384,
422     ENABLE_P = 385,
423     ENCODING = 386,
424     ENCRYPTED = 387,
425     END_P = 388,
426     ENUM_P = 389,
427     ESCAPE = 390,
428     EVENT = 391,
429     EXCEPT = 392,
430     EXCLUDE = 393,
431     EXCLUDING = 394,
432     EXCLUSIVE = 395,
433     EXECUTE = 396,
434     EXISTS = 397,
435     EXPLAIN = 398,
436     EXTENSION = 399,
437     EXTERNAL = 400,
438     EXTRACT = 401,
439     FALSE_P = 402,
440     FAMILY = 403,
441     FETCH = 404,
442     FILTER = 405,
443     FIRST_P = 406,
444     FLOAT_P = 407,
445     FOLLOWING = 408,
446     FOR = 409,
447     FORCE = 410,
448     FOREIGN = 411,
449     FORWARD = 412,
450     FREEZE = 413,
451     FROM = 414,
452     FULL = 415,
453     FUNCTION = 416,
454     FUNCTIONS = 417,
455     GLOBAL = 418,
456     GRANT = 419,
457     GRANTED = 420,
458     GREATEST = 421,
459     GROUP_P = 422,
460     GROUPING = 423,
461     HANDLER = 424,
462     HAVING = 425,
463     HEADER_P = 426,
464     HOLD = 427,
465     HOUR_P = 428,
466     IDENTITY_P = 429,
467     IF_P = 430,
468     ILIKE = 431,
469     IMMEDIATE = 432,
470     IMMUTABLE = 433,
471     IMPLICIT_P = 434,
472     IMPORT_P = 435,
473     IN_P = 436,
474     INCLUDING = 437,
475     INCREMENT = 438,
476     INDEX = 439,
477     INDEXES = 440,
478     INHERIT = 441,
479     INHERITS = 442,
480     INITIALLY = 443,
481     INLINE_P = 444,
482     INNER_P = 445,
483     INOUT = 446,
484     INPUT_P = 447,
485     INSENSITIVE = 448,
486     INSERT = 449,
487     INSTEAD = 450,
488     INT_P = 451,
489     INTEGER = 452,
490     INTERSECT = 453,
491     INTERVAL = 454,
492     INTO = 455,
493     INVOKER = 456,
494     IS = 457,
495     ISNULL = 458,
496     ISOLATION = 459,
497     JOIN = 460,
498     KEY = 461,
499     LABEL = 462,
500     LANGUAGE = 463,
501     LARGE_P = 464,
502     LAST_P = 465,
503     LATERAL_P = 466,
504     LEADING = 467,
505     LEAKPROOF = 468,
506     LEAST = 469,
507     LEFT = 470,
508     LEVEL = 471,
509     LIKE = 472,
510     LIMIT = 473,
511     LISTEN = 474,
512     LOAD = 475,
513     LOCAL = 476,
514     LOCALTIME = 477,
515     LOCALTIMESTAMP = 478,
516     LOCATION = 479,
517     LOCK_P = 480,
518     LOCKED = 481,
519     LOGGED = 482,
520     MAPPING = 483,
521     MATCH = 484,
522     MATERIALIZED = 485,
523     MAXVALUE = 486,
524     METHOD = 487,
525     MINUTE_P = 488,
526     MINVALUE = 489,
527     MODE = 490,
528     MONTH_P = 491,
529     MOVE = 492,
530     NAME_P = 493,
531     NAMES = 494,
532     NATIONAL = 495,
533     NATURAL = 496,
534     NCHAR = 497,
535     NEXT = 498,
536     NO = 499,
537     NONE = 500,
538     NOT = 501,
539     NOTHING = 502,
540     NOTIFY = 503,
541     NOTNULL = 504,
542     NOWAIT = 505,
543     NULL_P = 506,
544     NULLIF = 507,
545     NULLS_P = 508,
546     NUMERIC = 509,
547     OBJECT_P = 510,
548     OF = 511,
549     OFF = 512,
550     OFFSET = 513,
551     OIDS = 514,
552     ON = 515,
553     ONLY = 516,
554     OPERATOR = 517,
555     OPTION = 518,
556     OPTIONS = 519,
557     OR = 520,
558     ORDER = 521,
559     ORDINALITY = 522,
560     OUT_P = 523,
561     OUTER_P = 524,
562     OVER = 525,
563     OVERLAPS = 526,
564     OVERLAY = 527,
565     OWNED = 528,
566     OWNER = 529,
567     PARALLEL = 530,
568     PARSER = 531,
569     PARTIAL = 532,
570     PARTITION = 533,
571     PASSING = 534,
572     PASSWORD = 535,
573     PLACING = 536,
574     PLANS = 537,
575     POLICY = 538,
576     POSITION = 539,
577     PRECEDING = 540,
578     PRECISION = 541,
579     PRESERVE = 542,
580     PREPARE = 543,
581     PREPARED = 544,
582     PRIMARY = 545,
583     PRIOR = 546,
584     PRIVILEGES = 547,
585     PROCEDURAL = 548,
586     PROCEDURE = 549,
587     PROGRAM = 550,
588     QUOTE = 551,
589     RANGE = 552,
590     READ = 553,
591     REAL = 554,
592     REASSIGN = 555,
593     RECHECK = 556,
594     RECURSIVE = 557,
595     REF = 558,
596     REFERENCES = 559,
597     REFRESH = 560,
598     REINDEX = 561,
599     RELATIVE_P = 562,
600     RELEASE = 563,
601     RENAME = 564,
602     REPEATABLE = 565,
603     REPLACE = 566,
604     REPLICA = 567,
605     RESET = 568,
606     RESTART = 569,
607     RESTRICT = 570,
608     RETURNING = 571,
609     RETURNS = 572,
610     REVOKE = 573,
611     RIGHT = 574,
612     ROLE = 575,
613     ROLLBACK = 576,
614     ROLLUP = 577,
615     ROW = 578,
616     ROWS = 579,
617     RULE = 580,
618     SAVEPOINT = 581,
619     SCHEMA = 582,
620     SCROLL = 583,
621     SEARCH = 584,
622     SECOND_P = 585,
623     SECURITY = 586,
624     SELECT = 587,
625     SEQUENCE = 588,
626     SEQUENCES = 589,
627     SERIALIZABLE = 590,
628     SERVER = 591,
629     SESSION = 592,
630     SESSION_USER = 593,
631     SET = 594,
632     SETS = 595,
633     SETOF = 596,
634     SHARE = 597,
635     SHOW = 598,
636     SIMILAR = 599,
637     SIMPLE = 600,
638     SKIP = 601,
639     SMALLINT = 602,
640     SNAPSHOT = 603,
641     SOME = 604,
642     SQL_P = 605,
643     STABLE = 606,
644     STANDALONE_P = 607,
645     START = 608,
646     STATEMENT = 609,
647     STATISTICS = 610,
648     STDIN = 611,
649     STDOUT = 612,
650     STORAGE = 613,
651     STRICT_P = 614,
652     STRIP_P = 615,
653     SUBSTRING = 616,
654     SYMMETRIC = 617,
655     SYSID = 618,
656     SYSTEM_P = 619,
657     TABLE = 620,
658     TABLES = 621,
659     TABLESAMPLE = 622,
660     TABLESPACE = 623,
661     TEMP = 624,
662     TEMPLATE = 625,
663     TEMPORARY = 626,
664     TEXT_P = 627,
665     THEN = 628,
666     TIME = 629,
667     TIMESTAMP = 630,
668     TO = 631,
669     TRAILING = 632,
670     TRANSACTION = 633,
671     TRANSFORM = 634,
672     TREAT = 635,
673     TRIGGER = 636,
674     TRIM = 637,
675     TRUE_P = 638,
676     TRUNCATE = 639,
677     TRUSTED = 640,
678     TYPE_P = 641,
679     TYPES_P = 642,
680     UNBOUNDED = 643,
681     UNCOMMITTED = 644,
682     UNENCRYPTED = 645,
683     UNION = 646,
684     UNIQUE = 647,
685     UNKNOWN = 648,
686     UNLISTEN = 649,
687     UNLOGGED = 650,
688     UNTIL = 651,
689     UPDATE = 652,
690     USER = 653,
691     USING = 654,
692     VACUUM = 655,
693     VALID = 656,
694     VALIDATE = 657,
695     VALIDATOR = 658,
696     VALUE_P = 659,
697     VALUES = 660,
698     VARCHAR = 661,
699     VARIADIC = 662,
700     VARYING = 663,
701     VERBOSE = 664,
702     VERSION_P = 665,
703     VIEW = 666,
704     VIEWS = 667,
705     VOLATILE = 668,
706     WHEN = 669,
707     WHERE = 670,
708     WHITESPACE_P = 671,
709     WINDOW = 672,
710     WITH = 673,
711     WITHIN = 674,
712     WITHOUT = 675,
713     WORK = 676,
714     WRAPPER = 677,
715     WRITE = 678,
716     XML_P = 679,
717     XMLATTRIBUTES = 680,
718     XMLCONCAT = 681,
719     XMLELEMENT = 682,
720     XMLEXISTS = 683,
721     XMLFOREST = 684,
722     XMLPARSE = 685,
723     XMLPI = 686,
724     XMLROOT = 687,
725     XMLSERIALIZE = 688,
726     YEAR_P = 689,
727     YES_P = 690,
728     ZONE = 691,
729     NOT_LA = 692,
730     NULLS_LA = 693,
731     WITH_LA = 694,
732     POSTFIXOP = 695,
733     UMINUS = 696
734   };
735 #endif
736 
737 /* Value type.  */
738 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
739 
740 union YYSTYPE
741 {
742 #line 192 "gram.y" /* yacc.c:352  */
743 
744 	core_YYSTYPE		core_yystype;
745 	/* these fields must match core_YYSTYPE: */
746 	int					ival;
747 	char				*str;
748 	const char			*keyword;
749 
750 	char				chr;
751 	bool				boolean;
752 	JoinType			jtype;
753 	DropBehavior		dbehavior;
754 	OnCommitAction		oncommit;
755 	List				*list;
756 	Node				*node;
757 	Value				*value;
758 	ObjectType			objtype;
759 	TypeName			*typnam;
760 	FunctionParameter   *fun_param;
761 	FunctionParameterMode fun_param_mode;
762 	FuncWithArgs		*funwithargs;
763 	DefElem				*defelt;
764 	SortBy				*sortby;
765 	WindowDef			*windef;
766 	JoinExpr			*jexpr;
767 	IndexElem			*ielem;
768 	Alias				*alias;
769 	RangeVar			*range;
770 	IntoClause			*into;
771 	WithClause			*with;
772 	InferClause			*infer;
773 	OnConflictClause	*onconflict;
774 	A_Indices			*aind;
775 	ResTarget			*target;
776 	struct PrivTarget	*privtarget;
777 	AccessPriv			*accesspriv;
778 	struct ImportQual	*importqual;
779 	InsertStmt			*istmt;
780 	VariableSetStmt		*vsetstmt;
781 
782 #line 783 "gram.c" /* yacc.c:352  */
783 };
784 
785 typedef union YYSTYPE YYSTYPE;
786 # define YYSTYPE_IS_TRIVIAL 1
787 # define YYSTYPE_IS_DECLARED 1
788 #endif
789 
790 /* Location type.  */
791 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
792 typedef struct YYLTYPE YYLTYPE;
793 struct YYLTYPE
794 {
795   int first_line;
796   int first_column;
797   int last_line;
798   int last_column;
799 };
800 # define YYLTYPE_IS_DECLARED 1
801 # define YYLTYPE_IS_TRIVIAL 1
802 #endif
803 
804 
805 
806 int base_yyparse (core_yyscan_t yyscanner);
807 
808 #endif /* !YY_BASE_YY_GRAM_H_INCLUDED  */
809 
810 
811 
812 #ifdef short
813 # undef short
814 #endif
815 
816 #ifdef YYTYPE_UINT8
817 typedef YYTYPE_UINT8 yytype_uint8;
818 #else
819 typedef unsigned char yytype_uint8;
820 #endif
821 
822 #ifdef YYTYPE_INT8
823 typedef YYTYPE_INT8 yytype_int8;
824 #else
825 typedef signed char yytype_int8;
826 #endif
827 
828 #ifdef YYTYPE_UINT16
829 typedef YYTYPE_UINT16 yytype_uint16;
830 #else
831 typedef unsigned short yytype_uint16;
832 #endif
833 
834 #ifdef YYTYPE_INT16
835 typedef YYTYPE_INT16 yytype_int16;
836 #else
837 typedef short yytype_int16;
838 #endif
839 
840 #ifndef YYSIZE_T
841 # ifdef __SIZE_TYPE__
842 #  define YYSIZE_T __SIZE_TYPE__
843 # elif defined size_t
844 #  define YYSIZE_T size_t
845 # elif ! defined YYSIZE_T
846 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
847 #  define YYSIZE_T size_t
848 # else
849 #  define YYSIZE_T unsigned
850 # endif
851 #endif
852 
853 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
854 
855 #ifndef YY_
856 # if defined YYENABLE_NLS && YYENABLE_NLS
857 #  if ENABLE_NLS
858 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
859 #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
860 #  endif
861 # endif
862 # ifndef YY_
863 #  define YY_(Msgid) Msgid
864 # endif
865 #endif
866 
867 #ifndef YY_ATTRIBUTE
868 # if (defined __GNUC__                                               \
869       && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
870      || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
871 #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
872 # else
873 #  define YY_ATTRIBUTE(Spec) /* empty */
874 # endif
875 #endif
876 
877 #ifndef YY_ATTRIBUTE_PURE
878 # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
879 #endif
880 
881 #ifndef YY_ATTRIBUTE_UNUSED
882 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
883 #endif
884 
885 /* Suppress unused-variable warnings by "using" E.  */
886 #if ! defined lint || defined __GNUC__
887 # define YYUSE(E) ((void) (E))
888 #else
889 # define YYUSE(E) /* empty */
890 #endif
891 
892 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
893 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
894 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
895     _Pragma ("GCC diagnostic push") \
896     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
897     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
898 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
899     _Pragma ("GCC diagnostic pop")
900 #else
901 # define YY_INITIAL_VALUE(Value) Value
902 #endif
903 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
904 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
905 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
906 #endif
907 #ifndef YY_INITIAL_VALUE
908 # define YY_INITIAL_VALUE(Value) /* Nothing. */
909 #endif
910 
911 
912 #if ! defined yyoverflow || YYERROR_VERBOSE
913 
914 /* The parser invokes alloca or malloc; define the necessary symbols.  */
915 
916 # ifdef YYSTACK_USE_ALLOCA
917 #  if YYSTACK_USE_ALLOCA
918 #   ifdef __GNUC__
919 #    define YYSTACK_ALLOC __builtin_alloca
920 #   elif defined __BUILTIN_VA_ARG_INCR
921 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
922 #   elif defined _AIX
923 #    define YYSTACK_ALLOC __alloca
924 #   elif defined _MSC_VER
925 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
926 #    define alloca _alloca
927 #   else
928 #    define YYSTACK_ALLOC alloca
929 #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
930 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
931       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
932 #     ifndef EXIT_SUCCESS
933 #      define EXIT_SUCCESS 0
934 #     endif
935 #    endif
936 #   endif
937 #  endif
938 # endif
939 
940 # ifdef YYSTACK_ALLOC
941    /* Pacify GCC's 'empty if-body' warning.  */
942 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
943 #  ifndef YYSTACK_ALLOC_MAXIMUM
944     /* The OS might guarantee only one guard page at the bottom of the stack,
945        and a page size can be as small as 4096 bytes.  So we cannot safely
946        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
947        to allow for a few compiler-allocated temporary stack slots.  */
948 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
949 #  endif
950 # else
951 #  define YYSTACK_ALLOC YYMALLOC
952 #  define YYSTACK_FREE YYFREE
953 #  ifndef YYSTACK_ALLOC_MAXIMUM
954 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
955 #  endif
956 #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
957        && ! ((defined YYMALLOC || defined malloc) \
958              && (defined YYFREE || defined free)))
959 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
960 #   ifndef EXIT_SUCCESS
961 #    define EXIT_SUCCESS 0
962 #   endif
963 #  endif
964 #  ifndef YYMALLOC
965 #   define YYMALLOC malloc
966 #   if ! defined malloc && ! defined EXIT_SUCCESS
967 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
968 #   endif
969 #  endif
970 #  ifndef YYFREE
971 #   define YYFREE free
972 #   if ! defined free && ! defined EXIT_SUCCESS
973 void free (void *); /* INFRINGES ON USER NAME SPACE */
974 #   endif
975 #  endif
976 # endif
977 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
978 
979 
980 #if (! defined yyoverflow \
981      && (! defined __cplusplus \
982          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
983              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
984 
985 /* A type that is properly aligned for any stack member.  */
986 union yyalloc
987 {
988   yytype_int16 yyss_alloc;
989   YYSTYPE yyvs_alloc;
990   YYLTYPE yyls_alloc;
991 };
992 
993 /* The size of the maximum gap between one aligned stack and the next.  */
994 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
995 
996 /* The size of an array large to enough to hold all stacks, each with
997    N elements.  */
998 # define YYSTACK_BYTES(N) \
999      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
1000       + 2 * YYSTACK_GAP_MAXIMUM)
1001 
1002 # define YYCOPY_NEEDED 1
1003 
1004 /* Relocate STACK from its old location to the new one.  The
1005    local variables YYSIZE and YYSTACKSIZE give the old and new number of
1006    elements in the stack, and YYPTR gives the new location of the
1007    stack.  Advance YYPTR to a properly aligned location for the next
1008    stack.  */
1009 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
1010     do                                                                  \
1011       {                                                                 \
1012         YYSIZE_T yynewbytes;                                            \
1013         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
1014         Stack = &yyptr->Stack_alloc;                                    \
1015         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1016         yyptr += yynewbytes / sizeof (*yyptr);                          \
1017       }                                                                 \
1018     while (0)
1019 
1020 #endif
1021 
1022 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1023 /* Copy COUNT objects from SRC to DST.  The source and destination do
1024    not overlap.  */
1025 # ifndef YYCOPY
1026 #  if defined __GNUC__ && 1 < __GNUC__
1027 #   define YYCOPY(Dst, Src, Count) \
1028       __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
1029 #  else
1030 #   define YYCOPY(Dst, Src, Count)              \
1031       do                                        \
1032         {                                       \
1033           YYSIZE_T yyi;                         \
1034           for (yyi = 0; yyi < (Count); yyi++)   \
1035             (Dst)[yyi] = (Src)[yyi];            \
1036         }                                       \
1037       while (0)
1038 #  endif
1039 # endif
1040 #endif /* !YYCOPY_NEEDED */
1041 
1042 /* YYFINAL -- State number of the termination state.  */
1043 #define YYFINAL  763
1044 /* YYLAST -- Last index in YYTABLE.  */
1045 #define YYLAST   92660
1046 
1047 /* YYNTOKENS -- Number of terminals.  */
1048 #define YYNTOKENS  459
1049 /* YYNNTS -- Number of nonterminals.  */
1050 #define YYNNTS  618
1051 /* YYNRULES -- Number of rules.  */
1052 #define YYNRULES  2515
1053 /* YYNSTATES -- Number of states.  */
1054 #define YYNSTATES  5006
1055 
1056 #define YYUNDEFTOK  2
1057 #define YYMAXUTOK   696
1058 
1059 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
1060    as returned by yylex, with out-of-bounds checking.  */
1061 #define YYTRANSLATE(YYX)                                                \
1062   ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1063 
1064 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1065    as returned by yylex.  */
1066 static const yytype_uint16 yytranslate[] =
1067 {
1068        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1069        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1070        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1071        2,     2,     2,     2,     2,     2,     2,   448,     2,     2,
1072      453,   454,   446,   444,   457,   445,   455,   447,     2,     2,
1073        2,     2,     2,     2,     2,     2,     2,     2,   458,   456,
1074      440,   442,   441,     2,     2,     2,     2,     2,     2,     2,
1075        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1076        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1077        2,   451,     2,   452,   449,     2,     2,     2,     2,     2,
1078        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1079        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1080        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1081        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1082        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1083        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1084        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1085        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1086        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1087        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1088        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1089        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1090        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1091        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1092        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1093        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
1094        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
1095       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1096       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1097       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1098       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1099       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1100       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1101       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1102       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1103       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1104      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1105      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1106      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1107      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1108      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1109      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1110      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1111      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1112      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1113      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1114      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1115      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1116      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1117      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1118      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1119      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1120      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1121      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1122      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1123      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1124      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1125      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1126      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1127      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1128      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1129      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1130      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1131      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1132      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1133      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1134      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1135      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1136      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1137      435,   436,   437,   438,   439,   443,   450
1138 };
1139 
1140 #if YYDEBUG
1141   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1142 static const yytype_uint16 yyrline[] =
1143 {
1144        0,   734,   734,   741,   748,   758,   759,   760,   761,   762,
1145      763,   764,   765,   766,   767,   768,   769,   770,   771,   772,
1146      773,   774,   775,   776,   777,   778,   779,   780,   781,   782,
1147      783,   784,   785,   786,   787,   788,   789,   790,   791,   792,
1148      793,   794,   795,   796,   797,   798,   799,   800,   801,   802,
1149      803,   804,   805,   806,   807,   808,   809,   810,   811,   812,
1150      813,   814,   815,   816,   817,   818,   819,   820,   821,   822,
1151      823,   824,   825,   826,   827,   828,   829,   830,   831,   832,
1152      833,   834,   835,   836,   837,   838,   839,   840,   841,   842,
1153      843,   844,   845,   846,   847,   848,   849,   850,   851,   852,
1154      853,   854,   855,   856,   857,   858,   859,   860,   861,   862,
1155      863,   864,   865,   866,   867,   868,   869,   870,   871,   872,
1156      873,   874,   875,   876,   877,   878,   879,   880,   881,   882,
1157      884,   894,   905,   906,   907,   916,   917,   921,   922,   926,
1158      931,   935,   940,   945,   949,   953,   958,   962,  1010,  1012,
1159     1016,  1020,  1024,  1028,  1042,  1060,  1071,  1072,  1076,  1084,
1160     1102,  1114,  1122,  1143,  1150,  1167,  1174,  1191,  1209,  1220,
1161     1221,  1233,  1240,  1257,  1267,  1277,  1292,  1310,  1311,  1315,
1162     1322,  1330,  1331,  1332,  1333,  1334,  1335,  1349,  1355,  1361,
1163     1370,  1378,  1386,  1390,  1398,  1406,  1413,  1423,  1424,  1432,
1164     1443,  1451,  1459,  1470,  1478,  1486,  1493,  1502,  1512,  1513,
1165     1517,  1518,  1521,  1523,  1527,  1528,  1529,  1530,  1534,  1535,
1166     1536,  1542,  1554,  1558,  1562,  1577,  1584,  1585,  1586,  1590,
1167     1591,  1592,  1596,  1597,  1601,  1605,  1606,  1613,  1620,  1630,
1168     1637,  1647,  1648,  1653,  1654,  1659,  1665,  1671,  1677,  1683,
1169     1693,  1703,  1704,  1708,  1709,  1717,  1732,  1738,  1744,  1750,
1170     1756,  1775,  1784,  1793,  1804,  1815,  1824,  1833,  1844,  1855,
1171     1864,  1873,  1882,  1891,  1900,  1909,  1920,  1934,  1935,  1940,
1172     1949,  1958,  1967,  1976,  1985,  1993,  2001,  2010,  2019,  2028,
1173     2037,  2047,  2060,  2075,  2084,  2092,  2107,  2115,  2125,  2135,
1174     2142,  2149,  2157,  2165,  2172,  2179,  2187,  2195,  2203,  2210,
1175     2217,  2225,  2232,  2239,  2247,  2255,  2263,  2271,  2279,  2287,
1176     2297,  2304,  2312,  2320,  2328,  2336,  2344,  2351,  2358,  2365,
1177     2371,  2381,  2382,  2386,  2387,  2388,  2392,  2400,  2404,  2405,
1178     2409,  2416,  2423,  2430,  2440,  2443,  2444,  2448,  2449,  2454,
1179     2458,  2462,  2467,  2482,  2495,  2496,  2501,  2510,  2520,  2530,
1180     2556,  2562,  2595,  2624,  2646,  2647,  2651,  2652,  2661,  2662,
1181     2663,  2666,  2667,  2672,  2673,  2677,  2681,  2685,  2689,  2693,
1182     2697,  2701,  2705,  2709,  2713,  2717,  2721,  2725,  2729,  2738,
1183     2742,  2746,  2750,  2754,  2758,  2762,  2763,  2768,  2772,  2779,
1184     2786,  2787,  2788,  2789,  2790,  2794,  2798,  2806,  2817,  2833,
1185     2850,  2867,  2897,  2898,  2899,  2900,  2901,  2908,  2915,  2916,
1186     2920,  2921,  2925,  2926,  2930,  2934,  2941,  2945,  2952,  2953,
1187     2954,  2958,  2959,  2962,  2983,  3004,  3005,  3009,  3017,  3018,
1188     3019,  3050,  3057,  3064,  3075,  3086,  3098,  3107,  3140,  3147,
1189     3154,  3161,  3172,  3183,  3184,  3185,  3189,  3190,  3191,  3192,
1190     3193,  3194,  3203,  3211,  3215,  3228,  3243,  3257,  3272,  3286,
1191     3304,  3325,  3326,  3330,  3331,  3335,  3336,  3339,  3345,  3349,
1192     3357,  3362,  3368,  3369,  3373,  3378,  3385,  3386,  3396,  3398,
1193     3400,  3402,  3405,  3408,  3411,  3415,  3416,  3417,  3418,  3419,
1194     3422,  3423,  3428,  3429,  3430,  3431,  3434,  3435,  3436,  3437,
1195     3440,  3441,  3444,  3445,  3448,  3463,  3476,  3492,  3506,  3507,
1196     3508,  3520,  3533,  3549,  3562,  3563,  3575,  3595,  3605,  3618,
1197     3626,  3637,  3638,  3641,  3642,  3645,  3649,  3653,  3657,  3661,
1198     3665,  3669,  3673,  3677,  3681,  3685,  3689,  3695,  3696,  3700,
1199     3701,  3702,  3707,  3710,  3711,  3723,  3735,  3750,  3751,  3759,
1200     3760,  3764,  3765,  3769,  3770,  3774,  3775,  3779,  3790,  3803,
1201     3804,  3814,  3825,  3826,  3839,  3846,  3863,  3871,  3882,  3885,
1202     3889,  3893,  3897,  3901,  3913,  3923,  3926,  3930,  3943,  3952,
1203     3962,  3972,  3981,  3990,  3999,  4009,  4018,  4028,  4037,  4046,
1204     4055,  4064,  4073,  4082,  4091,  4100,  4109,  4118,  4127,  4136,
1205     4145,  4154,  4163,  4173,  4191,  4202,  4203,  4204,  4205,  4209,
1206     4210,  4214,  4215,  4225,  4236,  4256,  4264,  4276,  4277,  4281,
1207     4285,  4293,  4297,  4301,  4308,  4312,  4317,  4322,  4329,  4336,
1208     4341,  4351,  4365,  4366,  4371,  4372,  4376,  4377,  4387,  4398,
1209     4418,  4427,  4435,  4452,  4472,  4502,  4511,  4532,  4547,  4548,
1210     4552,  4560,  4575,  4586,  4587,  4599,  4607,  4624,  4646,  4662,
1211     4676,  4687,  4701,  4702,  4706,  4707,  4711,  4712,  4716,  4717,
1212     4721,  4722,  4726,  4727,  4728,  4729,  4730,  4740,  4759,  4779,
1213     4804,  4805,  4806,  4810,  4812,  4834,  4836,  4838,  4840,  4842,
1214     4847,  4852,  4862,  4863,  4867,  4868,  4872,  4873,  4877,  4878,
1215     4879,  4883,  4887,  4888,  4889,  4893,  4894,  4899,  4900,  4927,
1216     4928,  4929,  4930,  4931,  4932,  4937,  4948,  4971,  4981,  4995,
1217     4997,  5002,  5007,  5009,  5014,  5024,  5025,  5026,  5027,  5039,
1218     5059,  5082,  5092,  5103,  5113,  5123,  5134,  5143,  5150,  5157,
1219     5166,  5175,  5184,  5193,  5202,  5213,  5216,  5217,  5220,  5224,
1220     5231,  5232,  5233,  5234,  5235,  5238,  5241,  5242,  5250,  5257,
1221     5258,  5261,  5263,  5274,  5284,  5294,  5306,  5307,  5323,  5338,
1222     5339,  5343,  5353,  5364,  5373,  5383,  5392,  5393,  5396,  5397,
1223     5400,  5401,  5402,  5405,  5419,  5424,  5434,  5443,  5455,  5456,
1224     5460,  5468,  5480,  5490,  5503,  5513,  5535,  5545,  5563,  5574,
1225     5585,  5595,  5605,  5615,  5625,  5636,  5650,  5651,  5652,  5653,
1226     5654,  5655,  5656,  5657,  5658,  5659,  5660,  5661,  5662,  5663,
1227     5664,  5665,  5669,  5670,  5673,  5674,  5677,  5679,  5684,  5685,
1228     5696,  5707,  5708,  5709,  5743,  5752,  5761,  5770,  5779,  5788,
1229     5797,  5806,  5820,  5829,  5838,  5848,  5857,  5866,  5874,  5883,
1230     5892,  5901,  5913,  5914,  5915,  5916,  5917,  5918,  5919,  5920,
1231     5921,  5922,  5923,  5924,  5925,  5926,  5927,  5928,  5929,  5930,
1232     5931,  5932,  5933,  5934,  5938,  5939,  5953,  5964,  5975,  5986,
1233     5997,  6008,  6019,  6032,  6033,  6037,  6038,  6039,  6040,  6041,
1234     6042,  6043,  6044,  6045,  6046,  6047,  6050,  6051,  6061,  6067,
1235     6075,  6083,  6091,  6099,  6107,  6115,  6123,  6131,  6139,  6147,
1236     6155,  6163,  6171,  6179,  6187,  6195,  6205,  6206,  6209,  6210,
1237     6220,  6236,  6250,  6276,  6278,  6280,  6282,  6289,  6298,  6299,
1238     6302,  6309,  6316,  6323,  6337,  6345,  6353,  6361,  6369,  6377,
1239     6385,  6393,  6401,  6409,  6417,  6425,  6433,  6441,  6449,  6457,
1240     6469,  6470,  6474,  6475,  6480,  6481,  6485,  6486,  6491,  6507,
1241     6520,  6530,  6542,  6543,  6546,  6547,  6557,  6567,  6568,  6572,
1242     6576,  6580,  6591,  6604,  6618,  6635,  6636,  6637,  6638,  6650,
1243     6676,  6705,  6706,  6710,  6711,  6715,  6716,  6720,  6721,  6724,
1244     6725,  6733,  6744,  6755,  6768,  6769,  6772,  6773,  6776,  6777,
1245     6778,  6781,  6782,  6783,  6799,  6811,  6824,  6839,  6840,  6843,
1246     6844,  6848,  6849,  6857,  6858,  6862,  6863,  6878,  6887,  6896,
1247     6905,  6914,  6926,  6927,  6928,  6929,  6930,  6936,  6940,  6955,
1248     6956,  6962,  6972,  6976,  6981,  6989,  7030,  7034,  7038,  7042,
1249     7050,  7051,  7056,  7057,  7064,  7068,  7072,  7076,  7080,  7084,
1250     7088,  7092,  7096,  7100,  7104,  7108,  7112,  7116,  7120,  7125,
1251     7132,  7136,  7140,  7144,  7148,  7154,  7155,  7162,  7163,  7167,
1252     7168,  7171,  7183,  7187,  7202,  7213,  7214,  7219,  7220,  7235,
1253     7246,  7260,  7271,  7285,  7296,  7310,  7318,  7320,  7322,  7327,
1254     7329,  7342,  7351,  7352,  7356,  7360,  7372,  7383,  7394,  7407,
1255     7408,  7409,  7413,  7426,  7427,  7437,  7449,  7453,  7457,  7461,
1256     7468,  7489,  7498,  7507,  7516,  7527,  7528,  7531,  7532,  7533,
1257     7536,  7537,  7540,  7550,  7559,  7576,  7586,  7595,  7604,  7613,
1258     7622,  7631,  7640,  7650,  7659,  7668,  7677,  7686,  7696,  7706,
1259     7715,  7724,  7734,  7744,  7754,  7764,  7774,  7784,  7794,  7804,
1260     7814,  7824,  7834,  7844,  7855,  7866,  7877,  7888,  7898,  7908,
1261     7919,  7930,  7940,  7950,  7958,  7967,  7976,  7985,  7994,  8003,
1262     8012,  8021,  8030,  8044,  8045,  8048,  8049,  8059,  8069,  8079,
1263     8089,  8108,  8118,  8127,  8136,  8145,  8154,  8164,  8174,  8183,
1264     8192,  8201,  8210,  8219,  8228,  8237,  8246,  8255,  8264,  8273,
1265     8282,  8291,  8300,  8309,  8318,  8336,  8346,  8347,  8350,  8352,
1266     8362,  8371,  8379,  8387,  8395,  8403,  8412,  8420,  8428,  8437,
1267     8445,  8453,  8461,  8469,  8477,  8485,  8493,  8501,  8509,  8526,
1268     8543,  8544,  8545,  8550,  8556,  8565,  8566,  8567,  8568,  8569,
1269     8573,  8574,  8577,  8578,  8579,  8580,  8584,  8585,  8586,  8591,
1270     8602,  8624,  8634,  8635,  8638,  8647,  8653,  8672,  8679,  8686,
1271     8693,  8700,  8707,  8714,  8722,  8730,  8738,  8746,  8754,  8761,
1272     8768,  8777,  8778,  8779,  8783,  8786,  8789,  8792,  8795,  8802,
1273     8804,  8806,  8811,  8813,  8825,  8838,  8851,  8869,  8890,  8891,
1274     8892,  8893,  8903,  8919,  8929,  8930,  8934,  8935,  8939,  8943,
1275     8947,  8965,  8966,  8967,  8968,  8969,  8970,  8971,  8978,  8979,
1276     8990,  8997,  9004,  9015,  9032,  9039,  9057,  9063,  9079,  9092,
1277     9101,  9109,  9117,  9126,  9137,  9148,  9158,  9159,  9170,  9180,
1278     9191,  9202,  9213,  9224,  9233,  9245,  9246,  9260,  9283,  9291,
1279     9300,  9311,  9312,  9324,  9338,  9352,  9364,  9372,  9385,  9386,
1280     9390,  9391,  9392,  9393,  9394,  9407,  9417,  9430,  9431,  9435,
1281     9436,  9439,  9440,  9443,  9444,  9448,  9449,  9462,  9469,  9479,
1282     9486,  9496,  9497,  9498,  9499,  9500,  9501,  9502,  9503,  9504,
1283     9508,  9512,  9519,  9526,  9527,  9531,  9532,  9533,  9543,  9553,
1284     9554,  9558,  9559,  9560,  9561,  9571,  9578,  9595,  9614,  9615,
1285     9625,  9631,  9637,  9643,  9659,  9677,  9681,  9689,  9695,  9701,
1286     9710,  9712,  9717,  9728,  9738,  9748,  9754,  9763,  9772,  9778,
1287     9779,  9790,  9804,  9805,  9816,  9827,  9828,  9831,  9832,  9833,
1288     9834,  9835,  9836,  9837,  9838,  9841,  9842,  9846,  9847,  9848,
1289     9859,  9877,  9878,  9882,  9883,  9887,  9903,  9929,  9962,  9973,
1290     9974,  9984,  9995,  9998,  9999, 10000, 10001, 10002, 10005, 10006,
1291    10007, 10055, 10056, 10060, 10061, 10076, 10077, 10084, 10092, 10100,
1292    10108, 10116, 10124, 10135, 10136, 10163, 10177, 10192, 10193, 10212,
1293    10216, 10220, 10237, 10244, 10251, 10261, 10262, 10265, 10277, 10278,
1294    10282, 10294, 10302, 10307, 10312, 10317, 10322, 10330, 10338, 10343,
1295    10348, 10355, 10356, 10360, 10361, 10362, 10369, 10370, 10374, 10375,
1296    10379, 10380, 10384, 10388, 10389, 10392, 10401, 10414, 10415, 10416,
1297    10417, 10421, 10422, 10426, 10428, 10444, 10446, 10451, 10454, 10459,
1298    10460, 10468, 10488, 10489, 10491, 10496, 10497, 10501, 10502, 10505,
1299    10506, 10531, 10532, 10536, 10537, 10541, 10542, 10543, 10544, 10545,
1300    10549, 10562, 10569, 10576, 10583, 10584, 10588, 10589, 10593, 10594,
1301    10598, 10599, 10603, 10614, 10615, 10616, 10617, 10621, 10622, 10627,
1302    10633, 10651, 10652, 10656, 10657, 10663, 10668, 10676, 10683, 10691,
1303    10726, 10751, 10755, 10781, 10785, 10797, 10810, 10824, 10835, 10850,
1304    10856, 10861, 10867, 10874, 10875, 10883, 10887, 10891, 10897, 10904,
1305    10909, 10910, 10911, 10912, 10916, 10917, 10929, 10930, 10935, 10942,
1306    10949, 10956, 10967, 10968, 10981, 10985, 10992, 11005, 11018, 11019,
1307    11034, 11044, 11056, 11061, 11062, 11065, 11066, 11069, 11070, 11075,
1308    11076, 11081, 11082, 11090, 11095, 11096, 11100, 11104, 11110, 11140,
1309    11145, 11152, 11157, 11163, 11168, 11177, 11179, 11182, 11186, 11187,
1310    11188, 11189, 11190, 11191, 11196, 11216, 11217, 11218, 11219, 11230,
1311    11236, 11244, 11245, 11251, 11256, 11261, 11266, 11271, 11276, 11281,
1312    11286, 11292, 11298, 11304, 11311, 11333, 11342, 11346, 11354, 11358,
1313    11366, 11378, 11399, 11403, 11409, 11413, 11426, 11437, 11452, 11454,
1314    11456, 11458, 11460, 11462, 11467, 11468, 11472, 11473, 11480, 11489,
1315    11497, 11506, 11517, 11525, 11526, 11527, 11531, 11533, 11535, 11537,
1316    11539, 11541, 11543, 11548, 11553, 11559, 11567, 11572, 11579, 11586,
1317    11590, 11594, 11630, 11631, 11633, 11641, 11656, 11658, 11660, 11662,
1318    11664, 11666, 11668, 11670, 11672, 11674, 11676, 11678, 11680, 11682,
1319    11685, 11687, 11689, 11692, 11694, 11696, 11698, 11701, 11706, 11714,
1320    11719, 11727, 11732, 11740, 11745, 11754, 11762, 11770, 11778, 11796,
1321    11804, 11812, 11820, 11828, 11844, 11852, 11860, 11868, 11876, 11884,
1322    11892, 11896, 11900, 11904, 11908, 11916, 11924, 11932, 11940, 11960,
1323    11982, 11993, 12000, 12016, 12021, 12038, 12040, 12042, 12044, 12046,
1324    12048, 12050, 12052, 12054, 12056, 12058, 12060, 12062, 12064, 12066,
1325    12068, 12070, 12072, 12074, 12076, 12080, 12084, 12088, 12092, 12097,
1326    12113, 12114, 12115, 12130, 12164, 12166, 12168, 12179, 12203, 12214,
1327    12225, 12233, 12243, 12253, 12262, 12266, 12272, 12279, 12286, 12296,
1328    12303, 12331, 12366, 12377, 12378, 12385, 12391, 12417, 12427, 12440,
1329    12448, 12461, 12471, 12484, 12494, 12507, 12511, 12515, 12519, 12523,
1330    12527, 12531, 12533, 12537, 12546, 12551, 12558, 12573, 12580, 12584,
1331    12588, 12592, 12596, 12603, 12611, 12619, 12623, 12627, 12631, 12635,
1332    12639, 12645, 12649, 12658, 12662, 12666, 12671, 12685, 12687, 12691,
1333    12693, 12695, 12698, 12701, 12704, 12705, 12708, 12716, 12726, 12727,
1334    12730, 12731, 12732, 12737, 12741, 12745, 12749, 12760, 12761, 12765,
1335    12766, 12774, 12775, 12779, 12780, 12785, 12793, 12795, 12809, 12812,
1336    12839, 12840, 12843, 12844, 12855, 12873, 12880, 12889, 12906, 12951,
1337    12959, 12967, 12975, 12983, 13004, 13005, 13006, 13009, 13010, 13013,
1338    13016, 13017, 13018, 13021, 13022, 13025, 13026, 13027, 13028, 13029,
1339    13030, 13031, 13032, 13033, 13034, 13035, 13036, 13039, 13041, 13046,
1340    13048, 13053, 13055, 13057, 13059, 13061, 13063, 13075, 13079, 13086,
1341    13090, 13096, 13100, 13109, 13120, 13121, 13124, 13128, 13132, 13138,
1342    13139, 13144, 13148, 13155, 13156, 13157, 13158, 13159, 13160, 13161,
1343    13162, 13172, 13176, 13183, 13190, 13191, 13207, 13211, 13216, 13220,
1344    13235, 13240, 13244, 13247, 13250, 13251, 13252, 13255, 13262, 13272,
1345    13286, 13287, 13291, 13302, 13303, 13306, 13307, 13310, 13314, 13321,
1346    13325, 13329, 13337, 13348, 13349, 13353, 13354, 13358, 13359, 13362,
1347    13363, 13374, 13375, 13384, 13385, 13393, 13403, 13404, 13408, 13409,
1348    13412, 13428, 13436, 13444, 13466, 13467, 13478, 13482, 13509, 13511,
1349    13516, 13519, 13522, 13524, 13526, 13528, 13538, 13540, 13551, 13555,
1350    13559, 13563, 13567, 13576, 13583, 13615, 13619, 13625, 13632, 13636,
1351    13640, 13646, 13647, 13649, 13650, 13651, 13655, 13685, 13712, 13716,
1352    13722, 13724, 13741, 13742, 13743, 13748, 13749, 13750, 13755, 13756,
1353    13757, 13758, 13764, 13765, 13766, 13767, 13768, 13788, 13789, 13790,
1354    13791, 13792, 13793, 13794, 13795, 13796, 13797, 13798, 13799, 13800,
1355    13801, 13802, 13803, 13804, 13805, 13806, 13807, 13808, 13809, 13810,
1356    13811, 13812, 13813, 13814, 13815, 13816, 13817, 13818, 13819, 13820,
1357    13821, 13822, 13823, 13824, 13825, 13826, 13827, 13828, 13829, 13830,
1358    13831, 13832, 13833, 13834, 13835, 13836, 13837, 13838, 13839, 13840,
1359    13841, 13842, 13843, 13844, 13845, 13846, 13847, 13848, 13849, 13850,
1360    13851, 13852, 13853, 13854, 13855, 13856, 13857, 13858, 13859, 13860,
1361    13861, 13862, 13863, 13864, 13865, 13866, 13867, 13868, 13869, 13870,
1362    13871, 13872, 13873, 13874, 13875, 13876, 13877, 13878, 13879, 13880,
1363    13881, 13882, 13883, 13884, 13885, 13886, 13887, 13888, 13889, 13890,
1364    13891, 13892, 13893, 13894, 13895, 13896, 13897, 13898, 13899, 13900,
1365    13901, 13902, 13903, 13904, 13905, 13906, 13907, 13908, 13909, 13910,
1366    13911, 13912, 13913, 13914, 13915, 13916, 13917, 13918, 13919, 13920,
1367    13921, 13922, 13923, 13924, 13925, 13926, 13927, 13928, 13929, 13930,
1368    13931, 13932, 13933, 13934, 13935, 13936, 13937, 13938, 13939, 13940,
1369    13941, 13942, 13943, 13944, 13945, 13946, 13947, 13948, 13949, 13950,
1370    13951, 13952, 13953, 13954, 13955, 13956, 13957, 13958, 13959, 13960,
1371    13961, 13962, 13963, 13964, 13965, 13966, 13967, 13968, 13969, 13970,
1372    13971, 13972, 13973, 13974, 13975, 13976, 13977, 13978, 13979, 13980,
1373    13981, 13982, 13983, 13984, 13985, 13986, 13987, 13988, 13989, 13990,
1374    13991, 13992, 13993, 13994, 13995, 13996, 13997, 13998, 13999, 14000,
1375    14001, 14002, 14003, 14004, 14005, 14006, 14007, 14008, 14009, 14010,
1376    14011, 14012, 14013, 14014, 14015, 14016, 14017, 14018, 14019, 14020,
1377    14021, 14022, 14023, 14024, 14025, 14026, 14027, 14028, 14029, 14030,
1378    14031, 14032, 14033, 14034, 14035, 14036, 14037, 14038, 14039, 14040,
1379    14041, 14042, 14043, 14044, 14045, 14046, 14047, 14048, 14049, 14050,
1380    14051, 14052, 14053, 14054, 14055, 14056, 14057, 14058, 14072, 14073,
1381    14074, 14075, 14076, 14077, 14078, 14079, 14080, 14081, 14082, 14083,
1382    14084, 14085, 14086, 14087, 14088, 14089, 14090, 14091, 14092, 14093,
1383    14094, 14095, 14096, 14097, 14098, 14099, 14100, 14101, 14102, 14103,
1384    14104, 14105, 14106, 14107, 14108, 14109, 14110, 14111, 14112, 14113,
1385    14114, 14115, 14116, 14117, 14118, 14119, 14133, 14134, 14135, 14136,
1386    14137, 14138, 14139, 14140, 14141, 14142, 14143, 14144, 14145, 14146,
1387    14147, 14148, 14149, 14150, 14151, 14152, 14153, 14154, 14155, 14165,
1388    14166, 14167, 14168, 14169, 14170, 14171, 14172, 14173, 14174, 14175,
1389    14176, 14177, 14178, 14179, 14180, 14181, 14182, 14183, 14184, 14185,
1390    14186, 14187, 14188, 14189, 14190, 14191, 14192, 14193, 14194, 14195,
1391    14196, 14197, 14198, 14199, 14200, 14201, 14202, 14203, 14204, 14205,
1392    14206, 14207, 14208, 14209, 14210, 14211, 14212, 14213, 14214, 14215,
1393    14216, 14217, 14218, 14219, 14220, 14221, 14222, 14223, 14224, 14225,
1394    14226, 14227, 14228, 14229, 14230, 14231, 14232, 14233, 14234, 14235,
1395    14236, 14237, 14238, 14239, 14240, 14241
1396 };
1397 #endif
1398 
1399 #if YYDEBUG || YYERROR_VERBOSE || 0
1400 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1401    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1402 static const char *const yytname[] =
1403 {
1404   "$end", "error", "$undefined", "IDENT", "FCONST", "SCONST", "BCONST",
1405   "XCONST", "Op", "ICONST", "PARAM", "TYPECAST", "DOT_DOT", "COLON_EQUALS",
1406   "EQUALS_GREATER", "LESS_EQUALS", "GREATER_EQUALS", "NOT_EQUALS",
1407   "ABORT_P", "ABSOLUTE_P", "ACCESS", "ACTION", "ADD_P", "ADMIN", "AFTER",
1408   "AGGREGATE", "ALL", "ALSO", "ALTER", "ALWAYS", "ANALYSE", "ANALYZE",
1409   "AND", "ANY", "ARRAY", "AS", "ASC", "ASSERTION", "ASSIGNMENT",
1410   "ASYMMETRIC", "AT", "ATTRIBUTE", "AUTHORIZATION", "BACKWARD", "BEFORE",
1411   "BEGIN_P", "BETWEEN", "BIGINT", "BINARY", "BIT", "BOOLEAN_P", "BOTH",
1412   "BY", "CACHE", "CALLED", "CASCADE", "CASCADED", "CASE", "CAST",
1413   "CATALOG_P", "CHAIN", "CHAR_P", "CHARACTER", "CHARACTERISTICS", "CHECK",
1414   "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", "COALESCE", "COLLATE",
1415   "COLLATION", "COLUMN", "COMMENT", "COMMENTS", "COMMIT", "COMMITTED",
1416   "CONCURRENTLY", "CONFIGURATION", "CONFLICT", "CONNECTION", "CONSTRAINT",
1417   "CONSTRAINTS", "CONTENT_P", "CONTINUE_P", "CONVERSION_P", "COPY", "COST",
1418   "CREATE", "CROSS", "CSV", "CUBE", "CURRENT_P", "CURRENT_CATALOG",
1419   "CURRENT_DATE", "CURRENT_ROLE", "CURRENT_SCHEMA", "CURRENT_TIME",
1420   "CURRENT_TIMESTAMP", "CURRENT_USER", "CURSOR", "CYCLE", "DATA_P",
1421   "DATABASE", "DAY_P", "DEALLOCATE", "DEC", "DECIMAL_P", "DECLARE",
1422   "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED", "DEFINER", "DELETE_P",
1423   "DELIMITER", "DELIMITERS", "DEPENDS", "DESC", "DICTIONARY", "DISABLE_P",
1424   "DISCARD", "DISTINCT", "DO", "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P",
1425   "DROP", "EACH", "ELSE", "ENABLE_P", "ENCODING", "ENCRYPTED", "END_P",
1426   "ENUM_P", "ESCAPE", "EVENT", "EXCEPT", "EXCLUDE", "EXCLUDING",
1427   "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN", "EXTENSION", "EXTERNAL",
1428   "EXTRACT", "FALSE_P", "FAMILY", "FETCH", "FILTER", "FIRST_P", "FLOAT_P",
1429   "FOLLOWING", "FOR", "FORCE", "FOREIGN", "FORWARD", "FREEZE", "FROM",
1430   "FULL", "FUNCTION", "FUNCTIONS", "GLOBAL", "GRANT", "GRANTED",
1431   "GREATEST", "GROUP_P", "GROUPING", "HANDLER", "HAVING", "HEADER_P",
1432   "HOLD", "HOUR_P", "IDENTITY_P", "IF_P", "ILIKE", "IMMEDIATE",
1433   "IMMUTABLE", "IMPLICIT_P", "IMPORT_P", "IN_P", "INCLUDING", "INCREMENT",
1434   "INDEX", "INDEXES", "INHERIT", "INHERITS", "INITIALLY", "INLINE_P",
1435   "INNER_P", "INOUT", "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD",
1436   "INT_P", "INTEGER", "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS",
1437   "ISNULL", "ISOLATION", "JOIN", "KEY", "LABEL", "LANGUAGE", "LARGE_P",
1438   "LAST_P", "LATERAL_P", "LEADING", "LEAKPROOF", "LEAST", "LEFT", "LEVEL",
1439   "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCALTIME",
1440   "LOCALTIMESTAMP", "LOCATION", "LOCK_P", "LOCKED", "LOGGED", "MAPPING",
1441   "MATCH", "MATERIALIZED", "MAXVALUE", "METHOD", "MINUTE_P", "MINVALUE",
1442   "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL", "NATURAL",
1443   "NCHAR", "NEXT", "NO", "NONE", "NOT", "NOTHING", "NOTIFY", "NOTNULL",
1444   "NOWAIT", "NULL_P", "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", "OF",
1445   "OFF", "OFFSET", "OIDS", "ON", "ONLY", "OPERATOR", "OPTION", "OPTIONS",
1446   "OR", "ORDER", "ORDINALITY", "OUT_P", "OUTER_P", "OVER", "OVERLAPS",
1447   "OVERLAY", "OWNED", "OWNER", "PARALLEL", "PARSER", "PARTIAL",
1448   "PARTITION", "PASSING", "PASSWORD", "PLACING", "PLANS", "POLICY",
1449   "POSITION", "PRECEDING", "PRECISION", "PRESERVE", "PREPARE", "PREPARED",
1450   "PRIMARY", "PRIOR", "PRIVILEGES", "PROCEDURAL", "PROCEDURE", "PROGRAM",
1451   "QUOTE", "RANGE", "READ", "REAL", "REASSIGN", "RECHECK", "RECURSIVE",
1452   "REF", "REFERENCES", "REFRESH", "REINDEX", "RELATIVE_P", "RELEASE",
1453   "RENAME", "REPEATABLE", "REPLACE", "REPLICA", "RESET", "RESTART",
1454   "RESTRICT", "RETURNING", "RETURNS", "REVOKE", "RIGHT", "ROLE",
1455   "ROLLBACK", "ROLLUP", "ROW", "ROWS", "RULE", "SAVEPOINT", "SCHEMA",
1456   "SCROLL", "SEARCH", "SECOND_P", "SECURITY", "SELECT", "SEQUENCE",
1457   "SEQUENCES", "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET",
1458   "SETS", "SETOF", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SKIP",
1459   "SMALLINT", "SNAPSHOT", "SOME", "SQL_P", "STABLE", "STANDALONE_P",
1460   "START", "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE",
1461   "STRICT_P", "STRIP_P", "SUBSTRING", "SYMMETRIC", "SYSID", "SYSTEM_P",
1462   "TABLE", "TABLES", "TABLESAMPLE", "TABLESPACE", "TEMP", "TEMPLATE",
1463   "TEMPORARY", "TEXT_P", "THEN", "TIME", "TIMESTAMP", "TO", "TRAILING",
1464   "TRANSACTION", "TRANSFORM", "TREAT", "TRIGGER", "TRIM", "TRUE_P",
1465   "TRUNCATE", "TRUSTED", "TYPE_P", "TYPES_P", "UNBOUNDED", "UNCOMMITTED",
1466   "UNENCRYPTED", "UNION", "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED",
1467   "UNTIL", "UPDATE", "USER", "USING", "VACUUM", "VALID", "VALIDATE",
1468   "VALIDATOR", "VALUE_P", "VALUES", "VARCHAR", "VARIADIC", "VARYING",
1469   "VERBOSE", "VERSION_P", "VIEW", "VIEWS", "VOLATILE", "WHEN", "WHERE",
1470   "WHITESPACE_P", "WINDOW", "WITH", "WITHIN", "WITHOUT", "WORK", "WRAPPER",
1471   "WRITE", "XML_P", "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT",
1472   "XMLEXISTS", "XMLFOREST", "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE",
1473   "YEAR_P", "YES_P", "ZONE", "NOT_LA", "NULLS_LA", "WITH_LA", "'<'", "'>'",
1474   "'='", "POSTFIXOP", "'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "UMINUS",
1475   "'['", "']'", "'('", "')'", "'.'", "';'", "','", "':'", "$accept",
1476   "stmtblock", "stmtmulti", "stmt", "CreateRoleStmt", "opt_with",
1477   "OptRoleList", "AlterOptRoleList", "AlterOptRoleElem",
1478   "CreateOptRoleElem", "CreateUserStmt", "AlterRoleStmt",
1479   "opt_in_database", "AlterRoleSetStmt", "AlterUserStmt",
1480   "AlterUserSetStmt", "DropRoleStmt", "DropUserStmt", "CreateGroupStmt",
1481   "AlterGroupStmt", "add_drop", "DropGroupStmt", "CreateSchemaStmt",
1482   "OptSchemaName", "OptSchemaEltList", "schema_stmt", "VariableSetStmt",
1483   "set_rest", "generic_set", "set_rest_more", "var_name", "var_list",
1484   "var_value", "iso_level", "opt_boolean_or_string", "zone_value",
1485   "opt_encoding", "NonReservedWord_or_Sconst", "VariableResetStmt",
1486   "reset_rest", "generic_reset", "SetResetClause",
1487   "FunctionSetResetClause", "VariableShowStmt", "ConstraintsSetStmt",
1488   "constraints_set_list", "constraints_set_mode", "CheckPointStmt",
1489   "DiscardStmt", "AlterTableStmt", "alter_table_cmds", "alter_table_cmd",
1490   "alter_column_default", "opt_drop_behavior", "opt_collate_clause",
1491   "alter_using", "replica_identity", "reloptions", "opt_reloptions",
1492   "reloption_list", "reloption_elem", "AlterCompositeTypeStmt",
1493   "alter_type_cmds", "alter_type_cmd", "ClosePortalStmt", "CopyStmt",
1494   "copy_from", "opt_program", "copy_file_name", "copy_options",
1495   "copy_opt_list", "copy_opt_item", "opt_binary", "opt_oids",
1496   "copy_delimiter", "opt_using", "copy_generic_opt_list",
1497   "copy_generic_opt_elem", "copy_generic_opt_arg",
1498   "copy_generic_opt_arg_list", "copy_generic_opt_arg_list_item",
1499   "CreateStmt", "OptTemp", "OptTableElementList",
1500   "OptTypedTableElementList", "TableElementList", "TypedTableElementList",
1501   "TableElement", "TypedTableElement", "columnDef", "columnOptions",
1502   "ColQualList", "ColConstraint", "ColConstraintElem", "ConstraintAttr",
1503   "TableLikeClause", "TableLikeOptionList", "TableLikeOption",
1504   "TableConstraint", "ConstraintElem", "opt_no_inherit", "opt_column_list",
1505   "columnList", "columnElem", "key_match", "ExclusionConstraintList",
1506   "ExclusionConstraintElem", "ExclusionWhereClause", "key_actions",
1507   "key_update", "key_delete", "key_action", "OptInherit", "OptWith",
1508   "OnCommitOption", "OptTableSpace", "OptConsTableSpace", "ExistingIndex",
1509   "CreateAsStmt", "create_as_target", "opt_with_data", "CreateMatViewStmt",
1510   "create_mv_target", "OptNoLog", "RefreshMatViewStmt", "CreateSeqStmt",
1511   "AlterSeqStmt", "OptSeqOptList", "SeqOptList", "SeqOptElem", "opt_by",
1512   "NumericOnly", "NumericOnly_list", "CreatePLangStmt", "opt_trusted",
1513   "handler_name", "opt_inline_handler", "validator_clause",
1514   "opt_validator", "DropPLangStmt", "opt_procedural",
1515   "CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt",
1516   "CreateExtensionStmt", "create_extension_opt_list",
1517   "create_extension_opt_item", "AlterExtensionStmt",
1518   "alter_extension_opt_list", "alter_extension_opt_item",
1519   "AlterExtensionContentsStmt", "CreateFdwStmt", "fdw_option",
1520   "fdw_options", "opt_fdw_options", "DropFdwStmt", "AlterFdwStmt",
1521   "create_generic_options", "generic_option_list", "alter_generic_options",
1522   "alter_generic_option_list", "alter_generic_option_elem",
1523   "generic_option_elem", "generic_option_name", "generic_option_arg",
1524   "CreateForeignServerStmt", "opt_type", "foreign_server_version",
1525   "opt_foreign_server_version", "DropForeignServerStmt",
1526   "AlterForeignServerStmt", "CreateForeignTableStmt",
1527   "AlterForeignTableStmt", "ImportForeignSchemaStmt",
1528   "import_qualification_type", "import_qualification",
1529   "CreateUserMappingStmt", "auth_ident", "DropUserMappingStmt",
1530   "AlterUserMappingStmt", "CreatePolicyStmt", "AlterPolicyStmt",
1531   "DropPolicyStmt", "RowSecurityOptionalExpr",
1532   "RowSecurityOptionalWithCheck", "RowSecurityDefaultToRole",
1533   "RowSecurityOptionalToRole", "RowSecurityDefaultForCmd",
1534   "row_security_cmd", "CreateAmStmt", "CreateTrigStmt",
1535   "TriggerActionTime", "TriggerEvents", "TriggerOneEvent",
1536   "TriggerForSpec", "TriggerForOptEach", "TriggerForType", "TriggerWhen",
1537   "TriggerFuncArgs", "TriggerFuncArg", "OptConstrFromTable",
1538   "ConstraintAttributeSpec", "ConstraintAttributeElem", "DropTrigStmt",
1539   "CreateEventTrigStmt", "event_trigger_when_list",
1540   "event_trigger_when_item", "event_trigger_value_list",
1541   "AlterEventTrigStmt", "enable_trigger", "CreateAssertStmt",
1542   "DropAssertStmt", "DefineStmt", "definition", "def_list", "def_elem",
1543   "def_arg", "old_aggr_definition", "old_aggr_list", "old_aggr_elem",
1544   "opt_enum_val_list", "enum_val_list", "AlterEnumStmt",
1545   "opt_if_not_exists", "CreateOpClassStmt", "opclass_item_list",
1546   "opclass_item", "opt_default", "opt_opfamily", "opclass_purpose",
1547   "opt_recheck", "CreateOpFamilyStmt", "AlterOpFamilyStmt",
1548   "opclass_drop_list", "opclass_drop", "DropOpClassStmt",
1549   "DropOpFamilyStmt", "DropOwnedStmt", "ReassignOwnedStmt", "DropStmt",
1550   "drop_type", "any_name_list", "any_name", "attrs", "type_name_list",
1551   "TruncateStmt", "opt_restart_seqs", "CommentStmt", "comment_type",
1552   "comment_text", "SecLabelStmt", "opt_provider", "security_label_type",
1553   "security_label", "FetchStmt", "fetch_args", "from_in", "opt_from_in",
1554   "GrantStmt", "RevokeStmt", "privileges", "privilege_list", "privilege",
1555   "privilege_target", "grantee_list", "grantee", "opt_grant_grant_option",
1556   "function_with_argtypes_list", "function_with_argtypes", "GrantRoleStmt",
1557   "RevokeRoleStmt", "opt_grant_admin_option", "opt_granted_by",
1558   "AlterDefaultPrivilegesStmt", "DefACLOptionList", "DefACLOption",
1559   "DefACLAction", "defacl_privilege_target", "IndexStmt", "opt_unique",
1560   "opt_concurrently", "opt_index_name", "access_method_clause",
1561   "index_params", "index_elem", "opt_collate", "opt_class", "opt_asc_desc",
1562   "opt_nulls_order", "CreateFunctionStmt", "opt_or_replace", "func_args",
1563   "func_args_list", "func_args_with_defaults",
1564   "func_args_with_defaults_list", "func_arg", "arg_class", "param_name",
1565   "func_return", "func_type", "func_arg_with_default", "aggr_arg",
1566   "aggr_args", "aggr_args_list", "createfunc_opt_list",
1567   "common_func_opt_item", "createfunc_opt_item", "func_as",
1568   "transform_type_list", "opt_definition", "table_func_column",
1569   "table_func_column_list", "AlterFunctionStmt", "alterfunc_opt_list",
1570   "opt_restrict", "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt",
1571   "oper_argtypes", "any_operator", "DoStmt", "dostmt_opt_list",
1572   "dostmt_opt_item", "CreateCastStmt", "cast_context", "DropCastStmt",
1573   "opt_if_exists", "CreateTransformStmt", "transform_element_list",
1574   "DropTransformStmt", "ReindexStmt", "reindex_target_type",
1575   "reindex_target_multitable", "reindex_option_list",
1576   "reindex_option_elem", "AlterTblSpcStmt", "RenameStmt", "opt_column",
1577   "opt_set_data", "AlterObjectDependsStmt", "AlterObjectSchemaStmt",
1578   "AlterOperatorStmt", "operator_def_list", "operator_def_elem",
1579   "AlterOwnerStmt", "RuleStmt", "RuleActionList", "RuleActionMulti",
1580   "RuleActionStmt", "RuleActionStmtOrEmpty", "event", "opt_instead",
1581   "DropRuleStmt", "NotifyStmt", "notify_payload", "ListenStmt",
1582   "UnlistenStmt", "TransactionStmt", "opt_transaction",
1583   "transaction_mode_item", "transaction_mode_list",
1584   "transaction_mode_list_or_empty", "ViewStmt", "opt_check_option",
1585   "LoadStmt", "CreatedbStmt", "createdb_opt_list", "createdb_opt_items",
1586   "createdb_opt_item", "createdb_opt_name", "opt_equal",
1587   "AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt",
1588   "AlterSystemStmt", "CreateDomainStmt", "AlterDomainStmt", "opt_as",
1589   "AlterTSDictionaryStmt", "AlterTSConfigurationStmt", "any_with",
1590   "CreateConversionStmt", "ClusterStmt", "cluster_index_specification",
1591   "VacuumStmt", "vacuum_option_list", "vacuum_option_elem", "AnalyzeStmt",
1592   "analyze_keyword", "opt_verbose", "opt_full", "opt_freeze",
1593   "opt_name_list", "ExplainStmt", "ExplainableStmt", "explain_option_list",
1594   "explain_option_elem", "explain_option_name", "explain_option_arg",
1595   "PrepareStmt", "prep_type_clause", "PreparableStmt", "ExecuteStmt",
1596   "execute_param_clause", "DeallocateStmt", "InsertStmt", "insert_target",
1597   "insert_rest", "insert_column_list", "insert_column_item",
1598   "opt_on_conflict", "opt_conf_expr", "returning_clause", "DeleteStmt",
1599   "using_clause", "LockStmt", "opt_lock", "lock_type", "opt_nowait",
1600   "opt_nowait_or_skip", "UpdateStmt", "set_clause_list", "set_clause",
1601   "single_set_clause", "multiple_set_clause", "set_target",
1602   "set_target_list", "DeclareCursorStmt", "cursor_name", "cursor_options",
1603   "opt_hold", "SelectStmt", "select_with_parens", "select_no_parens",
1604   "select_clause", "simple_select", "with_clause", "cte_list",
1605   "common_table_expr", "opt_with_clause", "into_clause",
1606   "OptTempTableName", "opt_table", "all_or_distinct", "distinct_clause",
1607   "opt_all_clause", "opt_sort_clause", "sort_clause", "sortby_list",
1608   "sortby", "select_limit", "opt_select_limit", "limit_clause",
1609   "offset_clause", "select_limit_value", "select_offset_value",
1610   "select_fetch_first_value", "I_or_F_const", "row_or_rows",
1611   "first_or_next", "group_clause", "group_by_list", "group_by_item",
1612   "empty_grouping_set", "rollup_clause", "cube_clause",
1613   "grouping_sets_clause", "having_clause", "for_locking_clause",
1614   "opt_for_locking_clause", "for_locking_items", "for_locking_item",
1615   "for_locking_strength", "locked_rels_list", "values_clause",
1616   "from_clause", "from_list", "table_ref", "joined_table", "alias_clause",
1617   "opt_alias_clause", "func_alias_clause", "join_type", "join_outer",
1618   "join_qual", "relation_expr", "relation_expr_list",
1619   "relation_expr_opt_alias", "tablesample_clause", "opt_repeatable_clause",
1620   "func_table", "rowsfrom_item", "rowsfrom_list", "opt_col_def_list",
1621   "opt_ordinality", "where_clause", "where_or_current_clause",
1622   "OptTableFuncElementList", "TableFuncElementList", "TableFuncElement",
1623   "Typename", "opt_array_bounds", "SimpleTypename", "ConstTypename",
1624   "GenericType", "opt_type_modifiers", "Numeric", "opt_float", "Bit",
1625   "ConstBit", "BitWithLength", "BitWithoutLength", "Character",
1626   "ConstCharacter", "CharacterWithLength", "CharacterWithoutLength",
1627   "character", "opt_varying", "opt_charset", "ConstDatetime",
1628   "ConstInterval", "opt_timezone", "opt_interval", "interval_second",
1629   "a_expr", "b_expr", "c_expr", "func_application", "func_expr",
1630   "func_expr_windowless", "func_expr_common_subexpr", "xml_root_version",
1631   "opt_xml_root_standalone", "xml_attributes", "xml_attribute_list",
1632   "xml_attribute_el", "document_or_content", "xml_whitespace_option",
1633   "xmlexists_argument", "within_group_clause", "filter_clause",
1634   "window_clause", "window_definition_list", "window_definition",
1635   "over_clause", "window_specification", "opt_existing_window_name",
1636   "opt_partition_clause", "opt_frame_clause", "frame_extent",
1637   "frame_bound", "row", "explicit_row", "implicit_row", "sub_type",
1638   "all_Op", "MathOp", "qual_Op", "qual_all_Op", "subquery_Op", "expr_list",
1639   "func_arg_list", "func_arg_expr", "type_list", "array_expr",
1640   "array_expr_list", "extract_list", "extract_arg", "overlay_list",
1641   "overlay_placing", "position_list", "substr_list", "substr_from",
1642   "substr_for", "trim_list", "in_expr", "case_expr", "when_clause_list",
1643   "when_clause", "case_default", "case_arg", "columnref", "indirection_el",
1644   "opt_slice_bound", "indirection", "opt_indirection", "opt_asymmetric",
1645   "ctext_expr", "ctext_expr_list", "ctext_row", "opt_target_list",
1646   "target_list", "target_el", "qualified_name_list", "qualified_name",
1647   "name_list", "name", "database_name", "access_method", "attr_name",
1648   "index_name", "file_name", "func_name", "AexprConst", "Iconst", "Sconst",
1649   "SignedIconst", "RoleId", "RoleSpec", "role_list", "ColId",
1650   "type_function_name", "NonReservedWord", "ColLabel",
1651   "unreserved_keyword", "col_name_keyword", "type_func_name_keyword",
1652   "reserved_keyword", YY_NULLPTR
1653 };
1654 #endif
1655 
1656 # ifdef YYPRINT
1657 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1658    (internal) symbol number NUM (which must be that of a token).  */
1659 static const yytype_uint16 yytoknum[] =
1660 {
1661        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1662      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1663      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1664      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1665      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1666      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1667      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1668      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1669      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1670      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1671      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1672      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1673      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1674      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1675      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1676      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1677      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1678      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1679      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1680      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1681      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1682      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1683      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1684      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1685      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1686      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1687      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
1688      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
1689      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
1690      545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
1691      555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
1692      565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
1693      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
1694      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
1695      595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
1696      605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
1697      615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
1698      625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
1699      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
1700      645,   646,   647,   648,   649,   650,   651,   652,   653,   654,
1701      655,   656,   657,   658,   659,   660,   661,   662,   663,   664,
1702      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
1703      675,   676,   677,   678,   679,   680,   681,   682,   683,   684,
1704      685,   686,   687,   688,   689,   690,   691,   692,   693,   694,
1705       60,    62,    61,   695,    43,    45,    42,    47,    37,    94,
1706      696,    91,    93,    40,    41,    46,    59,    44,    58
1707 };
1708 # endif
1709 
1710 #define YYPACT_NINF -4355
1711 
1712 #define yypact_value_is_default(Yystate) \
1713   (!!((Yystate) == (-4355)))
1714 
1715 #define YYTABLE_NINF -2422
1716 
1717 #define yytable_value_is_error(Yytable_value) \
1718   (!!((Yytable_value) == (-2422)))
1719 
1720   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1721      STATE-NUM.  */
1722 static const int yypact[] =
1723 {
1724    12809,    11,  8198, -4355, -4355,    11, -4355, 63688,   485,   667,
1725     1338,   172, 13901, 64122, 70632,  1025,   313, 13215,    11, 70632,
1726     2945, 48932, 60650,   848, 70632,   956,   794, 48932, 70632, 71066,
1727      935,   940,   188, 71500, 64556, 59348,  1370, 70632,  1171,  1156,
1728    71934, 64990,  1114, 65424,   794, 45470,   148,   826, 72368, 70632,
1729     1867,  1340,  1150, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1730    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1731    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1732    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1733    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1734    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1735    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1736    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1737    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1738    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1739    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1740    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,   485,
1741    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1742     2213, -4355,  1106,  2241,    51,   221,  1203, -4355, -4355, -4355,
1743    57178, 70632, 70632, 70632,  1412, 70632,  1429, 70632,   186, 57178,
1744    53272, 65858,  1597,  1461, 41992, 72802, -4355, 51536, 70632, 70632,
1745    73236, 70632,    92, 61952, 70632,  1550, 70632, 70632, 51970, 73670,
1746     1698,  1432, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1747    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1748    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1749    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1750    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1751    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1752    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1753    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1754    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1755    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1756    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1757    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1758    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1759    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1760    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1761    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1762    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1763    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1764    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1765    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1766    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1767    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1768    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1769    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1770    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1771    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1772    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1773    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1774    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1775    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1776    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1777    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1778    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, 70632,
1779     9909,   956, -4355, -4355,  1867, 70632,  1693, 57178, 70632,  1471,
1780    70632,  1567, 70632, -4355, 70632,  1576, 74104,   429,  1110, 53272,
1781     1609, 42427,  1675, 70632, 53272, 74538, 70632, 70632, -4355, -4355,
1782     1667, 70632, 70632, -4355,  1813, 53706,  1423,  1871,  1917,  1928,
1783     1438, -4355, 66292, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1784    -4355, 56310,   313, -4355, -4355,  1787, 57612, 70632,  1936, -4355,
1785    -4355, 74972, 90114,  1737, -4355,   661, 58046, 54140,  2054,  1745,
1786    42862,  2096, 75406, 54574, 75840, -4355, -4355, 76274, -4355, 76708,
1787     1856,  1936, 77142, 90536, 55008, -4355,  1966, 77576, -4355,  1727,
1788     1831,  1510, 38053, -4355, -4355, -4355,   485, -4355, -4355, -4355,
1789    -4355, -4355, -4355, -4355, -4355,   260,  1686,   303,   200,   332,
1790    -4355, -4355,   209,   211,   212,   260,  2188,  2188, -4355, 70632,
1791    -4355, -4355,  1686,   679,  1752,  1752,  1752,  1954,   925, -4355,
1792     1752,  1892, -4355, -4355, -4355, -4355, 65424, -4355,  1767,   956,
1793     1791,  2201,  1865, -4355, -4355, -4355, -4355, -4355,  1884, 70632,
1794    70632, 70632, -4355, -4355,  2256,  1881,  2118,  1848, -4355, -4355,
1795    -4355,  2085,  2102,  2112,    90,   956,  1983, -4355,  2228, -4355,
1796     2147, 26458, 26458,   956, 66726, 78010,   361, 56310,   956, 67160,
1797     1985,  1404,  2165, -4355, -4355, -4355,   726, -4355,  2387,  1999,
1798     2211,  1848,  1432, 39363, -4355,  2017,   -34, 65424, -4355, -4355,
1799    -4355,   370,  2298, 26909, -4355, 70632,  2012, -4355,  2014,  2012,
1800     2019,  2024,    51, -4355, 12809, 70632,  1190,  1190,  2431,  1190,
1801     1451,  1805, -4355,  2297, -4355,  2325,  2289, 65424,   826,   222,
1802    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1803    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1804    -4355, -4355, -4355,  2037,   -34, -4355,   227, -4355,  1248,  2036,
1805     1329,  1776, -4355, -4355,   512, 70632,  2163,   237,    13,  2081,
1806    67594,  4946,  2051, -4355, -4355, -4355,  2207,   876, -4355, -4355,
1807    -4355, -4355,  2330,  2388,  5876,   329, 68028, -4355, -4355, -4355,
1808    -4355, 70632, 70632, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1809    -4355, -4355,  2082, -4355, -4355,  2089,  2394,  2288,  2371,  2255,
1810     1460,  2316,  1355,  2447,  4033,  1397, 68462, 70632,  2401,  2452,
1811     6492,  1758,   901,  2345,  1141,  2371,  2457,  2306,  1460,  2475,
1812     6904, 70632, -4355,  2406,  2512,    76, -4355,   732, -4355,  2230,
1813     2386,   745,  2399, 57178,  2183, -4355, -4355, 70632, -4355, -4355,
1814    90958,  2266, -4355,   727, 57178, -4355,  2395,  2253, 43297, 70632,
1815    -4355, 70632, -4355, -4355, -4355, -4355, -4355,  2323,  2511, 70632,
1816    90958, -4355,  2463, 70632, -4355,  2218, -4355, -4355, -4355, -4355,
1817     1752, 70632,  2220,  2616, 90958,   117, 70632,   -19,  2647, 70632,
1818     2451,   -19,  2264, 78444, -4355, -4355,   -19, -4355, -4355, -4355,
1819    70632, 70632,  2265,  1812,  2438,   -19,  2460,  2665,  2675,  2343,
1820     2464,  1016,  1298,   184,  2577,   -19,  2338, 78878, 79312, 70632,
1821     2340, 70632,  2678, 57178, 70632,  2604, -4355,  2466, -4355, -4355,
1822     1221, -4355, -4355, -4355, -4355, -4355,  2618,  2037,   347,  2620,
1823     2310,  2623, -4355, -4355, -4355,  2361, -4355,  2361,  2361,  2317,
1824     2317,  2490,  2326,  2638, -4355, -4355, -4355,  1709,  2361,  2317,
1825    -4355, 91802, -4355,  1427,  1542, -4355,   217, -4355,  2747, -4355,
1826    -4355, -4355, -4355, -4355, -4355, -4355, -4355,   176, -4355,   683,
1827     1637, -4355, -4355,  2363, -4355,  2641,  2051,  2644, -4355,  2331,
1828    79746, -4355, 80180, 80614,  2645,  2082, 53272,  2648,  2535,  2655,
1829     2331,  2658,  2541,  2660,   347,  2661, -4355,  1078,  2651,  2667,
1830     2550,  2677,   217,  2683,  1766,  2331, 56744,  2685,   299, -4355,
1831    28713, -4355,  2455, -4355,   826, -4355,  1310, -4355, 48064, -4355,
1832     1510,  1686, -4355, 70632,  1686, 70632,  1686, 70632,  1686, 70632,
1833     1686, 70632, 70632, 70632,  1686, -4355, -4355, -4355, 70632,  2364,
1834    70632, 70632, -4355, -4355, -4355, 61084, 53272, 61518, -4355, 70632,
1835    -4355,    82,   956, -4355, -4355, 90958,  2798, 53272,  2678, -4355,
1836     1618, -4355, -4355, -4355, -4355, -4355, -4355,  2624, 70632,  2680,
1837     2687, 61084, 53272, -4355, 81048, 56310,  2584,  2393, -4355, -4355,
1838    -4355, -4355, -4355,  1654,  2842,   293,  2845, 28713,  2398,   228,
1839      228,  2408,  2698, -4355, -4355, -4355,   238,  2409,  2410, -4355,
1840      243,   243,  2412,  2415, -4355,   279,  2417,  2418,  2854,  2867,
1841      282,  2421,  2423,  2424,  1709,   228, 28713, -4355,  2425,   243,
1842     2426,  2428,  2430,  2879,  2433, -4355,  2883,  2441,   302,   319,
1843     2443,  2444, -4355,  2412, -4355,   280,  2445,  2446,  2448,  2454,
1844     2456,  2458,  2459,  2461, 28713, 28713, 28713, -4355, 25105,   -34,
1845      956, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,   287,
1846     2796, -4355,  2472, -4355, -4355,  2633, -4355, -4355, 28713, -4355,
1847    -4355,   644, -4355,   292, -4355, -4355, -4355,   -34,  2705,  2453,
1848    -4355, -4355,  1360,  2465, -4355,  1879, -4355, -4355, -4355, -4355,
1849    -4355, -4355, 55442,  2873, -4355,   213,   956,   732,   805,  2821,
1850    47196, 47630, -4355, -4355,  2700, -4355, 70632, -4355, -4355, 28713,
1851    45036, -4355,   -34,   145, -4355, -4355, -4355, -4355,  1666, -4355,
1852    -4355, -4355,   485, -4355, 12240, -4355,  1704,  2012, 70632, 70632,
1853     2884, -4355, -4355, -4355,  2014, -4355, -4355,    51,    51, 28713,
1854       51,  1076,  1200, 27360, 29164,  2764,  2662,  1276,   230,  2770,
1855    -4355,  2670,  1451,  1805, 65424, 70632, 81482,  2586, -4355, 45904,
1856     1595,   -34,  2552,  2553,  2603, 49800,  2476,  2556,  2557,  2609,
1857    -4355,  2721, -4355, -4355,  2569,  2579, 81916, -4355, -4355,   902,
1858    -4355, -4355, -4355,   902, -4355,  2510,  1520,  1090,   236,  2580,
1859      240,   218,  2872, -4355,  1403,  2631, -4355, -4355, -4355,  3835,
1860    70632,  2817,  7713,  2701,   329,  2713,  2649, -4355, -4355,  2766,
1861     2606, 70632,  2607,  2734,   329,   275, 82350, -4355, -4355, -4355,
1862    -4355, -4355, -4355,  3272, 23810, -4355,  2611,  2593,  2625, 70632,
1863    58480,  1269,  2732,  2735,  1589,  1741,   849,  2681, 70632,  1645,
1864     2744, 70632,  2554,  2630,  2632,  2835,  2558,  1811,  2929,  2562,
1865    -4355, -4355, -4355,   414,   415,  2741, -4355,  2846,  2886,  6186,
1866     2637,  2639, 89270,  1359, 43732, 70632, 70632,  2926,  1331,  2654,
1867    -4355, -4355, -4355,  1331, 70632,  2663,  2664, 70632,   329, -4355,
1868     2985,   329,   329,  1628,  2990,  2668,   365,  1797,   -19,  2562,
1869     2254, -4355,  2674,  2679,   290, -4355,  2782, -4355, -4355,   909,
1870     2686, 65424,   426,  1950,  2562,  2689,  2690,  2558,  2558, 70632,
1871    70632, 70632, 70632, 70632,   183,  3010,  3015,  2691,   196,  2730,
1872     2602, -4355,  1331, 52404,  2692, -4355,  1331, 70632,  2693,  2052,
1873     2562,  1523,   100, -4355, -4355, -4355,  1432, -4355, 70632, -4355,
1874    70632, -4355,  2037, 90958,  2802,  2861, -4355,  2657, -4355,  2051,
1875      329, -4355, 70632, 70632,  2082,  2810,  1089,  1082, 90958,  2816,
1876     2875, 70632,  2880,  2708,  2673,  2699, 46333, -4355,  2265,  2634,
1877     3057, 70632, 49800, -4355,  3070,   902, -4355, 90958,  2840,  2953,
1878    -4355, 70632,  2858,  2659, -4355,  2998,  2711, -4355, -4355,   556,
1879    70632, -4355,  2969, 53272,   799,   956,  2703, 53272,  2891, 70632,
1880    70632, 70632, 70632, -4355, -4355,  2860,   877,   131, -4355, 52404,
1881    -4355, 70632,  2871,  2254,  2887,  3083,   617,  1752, 82784,  2965,
1882    -4355, 83218,  2672,  3091, 90958,  2922, -4355,  1734, -4355,  2807,
1883    -4355, 57178,   347, -4355, -4355, -4355, -4355, 90958, 70632, -4355,
1884     2684, -4355, -4355, 28713, -4355, -4355, -4355,  2188, -4355, 90958,
1885     2361,  2361, -4355, -4355,  3104,  2765,  2767,  2188, -4355,  2188,
1886    -4355, 90958, -4355,  2694,  2695,  2805,  2188, -4355,  2771,  2772,
1887     2773, -4355,  2697,  2781,  2188, -4355, -4355,  1731, -4355, 83652,
1888    57178,   347, 53272, 53272,  3001,   299,  3016,  2763,  3021,  2768,
1889    43732,   347,   339, 70632, 70632, 53272, 70632, 70632, 70632, -4355,
1890    70632, -4355, -4355, -4355, -4355, 90958, 70632, 70632, 90958, -4355,
1891    53272, 52404,  3022,  3023,   347, 70632, 70632, -4355, 12240,  1714,
1892    84086,  1510, 55876, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1893    -4355, 70632, -4355, 70632, -4355, 70632, -4355, 70632, -4355, 70632,
1894    -4355, -4355, -4355, 70632, -4355, 70632,  1721, -4355, -4355,  1759,
1895      814, 70632, 70632,   214, 57178, 70632,  2911, 70632, 70632, 70632,
1896    70632, 70632,  2792,  2465,  1118, -4355,   223,   772, 65424,  2919,
1897    -4355, -4355,  1788,  1867,   959, 70632,   178,  1884, -4355, -4355,
1898    61518, 60650,  3011,   169, 70632, -4355, -4355,  3332, 28713,   -34,
1899    26007, -4355, -4355, 12240,  2759, 28713, 28713,  2722,  2188,  2188,
1900    -4355,   905, 28713, 28713, 28713,  2188,  2188,  9899, 28713, 43732,
1901    28713, 32772, 22032, 28713, 28713, 25556, -4355, 28713,  2936, 34564,
1902    28713,   805,  2940, 28713,   805,  9899,  3169,  3169,  2669,  4345,
1903     2725,   -34, -4355,  2188,   951, -4355,   220, 90958, 28713, 28713,
1904    28713, 28713, 49800,  2812,   215, 70632, 28713,  2740,  1534, -4355,
1905    28713, -4355,  2742, 28713,  2813,  1017, 28713, 28713, 28713, 28713,
1906    28713, 28713, 28713, 28713, 28713, -4355, 35436,   297,  3027,  3038,
1907      519,   550, 68896, 26458,  3044, 21128, -4355,   274,  3044, -4355,
1908    -4355, -4355, 70632,  2873, -4355, -4355,  2826, -4355, -4355, -4355,
1909    -4355, -4355,   296, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1910     2749, -4355, -4355, -4355, -4355,  2749, -4355,  2753,  8935,  2750,
1911    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1912    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1913    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1914    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1915    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1916    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1917    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1918    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
1919    -4355, -4355, -4355, -4355, -4355, -4355,  3035,  3036,   347, 70632,
1920      370, 62386, -4355, 26909, -4355,  1789, -4355,  2760, -4355,  3014,
1921    -4355,  2762, -4355,  9056,  3014, -4355, -4355, 33668,  2874,  3012,
1922     2959, -4355, -4355, -4355,  2769, 12240, 29615, 29615, -4355,  1502,
1923    12240,  1688, -4355, -4355, -4355, -4355, -4355, -4355,   781, -4355,
1924    70632,   714,  2764,   230,  2824,   950,  3190, 70632, -4355, 39799,
1925     2962, -4355,  3175, -4355, 91802, -4355,  2777, -4355, 91380, 87992,
1926    -4355, -4355,   947, -4355,  1139,  2856,  2863,  2907, 53272, 70632,
1927    70632, -4355, 49800, 53272, 70632, 70632, -4355, 53272, 70632, 70632,
1928    -4355, -4355, -4355, -4355, -4355, 48498,    67, 60650,  2920, 59782,
1929    -4355, -4355,  2793, 70632,  2849,  3043,  3045,    -4, -4355, -4355,
1930    84520, -4355,  3003, 53272, 70632, 70632, 28713,  3004, 70632, 70632,
1931    -4355,   251,  2876,  2885, -4355, 70632,  2888,  3028, 57178,  2809,
1932    70632, 70632, 90958,  2889,   734, 57178,  2855, 44167, 70632, 70632,
1933    70632, 70632,  2938,  3111, 90958, 70632,  3061,  1398, 65424,   189,
1934     2373,  2562,  3025, -4355,  3128,  1225, -4355, 53272, -4355, 70632,
1935     3013, -4355, -4355, -4355, 69330,  3232,  2931, -4355, -4355, 84954,
1936    -4355, -4355, -4355,  1794, -4355, 53272, 53272, 70632,  8264, 85388,
1937      964,  3034, -4355, -4355, 90958, -4355, 70632, 70632, 70632,  3139,
1938     3071, 70632, 62820, 85822, 86256,  1199,  1305,  3072, 70632, 63254,
1939     3074, -4355,  2963, 70632, -4355, -4355, 50234, 53272, 70632,  1184,
1940    49800, -4355, -4355, 70632, -4355,  3032,   770, -4355, 70632,  3638,
1941    -4355, -4355,  2916,  2932, 70632,  3041,   430,  2376,  2562, 70632,
1942    70632,  2847,  1821,  2933,    22, -4355,  3042,    77, 70632, 78010,
1943    -4355, 53272,   972, -4355,  2996, 53272, 70632, 10451, -4355, -4355,
1944      329, -4355, -4355, -4355, -4355, -4355, 70632, 70632,   329, 70632,
1945      329,   252, -4355, 53272, 70632, -4355, -4355, -4355, 70632,  8529,
1946    70632, 70632, 70632, 70632, 53272, 70632, -4355, -4355,  1238,  1181,
1947       94,  1433,   840, 70632,  3133, 70632, 86690, 53272, 70632, 70632,
1948    70632,  1449, -4355, -4355,  2975, -4355, 53272,   972, -4355,  8879,
1949    70632, 70632,  2939,  2941,   155,  3020, -4355, -4355, -4355, -4355,
1950    -4355, -4355,  3110,  3284, 87124,   433, -4355,  3119,  3121,  2928,
1951     2930,  3126, 70632,   433, 70632, -4355, -4355, -4355, -4355,  3122,
1952    70632,   433,  3130,   433,  3040,  3078,   150,  3149,  2897,  1826,
1953    -4355, -4355, 28713, 90958, -4355,  1827, -4355,  2898,   877, -4355,
1954    -4355, 49800, 70632,   187,  1072,  3199, 58914,   886,  3188, 70632,
1955     2934, 70632,  3192,   886, 70632, -4355,  1598, 60650, -4355, -4355,
1956    -4355, -4355, -4355, -4355, -4355, -4355, -4355,  3187, -4355,   956,
1957     2265,  2265,  2265,  2265, -4355, -4355, -4355, -4355,  3092,  1739,
1958    -4355,  2896,  2265, 70632,  3017,   886,  2899,  3209, -4355,  2254,
1959     3213,  1126, 70632, 58914,  1775,  2942,  3112,  3321,  1752,   956,
1960     3116,  3106, -4355, 24232,  4937,  3107,  3156, 56310,  3196,  3197,
1961     3217, -4355,  2037, -4355,  3337, -4355, 28713,  1834,  2921,   217,
1962    -4355, -4355,  2923,  2695,  2943,  2944,  2924,  2927, -4355,  2188,
1963      190, 70632,  2935,  1280,   128,  3047,  2188,  3146,  2937, -4355,
1964     3241,   347,  2051, -4355,  2331, -4355, 70632, -4355, 70632, 70632,
1965    70632, 70632,  2082, -4355, -4355,  3125,   347,  2331,  3127,   347,
1966      347, -4355,  3178,  3132,   347,   217,  2331,  3052,  3239, 56310,
1967    -4355,   299, -4355, -4355, 28713,  3148,  1752, -4355, -4355, -4355,
1968    -4355, -4355, -4355, -4355, -4355,  1835, -4355, 70632, -4355,  3214,
1969     3215,  3216,  2946,  2948,  2977, 70632,  2950, -4355,  2946,   329,
1970     2946,  2465,  2465,  2946,  2948, 52838,  3377,  3236, -4355,  3026,
1971     2955,  3251,   180, -4355,   692,    42,  3176, -4355, -4355, -4355,
1972    -4355, 90958, -4355, 53272,  2994, 70632, 70632, -4355,   116,  3153,
1973     2957, 52838,  3363,   347, -4355, 57178, -4355, -4355, 90958,  3037,
1974     3051, 57178,  3164,  3009, -4355, -4355, -4355, -4355, -4355, 90958,
1975    -4355,  3219, 70632,  1845, -4355, -4355,  1568, -4355,  1624, 28713,
1976      177, -4355,  9682,  1847, 28713,  2967,  2968, -4355, -4355, -4355,
1977    -4355, -4355, -4355, -4355,  2971,  3264, -4355,  1855,  1862,  1878,
1978     2974,  2976,  3082,  2978, 10964,  2979,  2981, 32772, 32772, 25105,
1979     1247, -4355, 32772,  2982,  3158,  1882,  9583,  2980,  2986, 11322,
1980    27811, 28713, 27811, 27811, 11440,  2980,  2987,  1883, 49800,  3160,
1981    12026,  1900, -4355, 28713, 49800,  4193, 28713, -4355, 28713,  2988,
1982    -4355, -4355,  2193,  2193,  2193,  9899, -4355,  3007, -4355, 32772,
1983    32772, -4355,  3189, 25105, -4355, -4355,  3285, -4355, -4355,  1189,
1984    -4355,  2992, -4355, -4355,  4936, 43732,  7768, 28713,   232, 28713,
1985     2740, 28713,  3073,  2193,  2193,  2193,   568,   568,   249,   249,
1986      249,  1849,   550, -4355, -4355, -4355,  2993,  2995,  2999,  3183,
1987     3002, 28713, -4355,  1889,  2002, 70632,  2736,  3681,  4358, -4355,
1988    -4355, -4355, 36309,  3039, 28713, 28713, 28713,  3005, -4355,  1851,
1989    12240,   581, -4355,   309,  3039, -4355,  1432,  2188,   951, 48064,
1990    -4355, -4355, 28713, -4355, -4355, -4355,  2014, -4355, -4355, -4355,
1991    -4355, -4355, 70632,  1867, 28713, -4355, -4355,  1491,  3018,    65,
1992     3200,  2078,  2078,  1502,  3204, -4355, -4355,  3069, -4355, 28713,
1993     1755, -4355,  1846, -4355, -4355, -4355, -4355,  2465, -4355,  3243,
1994    -4355, -4355, -4355, 36309,  3055,  3053, 38926,  3207, -4355, 70632,
1995    -4355, 70632,   118, -4355, -4355, -4355,  3029, -4355, -4355, 87992,
1996     1637, -4355, 91380, -4355, 91380, -4355,  1637,  3420, -4355, 87992,
1997     1593, 53272, 70632, 70632, -4355, -4355, -4355, -4355, -4355, -4355,
1998    -4355, -4355, -4355, -4355, -4355, -4355, -4355, 53272, 53272,  3218,
1999    70632,  3210,  3221, 28713,   741, 70632,  3024,  3030,  1133,  3290,
2000    70632, -4355,  3333,   347, -4355, -4355,  3103, -4355, 12240, -4355,
2001    -4355, -4355, -4355, -4355, 53272, 70632, -4355, 56310, -4355, 70632,
2002     2037, 90958, -4355, -4355, -4355, 70632,  3060, 70632, -4355, 70632,
2003    70632, 70632,  2082, -4355, -4355, -4355, -4355,  1146, 90958, -4355,
2004    -4355, 70632, 70632,   671,  3114,  3115, 70632, -4355,   887,  2782,
2005     9090, 70632, 70632, 70632,  3294, 70632, -4355, -4355, -4355, -4355,
2006     3248, -4355, -4355, 87992, -4355,  2331,   638,  3118,  2562,  3246,
2007    -4355,  3361,  3245, -4355,   719, -4355, 70632,  3174, -4355, -4355,
2008    -4355, -4355,  3365,   347,  3368,   347, 70632, 70632, 70632, 70632,
2009     3181, -4355, -4355, -4355, -4355,  3184,  3298, -4355, 49800, 49800,
2010    49800,  1904, -4355, -4355,   956, -4355, -4355, -4355, -4355, -4355,
2011    -4355,  3336, -4355,  1906, -4355,   760, -4355, -4355, -4355, -4355,
2012    -4355, -4355, 53272, 70632,  9647,  3373, 70632, 70632, 70632,  1678,
2013    -4355,   938, 90958, -4355, 89692, 53272, 70632, 49800, 70632,  3145,
2014    53272,  3135, -4355, -4355, -4355,  3307,  3255, -4355,   825,  3256,
2015    53272,  3141, -4355,  3162, -4355, -4355,  3166,  2440,  2562,  2254,
2016    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,  1230,   444,
2017     2462,  2562,  3167, -4355,  3168, -4355, -4355, -4355,  3317,  3320,
2018     3322,  3180,  3182,  3227,  3191,  3193,  3230, -4355,  3198,  3233,
2019     3201,  3238,  3299,  3202,   347, 90958,  3326,   956,  3224,  3424,
2020      347, -4355,  3203, -4355, -4355,  3527, -4355, 70632, -4355,  3205,
2021     2594,  2562, -4355, -4355, 53272, 70632, -4355, -4355, -4355,   433,
2022    90958, 70632,  3371, -4355, -4355, -4355,   433,   433, 70632, 70632,
2023      433,  3374, -4355,  3378, 70632,  3380, -4355,   433, -4355, -4355,
2024      225, -4355, -4355, -4355,  3040,  3406, 41557, -4355,  3580,  4648,
2025     3134, -4355, 49800, 41557,  1844,  2010,   153,   -19, -4355, 56310,
2026    70632, 56310, -4355,  1072,  3245, 70632, 70632,  3137,  3129, -4355,
2027    -4355, -4355, -4355, 53272,   688, 53272,  2188, -4355, -4355,  3206,
2028    -4355, 70632,  1752,   808,  3208,  3551,  2675,   799,  3283,  1580,
2029     3493,  2942, -4355, -4355, -4355, -4355, 70632, 70632,   877,   956,
2030    -4355,  3143,  3142, -4355, 70632, 70632, 70632, 70632, 70632,  2994,
2031     3147,  3144, 90958,    84,  3342,  3344,  2558,  3567,  3463,  1867,
2032     2942,  3231,  3464, 70632, -4355,  1923,   146, -4355,   956, 56310,
2033    88414,  3456, -4355,  6776, -4355, -4355,   897, 70632,  3443, -4355,
2034    -4355,  1867,   347, 90958,  1927, -4355, -4355, -4355,  2188, -4355,
2035    -4355,    -9,    -9,  3161, -4355,  3163, -4355,  3552, -4355, -4355,
2036    -4355, -4355, -4355, -4355,  3165, -4355, -4355, 70632, -4355,   347,
2037      299,  3222,   347,  3223,   347,   347, 70632, -4355, 70632, -4355,
2038    -4355, 70632, 70632, -4355, -4355, 70632, 52404,   347, -4355, 12240,
2039     3474, -4355, -4355,  3291,  3293,  3297, 70632,  2946, 57178, -4355,
2040     3170, 53272,  1219, -4355, -4355,  3354, -4355, -4355, 65424,  3296,
2041    -4355, -4355, -4355, -4355,  3489,  3490, -4355, -4355, -4355,   248,
2042    -4355, -4355, -4355, 53272, 61084,   439, 53272, -4355,  2037,  3437,
2043    -4355, -4355,  2051,   329, -4355,  3439, 70632,  3440, -4355, -4355,
2044    -4355,  3211, 12111, 28713, -4355,  3510, 90958, -4355,  4731, -4355,
2045    -4355, -4355, 28713, -4355, -4355, -4355, -4355, -4355, 28713, -4355,
2046    28713,  3485, -4355, 22484,  3637,  3637,  3194, 90958, 32772, 32772,
2047    32772, 32772,  1444,  2426, 32772, 32772, 32772, 32772, 32772, 32772,
2048    32772, 32772, 32772, 34119,   774, -4355,  3379, 28713, 28713,  3495,
2049     3485, -4355, 90958,  3220,  2980,  3228,  3229, 28713, -4355, -4355,
2050     1932, 35000,  3234, 49800, -4355, 28713, 10809,  1934,  3247, 12559,
2051      -34,  5347,   956, 28713,   595,  1446, 28713,  1939, 28713,  3494,
2052    -4355, -4355, -4355,  3225, -4355, -4355, 90958, 28713,  3235,  5233,
2053    32772, 32772,  5296, -4355,  5711, 28713, 25105, -4355,  3390,  3249,
2054    40235, -4355, 22936,  3242,   794,   794,   794,   794, -4355, 70632,
2055    70632, 70632, 36745,  3499, 35872, 69764,  3244,  2334, -4355, 69764,
2056    70198, -4355,  3237, -4355,  3240,   -34, 28713,  3505,   611,   611,
2057     3390, -4355, 28713, 28713, 28262,  3250, -4355,  3505,   732,  3253,
2058    -4355, -4355, 12240,  3259, -4355, -4355,  3254, -4355,  3252, -4355,
2059     3018,   245, -4355, -4355, -4355,  3400, -4355, -4355, -4355, -4355,
2060     3244, 30066,  3357, -4355,  1947, -4355, -4355,  3598,  3357, -4355,
2061    -4355,  1952, 39799,  3055, 26909,   -34,  1962,  1601, -4355, -4355,
2062    87992, -4355,  3300, -4355, -4355, -4355,  2331,  2331,  1134,  2946,
2063     3530,  1134,  5390, -4355, -4355, 37181, 70632, 70632, -4355, 70632,
2064     1968,  1665, 70632, -4355, 70632, -4355, -4355, -4355, -4355, -4355,
2065     3652, -4355, 70632, -4355, -4355,  3303,  3304, -4355, 70632, 70632,
2066    70632, 70632,  3482, -4355, -4355,  2036, -4355, -4355, 53272, 70632,
2067    -4355, -4355, -4355,   451,  2761,  2562, -4355,  3316, -4355, -4355,
2068    -4355,  3503, -4355,  3644,  3330, 70632,  3570, 70632,  3260, -4355,
2069     1665,   740,  2558,   979, -4355, -4355,  3328, -4355, -4355, 70632,
2070    -4355, 70632, -4355, -4355, -4355, -4355, -4355, -4355, -4355,  3384,
2071    -4355, -4355, -4355, -4355, 50234, -4355, -4355, 70632, -4355, 49800,
2072    41557, 49800, -4355,  1246,   452,  2804,  2562, 70632, -4355,  3340,
2073    -4355,  3341,  3343,  3393,   846,  1024,  3345,  3346,  3396,  3270,
2074     3273,  3276, -4355, -4355,  1979, -4355,  3292,  3423, 70632,  2331,
2075     3282,  3318,   260,   956, -4355, -4355,   956,  2331,   956, 70632,
2076    70632, 70632,  3685,  3370, 70632, 70632, 70632, 70632, 70632, 70632,
2077     3585,   962,  1801, 53272, 70632, 70632, 53272, 70632, 70632, 70632,
2078    70632, 70632, 70632,  3596, 70632, -4355,  3671,  3600,  1622,  3642,
2079     3362, 70632, -4355, 70632,  2782, 70632, 70632, -4355, -4355, -4355,
2080     3295,  3545,   433, -4355, -4355,  3548,  3549, -4355,   433,   433,
2081     3550,   433, -4355, -4355, -4355,   -19, -4355,   225, 70632,  3252,
2082      414,   415, -4355, -4355, -4355, -4355, -4355, -4355,  2897, -4355,
2083    -4355,  1800, -4355, -4355, 70632,  3306, 70632, 70632, 32772, -4355,
2084     1541,   244, -4355,  3547, 70632,  3338, -4355, -4355, -4355,  3466,
2085    70632, -4355, -4355, -4355, -4355, -4355,  3308, -4355,  3575, 58914,
2086     2331, 53272, 53272,  2331, -4355, 90958,  3310,  2942, -4355, -4355,
2087    -4355, -4355, -4355, -4355, 53272,  3135, 53272,   799,  1304, 87558,
2088     3335, -4355,  3309,  3610, -4355,  3313,  3314, -4355, -4355, 70632,
2089     3245,  1987,  2254,  3735,   627,  1727, -4355, 60216,  1775,  3575,
2090    -4355, -4355, -4355,  3697,  3405, -4355,  1867, 70632,  2994,  3405,
2091      956, 70632,  2849, -4355, 87992, 28713, 28713, -4355,  3319, -4355,
2092     3324,  8770, -4355,  3388,  3331,  2265, -4355, -4355, -4355, -4355,
2093    -4355, -4355,  3403,  3334, 70632, -4355, -4355,  3327, -4355,  3348,
2094    -4355, -4355, -4355, -4355, -4355, -4355,   347, -4355, -4355, 70632,
2095    -4355, 70632, -4355, -4355,   347,   347,   347,   347, -4355,  3447,
2096    -4355, 70632, 70632, 70632, 70632,  2946, -4355,   329, -4355,  3621,
2097    52838, -4355, -4355,  1991, 70632, -4355, -4355, -4355,  3687,   169,
2098     3633, -4355, -4355,  3592,   834,  3599,  3602,   834,  3604,   834,
2099    -4355, 28713, 12240, -4355,  3355, -4355, 12240,  5424, 12240,  3495,
2100    -4355,  1996, 28713, -4355,   884,   884,   884,  1175,  3639, -4355,
2101     1173,  3358,   884,   884,   884,   352,   352,   203,   203,   203,
2102     3637,   774, 12240, 12240, -4355, -4355,  3359, -4355, -4355, -4355,
2103     2980, -4355, 30517,  3509,  3756, -4355, -4355, -4355,  3398,  3399,
2104     3366, -4355, 28713, 30968,  3360, 91802,  3554, -4355,  1537, 28713,
2105    28713,  2520, -4355, 10210, 28713, 90958,  2011,  2520,   411, 28713,
2106     2279,  2576, 28713, 28713,  5848,  5916,  3369, 28713, 88836, -4355,
2107    -4355, -4355,  2023, 28713, 70632, 70632, 70632, 70632, -4355, -4355,
2108    -4355, 69764, 70198,  3375, 23373,  2334,  3372, 70632, -4355, -4355,
2109     3376, 36309,  3611,  3553, -4355, 36309,  3553,  1591,  3553,  3614,
2110     3460, 40671, -4355, -4355,  3383,  3564, -4355, 21128,  1692, 12240,
2111     3780,  3668, 28713,  3385,  3387,  3389, 12240, 12240, 28713, -4355,
2112      956,  3668,   956, -4355, -4355, 43732, -4355, -4355, -4355, -4355,
2113     3588, 12240, 26458, -4355,  1867, 70632,   -34,   115, -4355,  3404,
2114    70632, -4355,  3357, -4355, -4355,  3461,  2055, -4355, -4355, -4355,
2115    -4355, -4355,  3473, 60650,  3691, -4355, 28713,  2075, -4355,  3434,
2116     3784,   158,  2086,  2088,  1665, -4355,  3338, -4355,  1545,  3670,
2117      374, -4355,   347, -4355, 90958, -4355, 70632, 70632, -4355, -4355,
2118    -4355, -4355, 70632,  2476, -4355, -4355, 70632, 70632, 70632, 70632,
2119    -4355, 53272, 70632, -4355, 70632, -4355, 49800,  2010,  3607, -4355,
2120    -4355,  3608,   260, 70632, -4355, 90958,   347,   347, -4355, -4355,
2121    -4355, -4355, -4355,  3419,  3810,  3497, 70632, 70632, 70632, -4355,
2122    70632, 53272, 70632, 70632,  2188,  2188, 90958,  3410, -4355,  2188,
2123     2188,  3411, -4355, 53272, 70632, 70632, -4355, -4355, -4355, -4355,
2124    49800, 41110,  3487, -4355, 28713,  3806, -4355, -4355, -4355, -4355,
2125    -4355, -4355, -4355, -4355, 53272, 70632,  3496, -4355,  3498, -4355,
2126    -4355, -4355, 70632, 70632, 70632, 70632,  3729, -4355, -4355, -4355,
2127    -4355, -4355, -4355, -4355, -4355, -4355, -4355, 70632, -4355, 70632,
2128    -4355, -4355,   956,   956, 90958,   347,   347, -4355, -4355, -4355,
2129     3673,   433, -4355,   433,   433, -4355, -4355,   433, -4355,  3425,
2130      224, -4355,  1665,   729,  3712,  3717, 28713, -4355,   206,  1175,
2131    -4355, -4355, -4355, -4355,  3338,  1752,  3478, 57178,   346, -4355,
2132     3699,   187, 58914,   258,  3428,  3555, -4355,  2331,  2331,  3484,
2133    70632,  3850,  2331,  3318, -4355,  3640,   686, 70632,  3759,  3475,
2134    -4355,   956, -4355, -4355,  2942, -4355,  1511, 70632, 58914,  2994,
2135     2099, -4355, -4355, -4355,  3470,  3344,  1775,   790, 70632, -4355,
2136     3472,  3863, -4355, -4355,  3741,  3641,  3450, -4355, 12240, 12240,
2137      956, 92224,  6776, 90958,  3750, -4355, 70632,   151,  3716,   347,
2138    -4355, -4355,   347,   347, -4355, -4355, -4355, -4355, 70632,  2946,
2139     2946,  2946, -4355,  3645, -4355, -4355,  3707, -4355,   347, 52838,
2140      834, -4355, -4355, -4355,   834,   834, -4355,   834, -4355, 12240,
2141    -4355, -4355, -4355, -4355,  5973, 32772,  3751, -4355,  3458, 90958,
2142    -4355,  3462,  2100,  2104, 34564,  3606, -4355, -4355, -4355,  6042,
2143     3512, 12240,  3561,  3465,  3467,  2520,  2520, 10210,  2108, -4355,
2144     2520, 28713, 28713,  2520,  2520, 28713, -4355, -4355,  6432,  3636,
2145    -4355, -4355,  6496, -4355, -4355, -4355, -4355, -4355, -4355, 50668,
2146    69764,  3471, 70632,  2334, 36309, -4355, -4355,  2006, -4355, 36309,
2147     3713, -4355, 36309, 57178, -4355, 70632,  3476, 70632, -4355,   581,
2148    31419, 28713,  3500, -4355, -4355, -4355,  3390, -4355,  3500, -4355,
2149     3477, 70632,  2453, -4355, -4355,  3844, 37181,  3803,  3479, -4355,
2150    -4355, -4355, -4355, 52838,  3667, 52838,  1665,  6515,  3338, 37181,
2151    44602, 70632, 70632, 70632,  3624,  3338,  3478, -4355, -4355, -4355,
2152    -4355, -4355, -4355,  3480, -4355, -4355, -4355, -4355,  3557, -4355,
2153    -4355,    46,  2919, -4355,  2115, -4355, -4355, -4355, -4355, -4355,
2154     3671, -4355, -4355, 41557, 53272, 70632, -4355,  3560, -4355, -4355,
2155    -4355, -4355, -4355, 38490, 43732, -4355,   846,  3491,  3492,  1024,
2156    -4355, -4355, -4355, -4355, -4355, -4355, 70632,  7097,  3511,   528,
2157     2919, 70632, 70632,  1264,   927,  1512,  2946,  3776, -4355, -4355,
2158    -4355, -4355,  3671, -4355, -4355,   433, -4355, -4355, -4355, -4355,
2159    49800, -4355,  1726, -4355,   -19,  3822, 57178,  3905,  3905, 70632,
2160    -4355,  7242,  3692, -4355,  3478,  3719,  3758, -4355,  3515, 70632,
2161     3655,  3516,  3504,   257,   257, 70632, 70632, 70632,  2116,  1867,
2162    -4355,   799,  3804, 58914,  3245, -4355,  1497,  3517,  3821, -4355,
2163     3930, 70632,  2994,  3147,  3519, -4355, -4355, 60216,  3710,  3405,
2164     3344,  3654, -4355,  3656, -4355,   789, -4355,  1867, 70632, 70632,
2165    37181, -4355, 91380, -4355,  2120, -4355, -4355, -4355,  3590,  3039,
2166     3632,  3634,  3529, 70632,   103, -4355, -4355, -4355, -4355, -4355,
2167    70632, -4355,   439, -4355, -4355, -4355, -4355, -4355,  2502, 32772,
2168    90958,  2129, 28713, -4355, 28713, -4355,  3935, -4355, -4355, -4355,
2169      640, -4355, -4355, -4355,  2520,  2520,  2520, -4355,  3936,  3390,
2170    -4355, -4355,  2131,  3954, -4355, 70632,  2142, -4355, 28713,  3539,
2171    -4355, -4355, 36309,  2006,  3540,  2144, 70632,  2152, 90958,  3541,
2172     3556,  1020,  3558, 21580,  3537, -4355, -4355, -4355, -4355, -4355,
2173    12240, 12240, 70632, -4355,  3544, -4355, -4355, -4355, 70632,  2156,
2174    -4355,    81, 24654, -4355, -4355,  1219,  1134,   439,  3784,  3478,
2175    -4355,  3562, -4355, -4355, -4355,  1108,  1108, 70632,  3478, -4355,
2176    -4355, 70632,  3635, -4355, -4355, 49800,  3601, -4355,   967,  2919,
2177    70632, 90958,  2051,   113, -4355, 90958, 90958, -4355, -4355, -4355,
2178    28713,  3646, -4355, -4355, -4355, -4355, -4355, 70632, 70632, 70632,
2179    70632, 70632,   347, -4355,  2162, -4355, 37617, -4355, -4355,  2647,
2180      956,  2647,  1707, -4355, -4355,  2647, -4355,  2647, -4355,  3425,
2181      956,  3905,   338, -4355, -4355, -4355,  1772,  3757, -4355,   965,
2182     3742,  3648,  3565, -4355, 57178,  3999,  3575, -4355, -4355, -4355,
2183    -4355, -4355, -4355, -4355, -4355,  2167,  3245,  3857,  2942,  3472,
2184    70632, -4355, -4355, -4355, -4355, 28713,  3714,  1867,  1727, -4355,
2185     1775,  3575, -4355, -4355, -4355,  3405, -4355, -4355,  3942,  3744,
2186     3946,  2994, -4355,  2849,  2191, -4355,  8770, 92224, 90958,  3897,
2187     3603,  3605, -4355, -4355,  3619, 70632, -4355, -4355,  3245, -4355,
2188     2502,  2197, -4355,  2202,  2203,  3722,  3626, -4355, 28713,  1177,
2189     3237, 50668,  3579, -4355,  2204, -4355, 12240, 70632, -4355, -4355,
2190    28713, -4355,  2212, -4355, -4355, 28713,  3581, 28713, -4355, 31419,
2191     3576, -4355,  4001, -4355, -4355,  3039, 37181, -4355,  3703, -4355,
2192     3886, -4355, 70632,  3643, 43732,  3018,  3018,  1752, -4355,  1665,
2193    -4355, 70632, -4355, 28713, -4355,  3679, -4355, -4355,  2227, -4355,
2194     1262,  3747,  3896,  2236,  2237,  7446, 70632,  2948,  1512,  2948,
2195    -4355,  2946, -4355, -4355, 49800, -4355, 51102, -4355, -4355, -4355,
2196      956, -4355,   956,  3800, 70632, 46762,   956,   956, -4355, -4355,
2197    -4355, -4355, -4355,  3926,  3870, -4355, -4355, -4355, -4355,   179,
2198    -4355,  3797,  3799, 70632, -4355,  3609, -4355,  2238,  3724, -4355,
2199    -4355, 70632,  4028,  4029, -4355,   709,  7802, 57178,  3472,  2994,
2200     3344,  1775,  2010, -4355,  3805, -4355,  3807, -4355,  3613,  2942,
2201     6776, -4355, -4355,   317,  3906,  3908, -4355, -4355, -4355, -4355,
2202    -4355, -4355, -4355, -4355,  2980, 31870, 31870,  3617, -4355, -4355,
2203    70632, -4355,  2245,  2257, -4355,  2258, 31419,  2259, -4355, 70632,
2204     3620, -4355, -4355, 39799, 52838,  1108,  3622, -4355,  3629, -4355,
2205    -4355,  3719,  1665,  2919, 12240, 70632, 57178,  4022, -4355, -4355,
2206    -4355,  3747, -4355, -4355, -4355,  2919, 70632, -4355, -4355,  2285,
2207    -4355, -4355, -4355, 70632,  3309, -4355,  3309, -4355, -4355,  3755,
2208    -4355,   256,   256,  3966, -4355,  3690, -4355, -4355,  3630, -4355,
2209     4083, 70632, -4355,   846,  1867, 58914, -4355,  3647, -4355, -4355,
2210     3405,  3344, -4355, -4355, 37181,  3405, -4355, -4355, -4355,  2128,
2211    57178, 57178, 33223,  3767,   868,  9663, -4355, -4355, -4355, -4355,
2212     2286, -4355,  3781, -4355,  2291, -4355, -4355, -4355,   912,   439,
2213     3018, 28713,  1665, -4355,  3742, -4355,  2919,  2051, 70632, -4355,
2214    -4355, -4355, -4355, 51102,  3309,  3475, -4355,  4071, -4355,   242,
2215    -4355, -4355, -4355, -4355,  3245,  3410,  3472, 49366, -4355,  3405,
2216     2293,  3039, -4355,  2484, -4355, -4355, -4355, -4355, -4355, -4355,
2217    -4355,  3649,  3653,  4061, -4355, -4355, -4355, -4355, -4355, -4355,
2218     3651, -4355, -4355, -4355, -4355, -4355,  8425, -4355, -4355, -4355,
2219    -4355, -4355,  3953, -4355, -4355, -4355, -4355, -4355, -4355,  2299,
2220    -4355, -4355, -4355, -4355, -4355,  2942, -4355,  1798, -4355, -4355,
2221     1854,  2024,  3726,  3950, 32321, 28713, -4355,  1665,  3801, -4355,
2222    49366,  3405, -4355,  2484,  3761,  3763, -4355,  8724, 57178, -4355,
2223     3039, -4355,  3698,  3700, -4355,  3662, -4355,  3956,  3958, 49366,
2224    57178, 57178,  2300, -4355, -4355, -4355
2225 };
2226 
2227   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
2228      Performed when YYTABLE does not specify something else to do.  Zero
2229      means the default is an error.  */
2230 static const yytype_uint16 yydefact[] =
2231 {
2232     1499,  1283,   570,  1368,  1367,  1283,   255,     0,  1370,     0,
2233     1283,   390,  1018,     0,     0,     0,     0,   570,  1283,     0,
2234     1499,     0,     0,     0,     0,     0,  1512,     0,     0,     0,
2235        0,     0,     0,     0,     0,     0,  1283,     0,     0,  1519,
2236        0,     0,     0,     0,  1512,     0,  1372,     0,     0,     0,
2237        0,     0,     2,     4,    67,    68,    29,    28,    34,    33,
2238       92,    93,    53,    17,    81,    60,   127,   126,   128,    40,
2239       36,    75,    25,    27,    37,    41,    62,    43,    54,   105,
2240       61,    23,    59,    86,    63,    89,    48,    11,    12,    49,
2241       79,    13,    50,    80,    14,    51,    15,   101,    69,    94,
2242       32,    58,    22,    85,    42,    65,    91,    66,     5,    44,
2243       77,    73,    10,    55,    56,    57,    82,    83,    84,   110,
2244       88,   122,    39,   119,    98,    99,   116,   100,   117,     8,
2245      102,    52,    16,   113,   112,   114,    76,    45,    78,    64,
2246       90,   111,    26,   115,    18,    19,    21,    20,   118,    87,
2247      108,   104,   123,   121,   129,   106,    70,     6,     7,    95,
2248       24,    47,     9,    31,    30,    46,    38,   125,    35,  1370,
2249       97,   109,    96,    71,   103,    74,   107,   124,    72,   120,
2250     1472,  1471,  1521,  1475,  1498,     0,  1487,  1282,  1281,  1267,
2251        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2252        0,     0,     0,     0,     0,     0,   569,     0,     0,     0,
2253        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2254        0,  1293,  2082,  2097,  2098,  2099,  2100,  2101,  2102,  2103,
2255     2104,   361,  2105,  2106,  2107,  2108,  2109,  2110,  2111,  2112,
2256     2113,  2114,  2368,  2369,  2370,  2371,  2115,  2116,  2117,  2118,
2257     2119,  2120,  2121,  2372,  2373,  2122,  2123,  2124,  2125,  2126,
2258     2374,  2127,  2128,  2129,  2130,  2131,  2132,  2133,  2134,  2135,
2259     2136,  2137,  2138,  2139,  2140,  2141,  2142,  2143,  2144,  2145,
2260     2146,  2147,  2148,  2375,  2376,  2149,  2150,  2151,  2152,  2153,
2261     2154,  2155,  2156,  2157,  2158,  2159,  2160,  2161,  2162,  2163,
2262     2164,  2165,  2166,  2167,  2168,  2169,  2170,  2171,  2172,  2173,
2263     2174,  2377,  2175,  2176,  2177,  2378,  2178,  2179,  2180,  2379,
2264     2181,  2182,  2183,  2184,  2185,  2186,  2187,  2380,  2381,  2188,
2265     2189,  2190,  2191,  2192,  2193,  2194,  2195,  2196,  2197,  2198,
2266     2199,  2200,  2201,  2202,  2203,  2204,  2382,  2205,  2206,  2207,
2267     2208,  2383,  2384,  2385,  2209,  2210,  2211,  2212,  2213,  2214,
2268     2215,  2216,  2386,  2217,  2218,  2219,  2220,  2221,  2222,  2223,
2269     2224,  2225,  2226,  2227,  2228,  2229,  2230,  2231,  2232,  2233,
2270     2234,  2235,  2236,  2387,  2388,  2237,  2238,  2389,  2239,  2240,
2271     2241,  2390,  2242,  2391,  2243,  2244,  2245,  2246,  2247,  2248,
2272     2249,  2250,  2392,  2251,  2393,  2252,  2253,  2254,  2255,  2256,
2273     2257,  2258,  2259,  2260,  2261,  2394,  2262,  2395,  2265,  2263,
2274     2264,  2266,  2267,  2268,  2269,  2270,  2271,  2272,  2273,  2396,
2275     2274,  2275,  2276,  2277,  2278,  2279,  2280,  2281,  2282,  2283,
2276     2284,  2285,  2286,  2287,  2288,  2289,  2290,  2291,  2292,  2293,
2277     2397,  2294,  2295,  2296,  2297,  2298,  2299,  2300,  2301,  2302,
2278     2303,  2304,  2305,  2306,  2307,  2308,  2398,  2309,  2310,  2311,
2279     2312,  2399,  2313,  2314,  2315,  2316,  2317,  2318,  2319,  2320,
2280     2321,  2322,  2323,  2324,  2400,  2325,  2326,  2327,  2328,  2329,
2281     2330,  2331,  2332,  2401,  2402,  2333,  2334,  2403,  2335,  2404,
2282     2336,  2337,  2338,  2339,  2340,  2341,  2342,  2343,  2344,  2345,
2283     2346,  2347,  2348,  2349,  2350,  2351,  2352,  2405,  2406,  2353,
2284     2354,  2355,  2356,  2357,  2358,  2359,  2360,  2361,  2362,  2363,
2285     2364,  2407,  2408,  2409,  2410,  2411,  2412,  2413,  2414,  2415,
2286     2365,  2366,  2367,   360,  1462,  2050,  2083,  2084,  1369,  1349,
2287      570,     0,  1270,   389,  1499,     0,     0,     0,     0,     0,
2288        0,     0,     0,   786,     0,     0,     0,     0,     0,     0,
2289        0,     0,     0,     0,     0,   178,     0,     0,   413,   412,
2290        0,     0,     0,   991,   418,     0,     0,     0,     0,     0,
2291      558,  1412,  2263,  1410,  1463,   256,   259,   260,   257,   258,
2292     2072,     0,  1101,  1102,  1104,     0,     0,     0,  1114,   824,
2293      825,     0,     0,     0,   827,     0,     0,     0,   820,     0,
2294        0,     0,     0,     0,     0,   826,   817,     0,   816,     0,
2295        0,  1114,     0,     0,     0,   818,     0,     0,  1271,  1409,
2296      419,  1499,     0,  1386,  1387,  1388,  1370,  1377,  1389,  1382,
2297     1384,  1383,  1385,  1381,  2071,  2098,   929,   929,   929,   929,
2298      926,   927,   929,   929,   929,  2280,     0,     0,   908,     0,
2299      910,  2073,   929,   934,   474,   474,   474,     0,   933,   938,
2300      474,     0,  1264,  1302,  2055,  1511,     0,   909,  1263,  2333,
2301     1400,     0,     0,  1129,  1125,  1127,  1128,  1126,     0,     0,
2302        0,  2296,  1275,   240,  2306,  2401,  2333,   239,   234,   235,
2303      208,  2102,     0,     0,   933,     0,  1272,  1273,   894,  1518,
2304     1516,     0,  2037,  2120,  2134,  2220,   231,  2291,  2297,  2306,
2305     2401,  2333,  2364,   187,   197,   192,     0,   249,  2306,  2401,
2306     2333,   245,  1293,     0,  1488,  1618,  2046,     0,  1266,  1265,
2307     1371,     0,  1374,     0,  1579,  2276,  1492,  1495,  1376,  1493,
2308     1484,     0,     0,     1,  1499,  1365,  1515,  1515,     0,  1515,
2309        0,  1476,  1484,  1479,  1483,     0,     0,     0,     0,  2082,
2310     2416,  2417,  2418,  2419,  2420,  2421,  2422,  2423,  2424,  2425,
2311     2426,  2427,  2428,  2429,  2430,  2431,  2432,  2433,  2434,  2435,
2312     2436,  2437,  2438,     0,     0,  2056,  2083,  2087,     0,   834,
2313        0,  1305,  2051,   978,     0,     0,     0,     0,  2050,     0,
2314        0,     0,     0,  2088,  2078,  2079,     0,  2076,  2077,  2089,
2315     2090,  2091,     0,  2193,     0,     0,     0,  1943,  1954,  1955,
2316     1956,  2124,  2178,  1951,  1952,  1953,  1945,  1946,  1947,  1948,
2317     1949,  1950,     0,  1099,  1944,     0,  2193,     0,   156,     0,
2318      134,     0,     0,  2193,     0,     0,     0,     0,     0,  2193,
2319        0,     0,     0,     0,     0,   156,  2225,     0,   134,  2193,
2320        0,     0,  1287,     0,     0,     0,  1289,  1292,  1268,  1352,
2321        0,  2046,     0,     0,     0,   871,   863,     0,   872,   864,
2322        0,     0,   874,     0,     0,   866,     0,     0,     0,     0,
2323      875,     0,   865,   867,   877,   868,   873,     0,     0,     0,
2324        0,   869,     0,     0,  1279,     0,  1402,  1404,  1403,  1401,
2325      474,     0,     0,     0,     0,     0,     0,   134,  1337,     0,
2326     2193,   134,     0,     0,   417,   416,   134,  2076,   415,   414,
2327     2124,  2178,     0,  1017,     0,   134,  2193,     0,   180,   643,
2328      573,     0,     0,   745,  2225,   134,     0,     0,     0,     0,
2329        0,     0,   994,     0,     0,     0,   557,   570,  1413,  1411,
2330        0,  1105,   233,   232,  1103,   822,  2193,     0,   335,     0,
2331        0,  2193,  1324,  2085,  1676,  1705,  1683,  1705,  1705,  1672,
2332     1672,  2162,  1685,  2193,  1673,  1674,  1712,     0,  1705,  1672,
2333     1677,     0,  1675,  1715,  1715,  1700,   335,   838,  1657,  1658,
2334     1659,  1660,  1686,  1687,  1661,  1692,  1693,  1707,  1662,  1729,
2335     1672,  2086,   823,     0,   821,  2193,     0,  2193,  2080,   171,
2336        0,   819,  2124,  2178,  2193,     0,     0,  2193,     0,  2193,
2337      163,  2193,     0,  2193,   335,  2193,   574,     0,     0,  2193,
2338        0,  2193,   335,  2193,  2225,   165,     0,  2193,   335,   832,
2339        0,  1405,     0,  1379,  2405,  1394,     0,  1390,  1397,  1393,
2340     1499,   929,   928,     0,   929,     0,   929,     0,   929,     0,
2341      929,     0,     0,     0,   929,  2074,  2075,   911,     0,   935,
2342        0,     0,   942,   941,   940,     0,     0,     0,   943,     0,
2343     1622,  1436,     0,  1261,  1278,     0,     0,     0,   994,  1132,
2344        0,  1130,  1121,  1122,  1274,   238,   236,     0,     0,     0,
2345        0,     0,     0,  1280,     0,     0,     0,     0,  2059,  2061,
2346     2062,  1957,  2027,     0,  2369,  2370,  2371,  2016,     0,  2372,
2347     2373,  2374,  2418,  1859,  1846,  1855,  1860,  1847,  1849,  1856,
2348     2375,  2376,  2377,  2378,  2069,  2379,  2380,  2381,  2383,  2384,
2349     2385,  2386,  1851,  1853,  2387,  2388,     0,  2070,  2390,  2391,
2350     2247,  2393,  2394,  2396,  2397,  1857,  2399,  2400,  2401,  2402,
2351     2403,  2404,  2068,     0,  1858,  2406,  2408,  2409,  2410,  2411,
2352     2412,  2413,  2414,  2415,     0,     0,     0,  2043,     0,  1826,
2353        0,  1665,  1666,  1688,  1689,  1667,  1694,  1695,  1668,     0,
2354     2042,  1732,  1908,  1825,  1842,     0,  1831,  1832,     0,  1824,
2355     1820,  1501,  2038,     0,  1821,  2058,  2060,  2017,  1501,  2036,
2356      200,   251,     0,   252,  2044,  2306,   188,   230,   202,   229,
2357      203,   201,     0,  2122,   189,     0,     0,   190,     0,     0,
2358        0,     0,   248,   246,     0,  1269,     0,  1620,  1619,  2024,
2359        0,  2025,  2047,   843,  1364,  1362,  1363,  1361,     0,  1358,
2360     1360,  1373,  1370,  2032,  2031,  2033,     0,  1494,     0,     0,
2361        0,  1474,  1473,     3,  1376,  1513,  1514,     0,     0,     0,
2362        0,     0,     0,     0,     0,  1569,  1529,  1530,  1532,  1566,
2363     1570,  1578,     0,  1480,     0,     0,  1624,     0,  1580,     0,
2364        0,  2057,     0,     0,     0,     0,   835,     0,     0,     0,
2365     1311,     0,  1313,  1314,  1315,     0,     0,  1316,  1317,  1305,
2366      242,  1323,  1321,  1304,  1306,  1319,     0,     0,     0,     0,
2367        0,     0,     0,  1329,     0,     0,   169,   170,   586,   570,
2368        0,  2193,     0,     0,     0,     0,     0,  1057,  1064,     0,
2369        0,     0,     0,     0,     0,     0,     0,  1058,  1056,  1059,
2370      244,  1068,  1085,  1088,     0,   968,     0,     0,     0,     0,
2371        0,  1184,     0,     0,     0,  1184,     0,     0,     0,     0,
2372        0,     0,     0,     0,     0,     0,     0,     0,     0,   265,
2373      277,   330,   549,     0,     0,     0,   552,     0,  2193,     0,
2374        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2375      132,   133,   138,     0,     0,     0,     0,     0,     0,   536,
2376      548,     0,     0,     0,     0,     0,   545,     0,   134,   269,
2377      529,   533,     0,     0,     0,   652,   651,  1327,  1326,     0,
2378        0,     0,  1184,     0,   261,     0,     0,     0,     0,     0,
2379        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2380      353,   354,     0,     0,     0,   138,     0,     0,     0,     0,
2381      271,     0,     0,  1288,  1285,  1286,     0,  1291,     0,  1348,
2382        0,   862,     0,     0,     0,     0,   879,     0,   876,     0,
2383        0,   870,  2124,  2178,     0,     0,     0,     0,     0,     0,
2384        0,     0,     0,     0,   392,     0,     0,   742,     0,     0,
2385        0,     0,     0,   753,     0,  1305,  1336,     0,     0,     0,
2386      579,     0,  2193,     0,   136,   787,     0,   743,   418,     0,
2387        0,   136,     0,     0,   174,     0,   647,     0,     0,     0,
2388        0,     0,     0,   691,   690,     0,     0,     0,   744,     0,
2389      136,     0,  2193,   532,  2193,     0,   474,   474,     0,     0,
2390      993,   996,     0,     0,     0,     0,  1466,  1468,  1467,     0,
2391     1465,     0,   335,   333,   334,   740,  1113,     0,     0,  1704,
2392     1691,  1699,  1698,     0,  1681,  1680,  1679,     0,  1678,     0,
2393     1705,  1705,  1703,  1682,  1657,     0,     0,     0,  1711,     0,
2394     1709,     0,   812,  1653,  1649,     0,     0,  1697,  1718,  1719,
2395     1720,  1717,  1730,  1716,     0,  1663,  1721,  1672,  1669,     0,
2396        0,   335,     0,     0,  2193,   335,  2193,     0,  2193,     0,
2397        0,   335,   335,     0,     0,     0,     0,     0,     0,   648,
2398        0,   831,   829,   828,   830,     0,     0,     0,     0,   810,
2399        0,     0,     0,  2193,   335,     0,     0,   809,  1967,     0,
2400        0,  1499,     0,   219,   220,   218,  1395,   221,  1396,  1392,
2401     1378,     0,   919,     0,   923,     0,   914,     0,   920,     0,
2402      915,   912,   913,     0,   918,     0,     0,   475,   477,     0,
2403        0,  2146,  2161,     0,  2184,  2213,  2214,  2297,  2302,     0,
2404     2328,  2338,     0,   944,   973,   939,   661,     0,     0,  1446,
2405     1262,  1974,     0,  1499,     0,     0,     0,     0,   237,   209,
2406        0,     0,     0,   975,  2296,  1277,   893,   570,     0,  1822,
2407        0,  1829,  1830,  2015,     0,     0,     0,     0,     0,     0,
2408     1828,  1982,     0,     0,     0,     0,     0,  1755,     0,     0,
2409        0,  1995,     0,  2001,     0,     0,  1792,     0,     0,     0,
2410        0,     0,     0,     0,     0,  1756,  1736,  1737,  1826,  1967,
2411        0,  1827,  2065,     0,  1729,  2041,  1957,     0,  1954,  1955,
2412     1956,     0,     0,     0,  2030,     0,  1965,     0,     0,  1770,
2413     1963,  1772,     0,     0,     0,     0,  1951,  1952,  1953,  1945,
2414     1946,  1947,  1948,  1949,  1950,  1961,  1752,     0,     0,  1910,
2415        0,  1751,     0,     0,  1582,     0,  2063,  2018,  1582,   253,
2416      254,   250,     0,     0,   205,   204,     0,   223,   227,   228,
2417      199,   226,     0,   222,   207,  1899,  1898,   206,   198,   195,
2418      193,   210,   212,   213,   196,   194,   247,     0,  2023,     0,
2419     2092,  2439,  2440,  2441,  2442,  2443,  2444,  2445,  2446,  2447,
2420     2448,  2449,  2450,  2451,  2452,  2453,  2454,  2455,  2456,  2457,
2421     2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,  2467,
2422     2468,  2469,  2470,  2471,  2472,  2473,  2474,  2475,  2476,  2477,
2423     2478,  2479,  2480,  2481,  2482,  2483,  2484,  2485,  2486,  2487,
2424     2488,  2489,  2490,  2491,  2492,  2493,  2494,  2495,  2496,  2497,
2425     2498,  2499,  2500,  2501,  2502,  2503,  2504,  2505,  2506,  2507,
2426     2508,  2509,  2510,  2511,  2512,  2513,  2514,  2515,  2020,  2019,
2427     2053,  2093,  2094,  2095,  2096,  2026,     0,     0,   335,  1356,
2428        0,  1353,  2035,     0,  1496,     0,  2048,     0,  1366,  1491,
2429     1490,  1522,  1523,  1010,  1489,  1549,  1550,     0,     0,     0,
2430        0,  1575,  1573,  1540,  1533,  1539,     0,     0,  1537,     0,
2431     1541,  1732,  1568,  1478,  1527,  1528,  1531,  1477,     0,  1571,
2432        0,  1449,  1569,  1532,  1433,     0,  1415,     0,  1625,     0,
2433     1032,  1034,     0,  1033,     0,  1036,     0,  1045,     0,     0,
2434     1031,  1050,     0,  1039,  1037,     0,     0,     0,     0,     0,
2435        0,   836,     0,     0,     0,     0,  1312,     0,     0,  2328,
2436      241,  1315,  1320,  1307,  1318,     0,     0,     0,     0,     0,
2437      977,   976,     0,     0,   998,     0,     0,     0,  1332,   463,
2438        0,   332,     0,     0,     0,     0,     0,     0,     0,     0,
2439      738,   735,     0,     0,   734,     0,   584,     0,     0,     0,
2440        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2441        0,     0,     0,     0,     0,     0,     0,   622,     0,  1184,
2442        0,   655,     0,  1066,     0,     0,  1065,     0,  1069,     0,
2443        0,  1067,  1062,  1063,  2297,  2306,  2333,   243,  1087,     0,
2444     1086,  1084,  1020,     0,  1021,     0,     0,     0,     0,     0,
2445     2171,  2193,   279,   294,     0,  1183,     0,     0,     0,     0,
2446        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2447        0,   317,     0,     0,   320,   319,     0,     0,     0,     0,
2448        0,   324,   303,     0,   304,     0,     0,   323,     0,     0,
2449      550,   551,     0,     0,     0,     0,  1184,     0,   273,     0,
2450        0,     0,     0,     0,     0,  1100,     0,   679,     0,     0,
2451      159,     0,   155,   158,     0,     0,     0,     0,   535,   547,
2452        0,   539,   540,   537,   541,   542,     0,     0,     0,     0,
2453        0,     0,   534,     0,     0,   645,   644,   650,     0,     0,
2454        0,     0,     0,     0,     0,     0,  1134,  1133,     0,     0,
2455        0,     0,     0,     0,   777,     0,     0,     0,     0,     0,
2456        0,     0,   162,   664,     0,   663,     0,   160,   161,     0,
2457        0,     0,     0,     0,     0,     0,   217,  1284,  1290,  1351,
2458     2054,  1350,     0,     0,     0,     0,   878,     0,     0,     0,
2459        0,     0,     0,     0,     0,   880,   881,   882,   883,     0,
2460        0,     0,     0,     0,   367,     0,     0,     0,  2085,     0,
2461      766,   741,     0,     0,   754,     0,   756,   759,     0,  1303,
2462      436,     0,     0,   576,   622,     0,   421,   167,     0,     0,
2463        0,     0,   681,   131,   178,   180,   419,     0,   179,   181,
2464      183,   184,   185,   182,   186,   642,   646,     0,   572,     0,
2465        0,     0,     0,     0,   692,   696,   695,   699,   697,     0,
2466      693,     0,     0,  1645,     0,   154,     0,     0,   527,   531,
2467        0,     0,     0,   421,   505,   346,  2193,     0,   474,     0,
2468     2193,     0,   995,     0,     0,     0,     0,     0,     0,     0,
2469        0,  1464,     0,  1091,     0,  1325,     0,     0,     0,   335,
2470     1702,  1701,  1654,  1650,     0,     0,     0,     0,   839,     0,
2471        0,     0,     0,     0,     0,     0,     0,     0,     0,  1670,
2472     2193,   335,     0,  1089,   172,  2081,     0,   814,     0,     0,
2473        0,     0,     0,  1093,   806,     0,   335,   164,     0,   335,
2474      335,   575,     0,     0,   335,   335,   166,     0,     0,     0,
2475      567,   335,   833,  1408,     0,  2193,   474,  1380,  1391,   916,
2476      925,   924,   922,   921,   917,     0,   936,     0,   473,     0,
2477        0,     0,   950,   951,     0,     0,   949,   966,   952,     0,
2478      954,   946,   945,   955,   956,     0,     0,   975,   659,     0,
2479        0,     0,     0,  1443,     0,  1441,     0,  1623,  1445,  1434,
2480     1399,     0,  1398,     0,   520,     0,     0,  1131,     0,     0,
2481      933,     0,     0,   335,  1276,     0,   895,   896,     0,     0,
2482        0,     0,     0,     0,   902,   899,   900,   901,   903,     0,
2483      904,     0,     0,     0,  2028,  1978,     0,  1979,     0,     0,
2484     2014,  2010,     0,     0,     0,     0,     0,  1983,  1986,  1987,
2485     1988,  1985,  1989,  1984,     0,     0,  1990,     0,     0,     0,
2486        0,     0,     0,     0,     0,     0,  2397,     0,     0,     0,
2487        0,  1795,     0,     0,  1938,     0,  1967,  2000,     0,     0,
2488        0,     0,     0,     0,  1967,  2006,     0,     0,     0,     0,
2489     1897,     0,  1894,     0,     0,     0,     0,  2027,     0,     0,
2490     2066,  1733,  1747,  1748,  1749,  1753,  2040,     0,  2029,     0,
2491        0,  1734,  1761,     0,  2007,  1788,     0,  1793,  1776,     0,
2492     1769,     0,  1774,  1778,  1757,     0,  1754,     0,  2030,  1966,
2493        0,  1964,     0,  1744,  1745,  1746,  1738,  1739,  1740,  1741,
2494     1742,  1743,  1750,  1942,  1940,  1941,     0,     0,     0,  1918,
2495        0,     0,  1773,  2186,  2220,     0,  1512,  1512,  1512,  1500,
2496     1510,  2039,     0,  1640,     0,     0,     0,     0,  1834,     0,
2497     1971,  1521,  1969,  1037,  1640,  2045,     0,     0,  1729,     0,
2498     1621,  2021,  2024,   841,   842,   840,  1376,  1359,  1355,  1354,
2499     2034,  1375,     0,  1499,     0,  1008,  1009,     0,  1013,  2397,
2500     2294,     0,     0,     0,     0,  1542,  1576,     0,  1567,     0,
2501     2059,  1543,  2058,  1544,  1547,  1548,  1538,  1577,  1447,     0,
2502     1572,  1482,  1481,     0,  1643,     0,     0,  1425,  1417,     0,
2503     1626,     0,  1582,  1451,  1453,  1454,     0,  2027,  1035,     0,
2504     1672,  1046,     0,  1030,     0,  1029,  1672,     0,  1047,     0,
2505     1672,     0,     0,     0,  1221,  1136,  1192,   837,  1222,  1137,
2506     1193,  1223,  1138,  1322,  1310,  1309,  1308,     0,     0,     0,
2507        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2508        0,   717,  2193,   335,  1330,  1224,     0,  1139,   331,  1331,
2509     1194,  1335,   737,   736,     0,     0,  1195,     0,   585,     0,
2510        0,     0,   591,   592,   593,     0,     0,     0,   594,     0,
2511     2124,  2178,     0,   599,   606,   611,   601,     0,     0,   613,
2512      607,     0,     0,     0,     0,     0,     0,   619,   626,     0,
2513        0,     0,     0,     0,     0,     0,  1060,  1061,  1225,  1142,
2514        0,  1196,  1019,     0,  1143,   168,     0,     0,   266,  2193,
2515      281,     0,   628,   717,  1186,   301,     0,     0,   316,   311,
2516      312,   310,  2193,   335,  2193,   335,     0,     0,     0,     0,
2517        0,   313,   308,   309,   305,     0,     0,   318,  2101,  2163,
2518     2307,     0,   632,   634,     0,   639,   321,  1159,   342,   341,
2519      340,     0,   325,     0,   347,   350,   322,   299,   302,   300,
2520      296,   278,     0,     0,     0,     0,     0,     0,     0,     0,
2521     2052,     0,     0,  1095,     0,     0,     0,     0,     0,     0,
2522        0,   673,   157,  1174,   147,     0,     0,   143,     0,     0,
2523        0,     0,   137,     0,  1231,  1149,     0,     0,   270,   530,
2524      538,   543,  1153,   546,  1206,   544,  1237,  1150,     0,  1184,
2525        0,   262,     0,  1151,     0,  1200,  1233,  1176,     0,     0,
2526        0,     0,     0,     0,     0,     0,     0,  1338,     0,     0,
2527        0,     0,     0,     0,   335,     0,     0,     0,  1186,  2193,
2528      335,  1232,     0,  1181,  1214,     0,   355,     0,  1175,     0,
2529        0,   272,  1155,  1208,     0,     0,   215,   214,   216,     0,
2530        0,  2161,     0,   885,   846,   884,     0,     0,     0,     0,
2531        0,     0,   854,     0,     0,     0,   845,     0,   844,   366,
2532        0,   391,   364,   365,   367,     0,     0,   765,     0,     0,
2533        0,   755,     0,     0,     0,  1328,     0,   134,   583,     0,
2534        0,     0,   578,   621,   628,     0,     0,     0,   420,   424,
2535      428,   429,   430,     0,     0,     0,     0,   148,   135,     0,
2536      795,     0,   474,     0,   677,     0,   180,   173,     0,     0,
2537        0,   346,   752,   750,   749,   751,     0,     0,     0,   770,
2538      748,     0,  1644,  1646,     0,     0,     0,     0,     0,   520,
2539      423,     0,   477,     0,     0,   509,     0,     0,     0,     0,
2540      346,     0,     0,     0,  1024,     0,  1042,  1025,     0,     0,
2541        0,     0,  1073,  1080,  1074,  1052,     0,     0,   555,  1469,
2542     1470,     0,   335,     0,     0,  1671,  1684,   813,     0,  1714,
2543     1713,  1715,  1715,     0,  1655,     0,  1706,  1707,  1723,  1724,
2544     1725,  1726,  1727,  1728,     0,  1722,  1664,     0,   623,   335,
2545      335,     0,   335,     0,   335,   335,     0,   670,     0,  1259,
2546      649,     0,     0,   725,   811,     0,     0,   335,   808,  1968,
2547        0,   937,   476,     0,     0,     0,     0,   948,     0,   553,
2548      953,     0,   965,   960,   962,     0,   969,   658,     0,     0,
2549     1444,  1437,  1439,  1438,     0,     0,  1435,  1975,   807,     0,
2550      526,  1123,  1124,     0,     0,   335,     0,   970,     0,     0,
2551      897,   898,     0,     0,   905,     0,     0,     0,  1517,  1976,
2552     1977,     0,     0,     0,  2011,     0,     0,  1872,     0,  1848,
2553     1850,  1862,     0,  1873,  1833,  1874,  1852,  1854,     0,  1958,
2554        0,     0,  1863,     0,  1797,  1798,     0,     0,     0,     0,
2555        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2556        0,     0,     0,  1813,  1812,  1864,  1937,     0,     0,  1998,
2557     1999,  1865,     0,     0,  2005,     0,     0,     0,  1870,  1875,
2558        0,     0,     0,     0,  1881,     0,  1902,     0,     0,     0,
2559     1823,  1968,     0,     0,     0,     0,     0,     0,     0,     0,
2560     1794,  1777,  1771,     0,  1775,  1779,     0,     0,     0,  1765,
2561        0,     0,  1763,  1789,  1759,     0,     0,  1790,     0,     0,
2562        0,  1841,     0,     0,  1512,  1512,  1512,  1512,  1509,     0,
2563        0,     0,     0,  2294,     0,  1604,  1581,  1583,  1591,  1604,
2564     1609,  1843,  1638,  1844,     0,  2046,     0,  1552,  1521,  1521,
2565     1521,  1840,     0,     0,     0,     0,  1520,  1552,   191,     0,
2566      224,   211,  2023,     0,  1357,  2049,     0,  1524,     0,  1959,
2567     1013,     0,  1526,  1546,  1545,     0,  1536,  1574,  1534,  1448,
2568     1432,     0,  1430,  1419,     0,  1420,  2027,     0,  1430,  1416,
2569     1459,     0,     0,  1643,     0,  1458,     0,  1672,  1027,  1028,
2570        0,  1051,     0,  1220,  1135,  1191,   980,   981,     0,   979,
2571        0,     0,     0,   462,   997,     0,     0,     0,   717,     0,
2572        0,   466,     0,  1333,     0,  1238,  1173,   587,   588,   589,
2573        0,   600,     0,   609,   608,     0,     0,   596,     0,     0,
2574        0,     0,     0,   595,   615,   559,   616,   618,     0,     0,
2575      617,   620,   625,  1184,     0,   656,  1161,     0,  1212,  1054,
2576     1187,     0,  1022,     0,     0,     0,     0,     0,     0,   436,
2577      295,     0,     0,     0,   283,   293,     0,  1190,   327,     0,
2578      298,     0,   291,   314,   306,   315,   307,   326,   328,     0,
2579      636,   637,   635,   631,     0,   638,   640,     0,   344,     0,
2580        0,     0,  1227,     0,  1184,     0,   274,     0,  1157,     0,
2581     1210,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2582        0,     0,  1228,  1197,     0,  1216,     0,     0,     0,   678,
2583        0,   675,     0,     0,   140,   139,     0,   146,     0,     0,
2584        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2585        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2586        0,     0,     0,     0,     0,   356,   337,     0,   773,     0,
2587        0,     0,   358,     0,     0,     0,     0,  1226,  1144,   847,
2588        0,     0,     0,   848,   859,     0,     0,   849,     0,     0,
2589        0,     0,   861,   369,   370,   134,   368,     0,     0,  2247,
2590     1945,  1946,   763,   768,   760,   762,   764,   761,     0,   767,
2591      717,     0,   757,   758,     0,     0,     0,     0,     0,   448,
2592        0,     0,   442,     0,     0,  1080,   435,   438,   439,     0,
2593        0,   579,   582,   580,   581,   614,     0,   455,   501,     0,
2594      150,     0,     0,   151,   149,     0,     0,   346,   682,   686,
2595      684,   683,   685,   680,     0,   673,     0,   176,   419,     0,
2596        0,   571,   698,   701,   694,     0,   769,   771,   746,     0,
2597      628,     0,   532,     0,   474,  1409,   515,     0,   505,   501,
2598      503,   502,   504,     0,   511,   345,     0,     0,   520,   511,
2599        0,     0,   998,  1023,     0,     0,     0,  1070,  1075,  1071,
2600        0,     0,  1038,     0,  1072,     0,  1053,  1016,  1254,  1255,
2601     1252,  1253,     0,     0,     0,  1461,  1092,     0,  1690,     0,
2602     1710,  1708,  1651,  1656,  1696,  1731,   335,  1090,   815,     0,
2603      802,     0,   804,  1094,   335,   335,   335,   335,   665,     0,
2604      568,     0,     0,     0,     0,   947,   967,     0,   963,     0,
2605        0,   930,   972,     0,     0,  1442,  1440,   518,     0,   975,
2606        0,   931,   974,     0,     0,     0,     0,     0,     0,     0,
2607     1980,     0,  2013,  2009,     0,  1845,  1981,     0,  1993,  1992,
2608     1938,     0,     0,  1796,  1808,  1809,  1810,  1994,     0,  1818,
2609        0,     0,  1805,  1806,  1807,  1799,  1800,  1801,  1802,  1803,
2610     1804,  1811,  2003,  2002,  1996,  1997,     0,  1867,  1868,  1869,
2611     2004,  1876,     0,  2115,  1903,  1880,  1896,  1895,     0,     0,
2612        0,  1883,     0,     0,  1892,     0,  1939,  2067,  1735,     0,
2613        0,  1762,  2008,  1780,     0,     0,     0,  1758,  1958,     0,
2614        0,     0,     0,     0,  1767,     0,     0,     0,  1921,  1916,
2615     1917,  1935,     0,     0,     0,     0,     0,     0,  1503,  1502,
2616     1508,  1604,  1609,     0,  1484,     0,  1591,     0,  1603,  1589,
2617     1602,     0,     0,  1615,  1613,     0,  1615,     0,  1615,     0,
2618     1585,     0,  1605,  1587,  1602,     0,  1630,     0,  2047,  1639,
2619        0,  1565,     0,     0,     0,     0,  1972,  1973,     0,  1970,
2620     1835,  1565,     0,  2022,  1497,     0,  1525,  1011,  1012,  1535,
2621     2142,  1641,     0,  1431,     0,     0,  1422,  1428,  1414,     0,
2622        0,  1452,  1430,  1455,  1048,     0,     0,  1040,   986,   987,
2623      985,   988,     0,     0,     0,   717,     0,     0,   482,     0,
2624     1005,  1005,     0,     0,   468,   514,  1080,   720,     0,     0,
2625        0,   718,   335,  1140,     0,   610,     0,     0,   605,   603,
2626      602,   604,     0,   560,  1236,  1141,     0,     0,     0,     0,
2627     1055,     0,     0,  1160,     0,   280,     0,   433,     0,   288,
2628     1185,     0,     0,     0,   287,     0,   335,   335,   329,   633,
2629      343,   348,   349,   352,     0,     0,     0,     0,     0,  1189,
2630        0,     0,     0,     0,     0,     0,     0,   796,   779,     0,
2631        0,   797,   798,     0,     0,     0,  1097,  1098,  1096,  1215,
2632        0,     0,     0,  1147,     0,     0,   669,   144,   141,   142,
2633      145,  1171,  1154,  1207,     0,     0,     0,  1152,     0,  1201,
2634     1167,  1163,     0,     0,     0,     0,     0,  1235,  1180,  1205,
2635     1234,  1178,  1203,  1177,  1202,  1179,  1204,     0,  1172,     0,
2636     1648,   776,     0,     0,     0,   335,   335,   667,  1156,  1209,
2637        0,     0,   850,     0,     0,   852,   853,     0,   856,   374,
2638      394,   687,   739,     0,     0,   716,     0,   440,     0,   446,
2639      450,   451,   449,   441,  1080,   474,   513,     0,     0,   729,
2640        0,   577,   421,   452,     0,     0,   425,   153,   152,     0,
2641        0,     0,   676,   675,   180,  2193,     0,     0,   703,   707,
2642      747,     0,  1647,   662,   346,   528,     0,     0,   421,   520,
2643        0,   426,   431,   432,     0,   509,   505,     0,     0,   517,
2644     1301,     0,   521,   523,     0,     0,     0,  1026,  1043,  1044,
2645        0,     0,  1080,     0,     0,  1079,     0,     0,   562,   335,
2646     1652,   624,   335,   335,   671,  1260,  1120,   726,     0,   959,
2647      958,   957,   554,     0,   961,   660,     0,   519,   335,     0,
2648        0,   907,   888,   906,     0,     0,   887,     0,   886,  2012,
2649     1861,  1871,  1991,  1937,  1968,     0,     0,  1819,     0,     0,
2650     1866,  2407,     0,     0,     0,     0,  1900,  1901,  1882,     0,
2651     2238,  1887,     0,     0,     0,  1786,  1784,  1781,     0,  1782,
2652     1766,     0,     0,  1764,  1760,     0,  1791,  1907,     0,  1923,
2653     1920,  1934,  1968,  1507,  1506,  1505,  1504,  1590,  1588,     0,
2654     1593,  1600,     0,  1584,     0,  1614,  1610,     0,  1611,     0,
2655        0,  1612,     0,     0,  1586,     0,  1600,     0,  1637,  1521,
2656        0,     0,  1912,  1838,  1839,  1836,  1521,  2064,  1912,   225,
2657        0,     0,  1429,  1418,  1421,     0,     0,     0,     0,  1460,
2658     1450,  1041,  1049,     0,     0,     0,   464,     0,  1080,     0,
2659        0,     0,  1007,  1007,     0,  1080,   513,   722,   721,   724,
2660      719,   723,  1334,     0,   597,   598,   612,  1162,     0,  1213,
2661     1169,     0,  1446,   282,     0,   629,   284,   285,   286,   289,
2662      337,   297,   290,     0,     0,     0,  1158,     0,  1211,  1165,
2663     1229,  1145,  1198,     0,     0,   785,     0,     0,     0,     0,
2664     1230,  1146,  1199,  1217,  1218,  1219,     0,     0,     0,     0,
2665     1446,     0,     0,     0,     0,     0,  1343,     0,  1188,   336,
2666      775,   774,   337,   357,  1182,     0,   851,   857,   858,   855,
2667        0,   363,   371,   395,   134,     0,     0,  1111,  1111,     0,
2668      717,     0,     0,   437,   513,   481,     0,   443,     0,     0,
2669        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2670      668,   175,     0,   421,   628,   702,     0,     0,     0,   772,
2671        0,     0,   520,   423,     0,  1406,   422,     0,     0,   511,
2672      509,     0,   506,     0,   510,     0,  1294,     0,     0,     0,
2673        0,  1076,     0,  1082,     0,  1037,  1014,  1077,     0,  1640,
2674        0,     0,     0,     0,   566,  1112,   803,   805,   666,   964,
2675        0,   971,   335,   889,   890,   891,   892,  1939,  1814,     0,
2676        0,     0,     0,  1877,     0,  1878,  1905,  1904,  1884,  1888,
2677        0,  1885,  1886,  1783,  1787,  1785,  1768,  1909,     0,  1521,
2678     1936,  1633,     0,  1636,  1592,     0,     0,  1594,     0,     0,
2679     1596,  1598,     0,     0,     0,     0,     0,     0,  2050,     0,
2680     2141,  2381,  2293,     0,  1551,  1553,  1556,  1558,  1557,  1559,
2681     1555,  1564,     0,  1486,     0,  1485,  1960,  1642,     0,     0,
2682      999,     0,     0,  1457,  1456,   965,     0,   335,  1005,   513,
2683      483,  2247,   484,  1004,  1006,  1010,  1010,     0,   513,   717,
2684      590,     0,     0,   267,   627,     0,   339,   351,     0,  1446,
2685        0,     0,     0,   792,   780,     0,     0,   799,  1148,   672,
2686        0,     0,   263,  1168,  1164,  1345,  1346,     0,     0,     0,
2687        0,     0,   335,   860,     0,   397,   404,   375,   380,  1337,
2688        0,  1337,     0,   377,   381,  1337,   376,  1337,   373,   374,
2689        0,  1111,     0,  1108,  1107,   715,     0,   472,   444,     0,
2690      492,     0,     0,   730,     0,     0,   501,   461,   460,   457,
2691      456,   458,   459,   454,   453,     0,   628,   789,   346,  1301,
2692        0,   641,   704,   705,   700,     0,     0,     0,  1409,   516,
2693      505,   501,   427,   436,   410,   511,   507,   508,     0,     0,
2694        0,   520,  1347,   998,     0,  1081,     0,     0,     0,     0,
2695        0,     0,  1115,   561,     0,     0,   565,   556,   628,   932,
2696     1815,     0,  1816,     0,     0,     0,  1890,  1889,     0,  1926,
2697     1638,     0,     0,  1632,     0,  1601,  1617,     0,  1597,  1595,
2698        0,  1606,     0,  1608,  1835,     0,     0,     0,  1560,     0,
2699     1911,  1913,     0,  1837,  1427,  1640,     0,  1424,     0,   982,
2700        0,   983,  1007,   487,     0,  1013,  1013,   474,   717,   465,
2701     1170,     0,   630,     0,   292,     0,   275,  1166,     0,   783,
2702        0,   794,   792,     0,     0,     0,     0,  1339,     0,  1340,
2703     1341,  1344,   359,   372,     0,   402,     0,   400,   399,   401,
2704        0,   388,     0,     0,     0,     0,     0,     0,   362,   393,
2705     1106,  1110,  1109,     0,     0,   445,   478,   479,   480,     0,
2706      447,   488,   489,     0,   727,     0,   732,     0,     0,   500,
2707      653,     0,     0,     0,  1295,     0,     0,     0,  1301,   520,
2708      509,   505,   434,   408,     0,  1298,     0,   522,     0,   346,
2709     1080,  1083,  1078,  1258,     0,     0,   564,   563,   657,  1817,
2710     1893,  1879,  1906,  1891,  1922,     0,     0,     0,  1631,  1634,
2711        0,  1599,     0,     0,  1607,     0,     0,     0,  1554,     0,
2712        0,  1426,  1000,     0,     0,  1010,     0,   717,     0,  1002,
2713     1001,   481,   467,  1446,   338,     0,     0,     0,   790,   793,
2714      781,   794,   801,   800,   674,  1446,     0,   398,   407,     0,
2715      405,   378,   383,     0,   387,   385,   384,   379,   382,     0,
2716      471,     0,     0,     0,   490,     0,   491,   512,     0,   731,
2717        0,     0,   788,     0,     0,   421,   706,     0,  1296,  1407,
2718      511,   509,  1299,  1300,     0,   511,  1015,  1257,  1256,  1499,
2719        0,     0,  2368,  2142,  2340,     0,  1924,  1927,  1925,  1919,
2720        0,  1616,  1629,  1562,     0,  1561,  1914,  1915,  1640,   335,
2721     1013,     0,   469,   485,   492,   268,  1446,     0,     0,   782,
2722      264,  1342,   403,     0,   386,   707,   497,     0,   496,     0,
2723      494,   493,   728,   733,   628,   778,  1301,   710,   411,   511,
2724        0,  1640,  1240,  1499,  1239,  1241,  1249,  1246,  1248,  1247,
2725     1245,  1118,  1119,     0,  1931,  1930,  1929,  1933,  1932,  1635,
2726        0,  1627,  1563,  1423,   984,  1003,     0,   717,   276,   784,
2727      791,   406,     0,   495,   499,   498,   654,  1297,   712,     0,
2728      708,   711,   713,   714,   409,   346,   989,     0,  1250,  1244,
2729     1484,  1471,     0,     0,     0,     0,   486,   470,     0,   688,
2730        0,   511,  1242,  1499,     0,     0,  1928,     0,     0,   709,
2731     1640,  1243,     0,     0,  1628,     0,   990,     0,     0,   710,
2732        0,     0,     0,  1116,  1117,   689
2733 };
2734 
2735   /* YYPGOTO[NTERM-NUM].  */
2736 static const yytype_int16 yypgoto[] =
2737 {
2738    -4355, -4355, -4355,  3356, -4355,  -841,   267,  2636, -1340, -4355,
2739    -4355, -4355,  1187, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
2740     3302, -4355, -4355,  1808, -2239, -4355, -4355,   143,  3258, -1216,
2741      122,  2865,  1472, -4355, -1061, -4355, -4355,  -555,   102, -4355,
2742     3274,   181, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -4355,
2743     -693,  1961,  1307,  -861, -2553, -4355, -4355, -1327, -2967, -4355,
2744      659, -4355, -4355,  1898, -4355, -4355, -4355,  1138,   566,  -424,
2745    -4355, -4355, -4355, -4355, -4355, -4355, -4355,  -568, -4355, -4355,
2746     -756,   157,    50, -2258,  -243, -4355, -4355,   533,  -242, -1334,
2747    -4355, -3338, -4355,    86, -4355, -4355, -4355,  -218, -1308,  1405,
2748    -4355,  -644, -1055,  1710,  -653, -4355,  -108, -4355,  -730,  -577,
2749     -575,  -675, -3513, -3524, -3946, -3562, -3980,  1411,   159, -2886,
2750    -2982,   161,   503, -4355,   162,   164, -4355,   520,  -770, -1359,
2751    -4355,  -810, -4355, -4355, -4355, -2713, -4355, -4355, -4355, -4355,
2752       80, -4355, -4355, -4355, -4355,   562, -4355, -4355, -4355, -4355,
2753    -4355, -4355, -2483,  1873,  1874, -4355, -4355, -2941, -4355,  -821,
2754    -4355,   701, -2768,  1320, -4355, -4355, -4355,  2626, -4355, -4355,
2755    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -1481, -4355, -4355,
2756    -4355, -4355, -4355,   545,    88, -4355, -4355, -4355, -4355, -4355,
2757      166, -4355,  1885,  1127, -4355, -4355, -4355,  -721,  -813,  -791,
2758    -4355, -2765, -4355, -4355, -4355, -4355,  -182, -4355, -4355, -4355,
2759    -4355, -4355, -4355,  -846, -4355,  1178, -2880, -4355, -4355,  1183,
2760    -4355, -4355, -4355, -4355, -4355,  -661,  -123,  2650, -4355,  -508,
2761     -625, -4355, -4355, -4355,  -122, -4355, -4355, -4355, -4355, -4355,
2762    -4355,  -998,  5823,  -976,  -489, -4355, -4355, -4355, -4355, -2017,
2763    -4355, -4355, -4355, -3341, -4355,  4171,   386,  1069,   168, -4355,
2764      -21,    64,  3095, -1062, -2419,   469,  -302, -4355, -1694, -4355,
2765    -4355, -4355, -2358, -4355, -4355, -4355, -4355, -3275,   170, -4355,
2766     3087, -4355, -3523, -4200, -3277, -3737, -4060, -4055, -3265, -4355,
2767    -4355, -1028, -4355, -4355, -4355, -1318,  2187, -1784, -4355, -1891,
2768      537,  1483,  -862, -2539, -3539,  -632, -3004, -4355, -4355, -3453,
2769     -414, -4355, -4355, -4355, -4355, -4355, -4355, -4355, -1017,  -560,
2770    -4355, -4355,  3615, -4355, -4022, -4355,  3584, -4355, -4355, -4355,
2771    -4355,  2482,  2486, -4355,  2483, -4355, -4355, -1317,  1265, -4355,
2772    -4355, -4355, -4355,   229, -4355, -4355, -4355, -4355,  -645,  -755,
2773    -4355, -4355, -4355,   173, -4355, -4355, -4355, -4355,  1956,  -830,
2774     -651,  3501,   191, -4354, -4355, -4355, -1026, -4355,  2892, -4355,
2775    -4355, -4355, -4355, -4355, -4355, -4355, -4355, -2459, -4355, -4355,
2776    -4061, -4355, -4355, -4355, -4355, -4355,  2267,  2271,    61,   -50,
2777    -4355, -4355, -1190, -4355,  -506, -4355,  2555, -4355, -4355, -4355,
2778    -4355, -1594,   194, -3519, -4355,     3, -4355, -4355, -4355,   341,
2779    -4355, -4355, -3186,     5, -4355, -4355, -4355, -4355, -4107, -4355,
2780        6,  -565,   869, -4355, -4355, -2582, -4355,   195,    20, -4355,
2781    -4355,     1,     2,   -43,   -47,   -41,     4,   125,  2952, -4355,
2782     3006, -4355,   -11,  1625, -4355, -4355,  -750,  -156, -4355,  1571,
2783     -578,  2239,  2947,  2949, -4355,  1558,  2272, -1811, -1814, -4355,
2784      911,  -546,  -418, -4355, -4355, -4355, -4355,   372,  -574,  2260,
2785    -4355,  2956, -4355, -4355, -4355, -1685,  1553, -3163,   944, -3166,
2786    -3122,   417,   404, -1404,  -207,    34,  -686,  2954, -4355, -4355,
2787      957,  -381, -4355, -4355,  -378, -2591,   900, -4355, -4029, -2132,
2788     -454,  2666,  -968, -4355, -4355,  -935, 13040, -4355, -4355, -4355,
2789    13482, 13612, -4355, -4355, 14798, 14989, -4355,  -793,  1157, 15114,
2790    12843,  -939, -1646,  -335, 12025, -2290, -1101, -2464, -4355, -3263,
2791    -2421, -4355, -4355, -4355,  -167,  1011,   478, -4355, -4355, -4355,
2792    -4355,    30, -4355,  -518, -4355,  -517, -4355, -4355, -4355,  -502,
2793    -3720,  2468, -4355, -4355, -4355,  -191, -4355, 16270,  1608, -4355,
2794    -1020, -2514, -2526, -3160, -1655, -4355, -4355, -4355, -4355, -4355,
2795    -4355, -4355, -1350, -3051,  -494,  1676, -4355, -4355,  1768, -4355,
2796    -4355, -4355, -1213,  1629,  -766, -2412,  1682, -1860, -4355,  -760,
2797    -4355,  -687,  2467,  -695,  7840, -1248,  6638,  -464, -2107, -1158,
2798    -1431, -4355,  -180, -4355,    28,   -16,    -6,   -95,  -160,  -513,
2799     3762, 10814,  -589, -1254,  8714,   301, 11536, -2891
2800 };
2801 
2802   /* YYDEFGOTO[NTERM-NUM].  */
2803 static const yytype_int16 yydefgoto[] =
2804 {
2805       -1,    51,    52,    53,    54,  1432,  2307,  2192,  3037,  3038,
2806       55,    56,  1428,    57,    58,    59,    60,    61,    62,    63,
2807     1359,    64,    65,   957,  1554,  2318,    66,  2040,   734,   735,
2808      736,  1860,  1861,  2257,  1862,  1850,  1248,  1687,  1380,   708,
2809      709,  1341,  1381,    68,    69,  1242,  1841,    70,    71,    72,
2810     1409,  1410,  1353,  1595,  4040,  4694,  2872,  2167,  3077,  2873,
2811     2874,    73,  1480,  1481,    74,    75,  3004,  3000,  3575,  4351,
2812     4352,  4568,   555,  2286,  4354,  4355,  4554,  4555,  4718,  4829,
2813     4830,  2319,  1549,  3071,  3658,  3028,  4110,  3029,  4111,  3030,
2814     4112,  3015,  3606,  3607,  3608,  3031,  4083,  4593,  3032,  2059,
2815     4735,  2354,  1709,  1707,  4580,  3917,  3918,  4807,  4740,  4741,
2816     4742,  4910,  4085,  3075,  3664,  4119,  4367,  2761,   643,  1575,
2817     3180,   644,  2357,   587,   645,  2320,    81,  2348,  2349,  1451,
2818     2200,  3582,  3160,    82,   977,  3424,  4424,  4636,  4637,    83,
2819      220,    84,  1558,    85,    86,  2303,  3022,    87,  2076,  2778,
2820       88,    89,  2807,  2808,  2809,    90,    91,  3449,  4294,  1411,
2821     2861,  2862,  2863,  2864,  3475,    92,  1556,  1456,  2327,    93,
2822       94,    95,    96,    97,  2470,  2471,    98,  2244,    99,   100,
2823      101,   102,   103,  3511,  4006,  3635,  2901,  3044,  3633,   104,
2824     2321,  1566,  2339,  2340,  4099,  4386,  4604,  4388,  4959,  4960,
2825     4360,  3401,  3931,   106,   107,  4078,  4079,  4747,   108,  2074,
2826      109,   110,   111,  1533,  2295,  2296,  3583,  1527,  2289,  2290,
2827     3645,  3646,   112,  2957,   113,  3987,  3988,   588,  4752,  4701,
2828     4820,   114,   115,  3991,  3992,   116,   117,   118,   119,   120,
2829      637,  1068,  1069,  1326,  1016,   121,  1958,   122,   923,  2984,
2830      123,  1136,  2512,  4162,   124,   668,  1082,  1083,  2322,   126,
2831      677,  2490,   679,  1722,  3162,  3163,  3731,  2456,   821,   127,
2832      128,  2467,  2493,   129,  1346,  2050,  2051,  3912,  2323,   589,
2833     1581,  2361,  2756,  4499,  4500,  4272,  4515,  2678,  3352,   131,
2834      590,  1385,  2123,  2364,  3085,  2017,  2018,  2019,  3681,  2020,
2835     3087,  2021,  1320,  2022,  3093,  3094,  3095,  3677,  3684,  3687,
2836     4413,  4414,   132,  1383,  2121,   133,   134,   135,  1423,   852,
2837      136,   602,   603,   137,  4573,   138,   990,   139,  4422,   140,
2838      141,   699,   700,  1120,  1121,   142,   143,  2137,  3456,   144,
2839      145,   146,  3504,  3505,   147,   148,  4924,  4967,  4968,  4969,
2840     3692,  4869,   149,  4926,  1113,   151,   152,   153,   189,   886,
2841      887,   888,  2324,  4406,   155,   156,  1342,  1343,  1344,  1345,
2842     2045,   157,   158,   159,   160,   161,   162,  1537,   163,   164,
2843     4547,   165,   166,  1499,   167,  1278,  1279,   168,   169,   549,
2844      752,  1282,  1290,   170,   647,  1076,  1077,  1078,  1689,   171,
2845     1116,   925,   648,  1071,   173,   649,  2005,  2707,  3364,  3365,
2846     3368,  4257,  3893,   650,  2704,   176,  1729,  2476,  2479,  2700,
2847      651,  2712,  2713,  2714,  2715,  2716,  3371,   652,   670,   980,
2848     2370,   653,  1209,   181,   182,   183,   762,   756,   757,   185,
2849     1834,  2639,   686,  1297,   721,   722,   770,  3336,  1971,  1972,
2850     1996,  1997,  1306,  1307,  1984,  1988,  1989,  2691,  2684,  1977,
2851     3871,  4484,  4485,  4486,  4487,  4488,  4489,  4242,  1992,  1993,
2852     1309,  1310,  1311,  2001,   186,  2643,  3316,  3317,  3318,  3848,
2853     3849,  3863,  3859,  4226,  4470,  3319,  1111,  1317,  4234,  4941,
2854     3320,  4461,  4462,  4653,  3866,  3327,  3362,  3061,  3062,  3063,
2855     2023,  1624,  1018,  1210,  1019,  1638,  1211,  1608,  1021,  1212,
2856     1213,  1214,  1024,  1215,  1216,  1217,  1027,  1600,  1627,  1218,
2857     1219,  1618,  1635,  1636,  1678,  2550,  1221,  1222,  1223,  3322,
2858     1224,  3804,  4193,  4182,  2571,  2572,  1857,  3800,  3262,  1829,
2859     2629,  4493,  4670,  4671,  3301,  3829,  4209,  4459,  4787,  4876,
2860     4877,  1225,  1226,  1227,  2626,  1825,   854,  1228,  3585,  1827,
2861     2565,  2651,  2652,  1732,  1752,  2518,  2534,  2535,  2545,  3221,
2862     2553,  2558,  3249,  3250,  2566,  2595,  1229,  2520,  2521,  3205,
2863     1754,  1230,  1271,  1869,  1272,  1749,  2590,  1285,  1286,   754,
2864     1238,  1231,  1232,  1723,   745,  4466,   544,   811,  2889,  1949,
2865      890,   683,  1233,  1234,  1235,  1236,  1416,   826,  1038,  1039,
2866      545,   805,   828,  2865,   546,   547,   807,  1954
2867 };
2868 
2869   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
2870      positive, shift that token.  If negative, reduce the rule whose
2871      number is the opposite.  If YYTABLE_NINF, syntax error.  */
2872 static const yytype_int16 yytable[] =
2873 {
2874      604,   179,   180,   174,   184,   175,   177,   761,  1641,   684,
2875      803,   952,   983,   853,   713,   672,  1950,  1686,  1318,   822,
2876     2457,   672,   180,  1312,   184,  1415,   771,   543,  1651,  1243,
2877     1102,  1103,  1104,   747,   594,  1239,  1108,  1485,  1321,  2058,
2878      827,  1965,  1645,  1614,  1455,  1706,   981,   860,  3027,   671,
2879     1679,  2649,   760,  1079,  1637,   671,  2132,  1497,   878,  1955,
2880     1045,  1273,   586,  3337,  1604,  1605,  2124,  2259,  3450,  1742,
2881     1528,  1950,  3185,  2891,  1613,  1620,  3047,   744,  2144,  2161,
2882     1257,   646,  2133,  3615,  3641,  3886,   678,  3656,  2344,  3686,
2883     3470,  2212,  3472,  3430,  1450,  2517,  1535,   636,   937,   714,
2884     1540,  2954,    67,  2670,  1968,  1544,  1547,  4123,  1955,  3166,
2885     1050,  3957,   859,  3669,  1551,  3587,  3914,  1568,  3919,   765,
2886     3330,  1065,  3587,   877,  1570,  1592,  3816,  2723,  2725,  3370,
2887     3328,  3329,  3920,  3593,  4115,  1073,  4109,   773,   983,  2482,
2888     2226,  2227,  4132,   774,  1062,  2222,  4116,   992,  2580,  4126,
2889     2362,  3845,  4076,  2654,  3862,  1622,   707,    76,  1017,    77,
2890     2117,    78,    79,   741,    80,  3270,   105,  2031,   125,  4399,
2891      130,  1449,  1250,   150,   759,  2696,  2693,  1464,  3321,  1017,
2892     3376,  3653,  3898,   733,  4273,  4523,   772,  1490,  1790,  1382,
2893     2427,   154,  1305,  1659,   172,   178,  1308,  3860,  3784,   654,
2894    -2180,  1669,  3040,  1991,  1601,  1602,  4475,  1677,  4477, -2215,
2895     4624, -2237, -2266,  4516,  3227,  1612,  1847,  1412,   600,  1567,
2896      553,  3323,   654,  4542,  2233,  1604,  1605, -2085,  4271,  1956,
2897      600,  2976, -2086, -1705,  2722, -2085, -2085,  2238,  1625,  3321,
2898    -2086, -2086,  3018, -2421,  1613,  4754, -1943,   870, -1672,  1132,
2899     1620, -2421, -2421, -1943,  2588,  3675,  2992,  3224,  3225,  1356,
2900     1797,  2135,  3244,  1727,  2996,  2341,  2998,  4700,  1688,   654,
2901     3595,  2588,  1593,  4549,  4550,  3183,  1531,  2642,  2297, -2057,
2902     2772,   693,  3323,  4587, -1685, -1700,  1524, -1712,   819,  1803,
2903    -1705,   693,   600,  4841,  3609,   600,  4519,   600, -1705,  3274,
2904     3275,   600,  3132, -2112,  3134,  3375,  3203, -1715,   750,  3002,
2905     4420,  4906,   654,  2042, -2056,  3598,  2454,  2060,   600,  1805,
2906     3170,  2064,  1848,  2623, -1715,  3431, -1547,  2066,  4677,  1084,
2907     2624,  4588, -2183,  1412,  2492,   775,  4574,  1494,   654,  4589,
2908     -396,   654, -1700,  3660,  4867,  2061,  3019,  4634,  1514,  2896,
2909     3737,  4954,  -834,  2203,  1593,  4072,  1601,  1602,  1088,   660,
2910     2468,  3121,   694,  3227,  1357,  3174,   600,  4590,   660,  -134,
2911      660,   660,   694,  1274,  -134,  4255,  4731,   932,  4369,  1301,
2912      853,   661,  1612,    39,  4578,  4522,  2899,  2747,  2112,   187,
2913      661,  2788,   661,   661,  1593,  2759,  3887,  4373,  2254,  1430,
2914        3,     4,  1593,  2948,  4858,   866,  4166,   669,  4168,   947,
2915     2255,  1615,  1006,   669,   947,   776,    43,  1269,  2170,  2171,
2916     1431,  1270,  4696,   654,   654,   947,   987,  1497,  2342,   853,
2917     1616,   867,   188,  2949,  1849,  2256,  1036, -1962,   600,  3175,
2918     4374,  2469,  4591,  1791, -1962,  1851,  1505,  4662,  1303,  2760,
2919     1863,  1863,  4362,  2900,  4615,  3888,    47,  3602,  1632,  1957,
2920     4685,  4686,   660,  2452,  2067,  2748,  1520,  2458,  1325,  2460,
2921     1247,  1837,  2463,  4276,   946,  2897,  2113,   983,  4678,   955,
2922     1530,  2267,  2062,  2204,   661,  4280,  2205,  4370,  1304,   983,
2923      965,   660,  3738,  4955,  1593,  4073,  3603,  2271,  2135,  1495,
2924     4907,   830,  2135,  1643,    50,   695,  4635,  2220,   830,  2299,
2925     3604,  1674,  4868,   661,  3020,   695,  2135,  4732,  3223,   830,
2926    -2236,   601,  3171,  2135,  2135,  3524,  3003,  4421,  1275,  4683,
2927     1276,   942,  1594,  1652,  1347,   924,  2514,  2160,  4688,  1728,
2928     3431,  2215,   696,   697,  2977,  2068,   983,  1107,  2586,  4730,
2929     2455,   820,   696,   697,  2103,   929,   180,   926,   184,   927,
2930      928,  1797,  4957,  2773,  2111,  2811,  1422,  3610,  4256, -1943,
2931     1532,  4908,  2239,  1107,  1690,  3372,  4842,  2589,  1955,  1797,
2932     1746,  3573,  3574,  2377,  2343,   982,   604,  2234,  3676,  3587,
2933     1803,  2519,  4400,  1724,  3290,  4909,  1080,  3021,  3605,   761,
2934     3972,   751,  1728,  1141,  1734,  2208,  3227,  2210,  1803,  1269,
2935     3228,  3229,  3230,  1270,  1594,  4592,  2065,  1313,   777,  1743,
2936     1805,  4364,  4805,  4353,  1955,   554,  1643,  3809,  2198,  1626,
2937      922,  2201,  2202,  3924,  1358,  2217,  1599,  1532,  1805,  1348,
2938     2262,   698,  3114,   180,   760,   184,  2625,  4826,  3394,  1081,
2939     2445,  1086,  3242,  1090,  1594,  4198, -2180,  1413,  1414,  1094,
2940     4091,  1731,  1594,   983,  4920, -2215,  2258, -2237, -2266,  2101,
2941     2551,   983,   983,  1114,  1621, -2085,  3862,  2431,  2569,  4416,
2942    -2086, -1705,  2291,   671,  2983,   671,  4122,   671,  4223,  1097,
2943     1072, -2421,  4227,   671,  1095,  1096,  1603,  1845,  1824,  1133,
2944     2268,  1599,  2399,  1075,   666,   667,  4895,  1240,  4172,  4103,
2945     1249,   982,  1251,  1502,  2453,   773,  4260,   853,  4900,  4217,
2946     1110,   774,  1615,  2464,  1509,  1269,  2178, -2057,  2513,  1270,
2947     2516,  2373,  1607, -1700,  2002, -1712,  2523, -2236,  2003,  1615,
2948     1793,  1616,  2537,  2538,  2539,  1835, -1705,   666,   667,  2657,
2949     4890,  2120,  2555,  2557,  1594,  1617,  1676,  2567,  1616, -2112,
2950    -1962,  4880, -2056,  1033,   772,   179,   180,   174,   184,   175,
2951      177,  4682,  1619,  1413,  1414,  4281,   666,   667,  1950,  1277,
2952     2403,  1110,  2812,  1430,  2407,  3227,  1349,  1628, -2183,  4948,
2953     2413,  2414,  2472,  1582,   943,  2830,  1643,  3232,  3239,  3240,
2954     3241,  3242,  2221, -2236,  1431,  2052,  2886,  3637,  3879,  -134,
2955     -134,  1316,  1280,  2430,  4860,  4509, -2236,  2380,  2381,  4433,
2956     3525,  1350,  4518,  4434,  4435,  4062,  4436,  3946,  3976,  1507,
2957      600,  3378,  3172,  3379,  3628,  3653,  2786,  4614,  2878,   600,
2958     3426,  3906,  2630,   882,  1832,  4618,  3451,   768,  3321,  2061,
2959     3321,  1351,  2912,  4619,  1362,  3621,  1629,  3233,  2310,  2887,
2960     2649,  2649,  2649,   671,  2185,  4061,    67,  4541,  1246,  3355,
2961      830,  2693,  1254,  2352,  2737,   830,  2685,   768,  2145,  2054,
2962     1287,  3565,  3566,  4107,  4646,  1259,   830,  2316,  1855,  2904,
2963     4356,  3323,  1141,  3323,   548,  3227,  3730,  2055,  1356, -2422,
2964    -2422, -2422,   830,  2117,  4401,  1330,  2875,  2912,  2527,  3033,
2965      600,  3443,  2473,  1340,  1352,  4919,  1630,  4402,   830,  1631,
2966     4357,    76,  3629,    77,   830,    78,    79,   550,    80,  1856,
2967      105,  3321,   125,  2355,   130,   830,   883,   150,  3764,  3765,
2968     3766,  3767,  2352,   830,  3772,  3773,  3774,  3775,  3776,  3777,
2969     3778,  3779,  3780,  3781,  3896,   154,  4463,  2952,   172,   178,
2970     3494,   600,  3559,  2317,  2698,  4107,  2905,  2311,  2182,  3563,
2971     3564,  1099,  2631,  3567,  3323,  2904,  2449,  3444,   884,  1469,
2972     3572,  4138,  1331,  1402,  2745,  1643,  3958,  1978,   707,  1459,
2973     2212,  2335,  3919,  3920,  1819,  1820,  1821,  1822,  1823,  1824,
2974     3820,  3821,  3630,  1357,   681, -2054,  3920,  3984,  3622,  2528,
2975     4620,  3688,  3340,  1632,  1821,  1822,  1823,  1824,  2906,  4441,
2976     1470,  4935,  1791,  2461,  2462,  1979,  1034,  3373,   830,  2879,
2977      885,  2056,  3452,  1332,  3173,  3234,  3235,  3236,  3334,  3237,
2978     3238,  3239,  3240,  3241,  3242,  3086,  1614,  3016,  2730,  2263,
2979      982,   595,  2905,  4763,  4464,  1628,  2802,  1585,  3453,  2705,
2980     2699,  4467,   982,  2608,  2279,  3495,  4471,  3034,  3872,  4473,
2981     2353,  2336,  2907,  4748,  3427,  4647,  3514,  4403,  2529,  3346,
2982     4108,  3960,   180,  2300,   184,  4161,  4760,  4770,  2066,  4759,
2983     2412,  3689,  1508,  1079,  1559,  2474,  1730,  2665,  4761,  2787,
2984     4768,  1833,  1260,  1692,  2906,  1694,   671,  1696,  3985,  1698,
2985     3587,  1700,  1701,  1702,  2475,  3584,  4023,  1633,  1704,   982,
2986     2379,  4325,  3584,  1981,  1629,  4736,  1333,  4395,  3686,  2404,
2987     2366,  2803,  1100,  2057,  2375,  1560,  1634,  4390,  2530,  4383,
2988     3631,  2531,  2417,  2374,  2675,  1751,  3233,  3920,  2450,  2953,
2989     4266,  -621,  4933,  4936,  2052,  1017,  1661,  2426,  2907,   685,
2990     2275,  2146,  4855,  1474,  1760,   761,  2908,  2388,  1261,  1475,
2991      692,  2053,  2147, -1672,  2148,  2437,  2041,  1471,  1982,  2425,
2992     2451,  1128,   719,  1141,  1630,  3989,  3227,  1631,  4295,  1496,
2993     3228,  3229,  3230,  2609,  1792,  1776,  1269,  1662,  2610,  3682,
2994     1270,  2276,  3480,  1794,  3986,  3632,  3035,  3157,   691,  2543,
2995     1788,  2422,  3496,  2727,  1017,  3481,  1295,  1836,  3237,  3238,
2996     3239,  3240,  3241,  3242,  3418,  3961,  2676,  1975,  2054,  3690,
2997     2149,  4680,  1961,   853,  2611,  2532,   982,  4861,  4548,  1853,
2998     1854,  2802,  4737,   766,   982,   982,  2055,  3497, -1672,  3036,
2999     1969,  1970,  2908,  1974,  4986,  1141,   774,   774,  3227,   774,
3000     2938,  2337,  3228,  3229,  3230,  3419,  2939,  3068,  1476,  1586,
3001     1337,  1472,  1338,  4024,  2338,  4762,  2909,  3498,   720,   753,
3002     4641,  1632,    39,   671,  2910,  1260,  3990,  2911,   671,   671,
3003     2806,  2273,  1561,  2868,  3691,  4176,  3908,  4177,  4918,   772,
3004      772,  1106,   772,  4921,   767,  2697,  4695,   596,  4069,  4658,
3005     4738,  3279,  1296,  3280,  3260,    43,  2803,  4866,  4259,  1976,
3006     3267,  1587,  1563,  2245, -2422, -2422, -2422,  3326,  3237,  3238,
3007     3239,  3240,  3241,  3242,  3962,  2483,  3281,  3963,  2816,  2533,
3008      763,  2135,  1564,  2581,  2869,  4545,  3879,   830,  1316,  2274,
3009     2136,  1261,  4246,  4239,  1663,    47,  3104,  4964,  2277,   597,
3010     4666,  2612,  2909,  2755,  1128,  2940,  4546,   830,    48,  3372,
3011     2910,  4698,   768,  2911,  3129,  4703,  4704,  3232,   718,   830,
3012     2056,  4158,  1107,  2947,  2672,  1633,  1562,  3321,  4463,    49,
3013     2920,  3321,   671,  2315,   598,  3135,   599,  2328,  2923,  4802,
3014     2925,  2728,   671,  2706,  2729, -1672,  1978,   830,  3130,  2245,
3015     4609,  2372,  3587,  3920,  1588,  1477,  1643,  -998,   830,  4990,
3016     4809,  4810,  3420,  4527,  1643,  1301,  2817,  2919,  3231,  4178,
3017     3323,  2870,  2160,   830,  3323,  2828,   830,  3233,  2216,  2096,
3018     3282,  1095,  1096,  4601,  1979,  3283,  2551,  2551,  1664,  3232,
3019     1478,  2551,  2278,  3118,  1141,  2944,   983,  3227,    39,   853,
3020     2402,  3228,  3229,  3230,  3726,  1589,   671,   568,  3909,   671,
3021      671,  2965,  1839,  1763,  4785,  2806,  3344,  1475,  3810,   944,
3022     1479,   945,  2057,  2405,  3052,  3053,  3054,  3055,  2551,  2551,
3023     2945,    43,   742,  1565,  1303,  2219,  3060,   769,  1980,   837,
3024     3910,  4786,  3389,  3522,  2918,  3442,   838,   839,   840,  3233,
3025     3102,  2245,  2941,  3119,  3903,   882,  3421,  4102,  3107,  3974,
3026     2946,  3911,  1322,  2070,  2846,   570,  2931,  2792,  4817,  3226,
3027     1340,    47,  2759,  2071,   822,  1340,  2466,  1840,   671,  2325,
3028     3128,  3254,  1981,   882,    48,  4052,  3750,  2942,  1797,  1590,
3029     2649,  4055,  4056,   830,  4058,  3137,  2971,  1323,  3139,  3140,
3030     2212,   830,   830,  3143,  3144,    49,  3768,  2802,  3769,  3523,
3031     3148,  1952,  3284,  3277,  2742,  1643,  1476,  2943,   853,    50,
3032     2847, -1672,  3285,  2871,  1340,  3975,  3397,  1324,  1340,  3584,
3033    -1672,  4818,  1603, -1672,  1325,  4576, -1672,  1982,   640,   973,
3034     1301,  3920,  4142,  1327,  4143,  1302,   764,  1805,   883,  2190,
3035     1632,  3303,  3526,  2825,  2193,  3234,  3235,  3236,    14,  3237,
3036     3238,  3239,  3240,  3241,  3242,  4945,  1952,   551,  2784,  1435,
3037     2848,  4753,  3187,  2183,  1532,  2378,   883,  3729,  1328,  4767,
3038     2799,  1427,  2803,  3506,    34,  2386,  4042,  2387,  3232,  3159,
3039      884,    19,  4391,  4070,  2392,  4750,  2596,  4277,  2597,   715,
3040      778,  1402,  2398,  2242,  1436,  3719,  4043,  2248,  1329,  1303,
3041     2189,  1452,  2804,   578,  2046,   579,  3730,  2072,   884,   561,
3042     2832,  2598,  4545,   180,  2047,   184,  2849,  3234,  3235,  3236,
3043     3770,  3237,  3238,  3239,  3240,  3241,  3242,  4778,  2184,  1548,
3044     3771,  2048,   885,  4546,   813,  3400,  1453,  2805,  3233,  1304,
3045     4633,  2439,  2073,  2440,  3080,  2441,   187,  2442,  4071,  2443,
3046     2489,  2672,  4278,  2444,  2902,   966,  1085,  1087,  1089,  2203,
3047      885,  1091,  1092,  1093,   929,   180,   926,   184,   927,   928,
3048     4432,  1098,  2950,  1075,  3377,  2536,  3661,  4526,   187,  3665,
3049     2730,  3853,  1256,  3348,  4689,  3321,   967,  4692,  2297,   188,
3050     3321,   568,  2477,   974,  1681,  3321,  3686,  1682,  3321, -2076,
3051     1610,  1611,  2951,  -156,  4557,  3417,  3927,  4859,   983,  1330,
3052     2599,  3854,  -992,  2152,   830,  2600,  2525,  2526,   968,  4552,
3053     2601,   188,  3321,  2540,  2541,  2399,  4229,  2252,  3323,  -156,
3054     2152,  2806,  4865,  3323,  2488,  3321,  3856,  1454,  3323,  2594,
3055      815,  3323,  3098,  2135,  2153,    31,  4558,   975,  2313,   570,
3056     4602,  2579,  2143,   976,  4372,  2694,  2695,  2511,  4629,  4284,
3057     4285,  2153,  2253,  1952,   969,  3323,  2658,  2345,  2049,  3010,
3058      983,  4559,    39,    39,  4505,   660,  4507,  1615,  3323,  1863,
3059     4394,  4603,   835,  3928,   830,  4381,  1331,  4560,   830,  2204,
3060     1797,  4561,  2205,  3048,  3332,  3333,  1616,   661,  2734,  2025,
3061      830,  3759,   836,  2738,  3147,    43,    43,  2741,  1430,   872,
3062     1617,  4562,   966,  3927,  4563,  4438,  3234,  3235,  3236,  1803,
3063     3237,  3238,  3239,  3240,  3241,  3242,   853,  4564,  2780,  1431,
3064     3785,  3335,  3403,  2765,  2026,   822,   881,  1332,  3725,  3929,
3065     3858,  3930,  2140,   967,  2141,    47,    47,  2602,  3409,  1805,
3066     1671,  1252,  4777,  4812,   934,   931,  4733,  2603,    48,    48,
3067     4545,   843,   844,   845,  2027,   846,   847,   848,   849,   850,
3068      851,  1672,  1843,   830,   830,  3639,  3321,  2818,   936,    49,
3069       49,  4546,  3491,  4723, -1520,  4025,   830,   939,  4724, -1520,
3070     3928,   221,  1615,    50,    50,   947,   552,   578,  3925,   579,
3071     2142,   830,   830,  4956,   638,   568,  4026,  4565,   948,   581,
3072      949,  1616,  3460,   830,  3462,  4566,   953,  3492,  3432,  3323,
3073      583,   969,   716,  1548,   568,  1619,   961,  2866,  4981,  3057,
3074     1333,  3642,   971,  4725,  3058,  3338,  2708,   180,  3321,  3796,
3075     3651, -1542, -1542,  3455,  2692,  2692,  3929,  3493,  3930,   985,
3076     3199,  1280,  4567, -1520,  2162,  2434,  2749,  3177,  2752,   982,
3077     2824,   947,  1465,   570,  4346,  2914,  4347,  4348,  2162,  2746,
3078     4349,  3382,  4892,  -524,  3189,  3288,  1603,  1433,  2032,  3905,
3079     1334,  3323,   570,  2926,  1603,  3195,  2032,  2514,  3120,  3122,
3080     3123,  -525,  1482, -1520,  2936,  1486,  3253,  1466,  3255,  3256,
3081      983,  1467,  1736,   671,  3595,  1737,  3200,  2961, -1546, -1546,
3082     3596,  3201,  3353,  2649,  4801,  1335,   947,   654,  2649,    34,
3083     1603,  3597,  1325,  3545,  2649,  3852,  2903,  1468,  1251,  3552,
3084     4720,   970,  4722,  1952,  3594,  1750,  4726,    50,  4727,  3058,
3085     3584,   989,   972,  3955,  -419,  1336,  3947,  3435,  1032,  3598,
3086     1959,  3599,  3740,  1960,  2209,  3959,  3964,  2551,  2551,  2551,
3087     2551,  1040,  2810,  2551,  2551,  2551,  2551,  2551,  2551,  2551,
3088     2551,  2551,  2551,  1269,  1337, -2057,  1338,  1270,  1046,  4640,
3089     1691,  2968,  2368,  1693,  2369,  1695,  1041,  1697,  1962,  1699,
3090     3794,  1963,  2514,  1703,  3745,  2163,  3853,  3977,  2433, -1545,
3091    -1545,  2434,  3700,  3701,  1066,  2446,  3611,  2162,  2447,  2163,
3092     1070,   578,  4977,   579,  1603,  1057,  2032,  3321,   983,  2551,
3093     2551,  3486,  2164,  3073,  1339,  3074,  3854,   654,  3600,    39,
3094      578,  1796,   579,  3761,  1797,  1101,  2164,  1548, -2422, -2422,
3095    -2422,  3855,  3321,  2448,  1105,  2165,  2447,  2166,  4063,  1109,
3096     4064,  3856,  3407,  -419,  1112,  2875,   584,  3973,   671,  2165,
3097     3323,  2166,    43,  1803,  3386,  3387,   671,  3790,   671,  1804,
3098     4125,  3696,  2480,  2671,  1115,  2481,  2672,  3857,  2822,  2985,
3099     2160,  2823,  4982,  1117,  4983,  3323,  3601,  2985,  3304,  2573,
3100     3305,  3602,  2576,  1805,  2160,  2985,  4468,  2985,  3707,  3708,
3101     4597,  3710,    47,  3712,  3713,  2893,  1118,  2223,  2894,  2162,
3102     3007,  3011,  3832,  3008,  3012,    48,  3720,  1141,  3105,  3151,
3103     3227,  2434,  2447,  1119,  3228,  3229,  3230,  4943,  1125,  3198,
3104     3603,  3207,  2434,  1128,  2434,  3164,    49,  1438,  1291,  3213,
3105    -1472,  4201,  2434,  3051,  3604,  3188,  3214,  1126,  2163,  2434,
3106       50,  3192,  1127,  3178,  3741,  3858,  3743,  3410,  4553,   830,
3107     4966,  3164,  3215,  1952,   830,  2434,  3246,  3259,   830,  2434,
3108     2434,  3922,  3923,  3081,  3422,  2164,   830,  4412,  1129,  4113,
3109    -1484,   982,  3069,   180,  3264,  1439,  3086,  3265,  3473,  1134,
3110     3478,  3474, -1484,  3479,   830,  1130,  3049, -1484,  2165,  1806,
3111     2166,  3306,  1131,  3307,  1807,  4922,    28,  3673, -1483,  2251,
3112     3674,  3698,  1135,  3746,  2434,  4889,  3791,  3509,  3801,  3792,
3113    -1483,  3802,  1298,  3812,  1300, -1483,  2434,  3517,  3627,  4996,
3114     3321,  3894,  3605,  2160,  3895,  4469,  3899,  1137,   830,  3900,
3115     1810, -1484,  3584,   982,   853,  1264,  3904,  3113,  3115,  2729,
3116     2163,  1255,  3926,  3852,  3124,  2447,   830,   830,  1258,  1262,
3117      983, -1484,   983,  3999,   766,  1263,  4000,  1440,  3499, -1483,
3118     3501,  4104,  2399,  3323,  2447,  4155, -1521,  2164,  1728,  3943,
3119     4173, -1521,  4228,  2434,  4231,  1812,  1281,  1952,   830, -1483,
3120       39,  1952,  3324,  1268,  3612,  4199,  3614,  1289,  2481,  1288,
3121     2165, -1484,  2166,  1291,  4149,  4150,  4151,  4211,  1292, -1484,
3122     2434,  3232,  3733,  1299,  1314,  1441,  3349,   671,  1442,  1315,
3123     1319,  1325,   830,    43,  3853,   767,   830,  2551,  2211, -1483,
3124      983,  3546,  1355,  1360,  1384,  2160,   761, -1483,  1497,  4262,
3125     1141,  1388,  2729,  3227,   830, -1521,  1386,  3228,  3229,  3230,
3126     3620,  4625,  3623,  3324,  3854,   830,  3560,  1444,  1796,  4268,
3127     1389,  1797,  4269,    47,  3679,  1422,  1425,  1814,   830,  3855,
3128     4274,  3233,  4275,  2447,  1424,  2447,    48,   830,  1426,  3856,
3129      761,  1788,  1427,  4396,  4443, -1521,  4397,  4444,  4445,  3868,
3130     1803,  2434,  4453,   768,  1429,  2481, -2422,    49,  1446,  4524,
3131     4598,  3383,  4525,  2447,  4626,  3857,  1434,  4627,  3873,  3874,
3132     3875,  4923,  1460,  4642,  1141,  4650,  2481,  3227,  4651,  1437,
3133     1805,  3228,  3229,  3230,  1461,  1788,  4655,  4394,  4661,  2672,
3134     2162,  3649,  1952,  2162, -1484,  1473,  4663,  1448,  4202,  3649,
3135     4675,  1483,  2594,  4676,  3405,  1484,  4713,  1487,  2832,  4714,
3136     4293,  4749,  1492,  1493,  1842,  3309,  3310,  3311,  3297,  1498,
3137     1815,  1501, -1483, -2422, -2422, -2422,  1503,  1819,  1820,  1821,
3138     1822,  1823,  1824,   982,  3315,  4769,  1500,  1506,  4676,  3697,
3139     1510,  4779,  1517,  3858,  2481,  1955,  4780,  4781,  4791,  3265,
3140     2434,  2672,  4571,   761,  1511,  1518,  4794,  2162,   830,  3649,
3141     3739,  1521,  1523,  1526,   929,   180,   926,   184,   927,   928,
3142     1529,  4816,  1536,  2514,  2481,  3339,  1541,   671,   769,  2162,
3143     4822,  4823,  4849,  2481,  2481,  4850, -2422,  1539,  1550,  4881,
3144     2813, -2422,  2672,  2888, -2422,  3315,  1552,  1553,   760,  3354,
3145     3354,  4882,  4883,  4885,  2434,  2434,  2434,  -177,  1532,  3234,
3146     3235,  3236,  3482,  3237,  3238,  3239,  3240,  3241,  3242,  1555,
3147      830,  1569,    28,  4047,  4059,  3502, -2329, -2422,  1557,  4902,
3148     4939,  2163,  4903,  3649,  2163,  4942,  3506,  4965,  4669,  1571,
3149     4676,  1578,  3754,  4979,  5005,  1580,  4980,  4980,  1584,   206,
3150     1591,   982,  1596,  1597,  3233,  1598,   830,  3521,  2164,  1599,
3151     1603,  2164,  4183,  3763,  4333,  4334,  1606,  4336,  3232,  1607,
3152     1609,  1623,  1812,  1640,   830,  1639,  1642,  1650,  1643,  3527,
3153     1653,  2165,   830,  2166,  2165,  1654,  2166,  1655,  3786,  1795,
3154     1656,  1657,  1658,  1660,  1796,  1665, -1484,  1797,  2163,  1666,
3155     1667,  1798,  1799,  1800,  3557,  3349,    39,  1705, -1484,  1668,
3156     1680,  2162,  3349, -1484, -2329,  1670,  2160,  1675,  1801,  2160,
3157     2163,  1802,  1731,  1733,  1740,  2164,  1803,  4194,  3233,  4135,
3158     1738,  1741,  1804,  4412,  1747,  4141,  1748, -1676,  3476,    43,
3159    -1683,  1755,  1757,  4144,  4145,  4146,  4147,  2164,  2165, -1673,
3160     2166,  1756,  1758,  1759, -2422,    50,  1805, -1484,  1761,  1952,
3161     1762,  1763, -1674, -2329,  1764,  1952,  1765,  1766,  1768,  1769,
3162     2165,  1770,  2166,  1771, -1677, -2329,  1772, -1484, -1675,    47,
3163    -2329,  1828,  3515,  2160,  1773, -2329,  1774,  1775,  1777,  1778,
3164    -2329,  1779,    48, -2329,  1830,  1832, -2329,  1780,  1846,  1781,
3165     1833,  1782,  1783,  1858,  1784,  2160,  1866,  4152,  1302,  1967,
3166     1304,  3556,  1842,    49,  1998,  2009,  2000, -1484,  2028,  2029,
3167     2030,  2032,  2033,  2034, -2329, -1484,  2035,    50, -1251,  2036,
3168    -1251,  3548,  3234,  3235,  3236,  2037,  3237,  3238,  3239,  3240,
3169     3241,  3242,  2044,  2069, -2329,  2038,  2063, -2422,  2075,  2098,
3170      830,  2102,  2163,  2985,  1819,  1820,  1821,  1822,  1823,  1824,
3171     2985,  2985,  1806,  2104,  2985,     3,     4,  1807,   822,  2106,
3172     2105,  2985,  2107,  2109,  3576,  2110,  2245,  2125,  2162,  2164,
3173     3586,  2126,  2138,  2127, -2329,  2139, -2329,  3586,  1808,  1809,
3174     2154,  3728, -2329,   982,  2150,   982,  2157,  2156,  2158,  2159,
3175     2168,  2160,  2165,  1810,  2166,  2172,  3234,  3235,  3236,  2169,
3176     3237,  3238,  3239,  3240,  3241,  3242,  3742,  2173,  2174,  2188,
3177     2191,  2162,   830,   640,   671,  4378,  2179,  2199,  2180,  2195,
3178     2196,   671,  2206,  3647,  2207,  1811,  1402,  2160,   830,   830,
3179     2213,  2235, -2329,    14,  2218,  2214,  2236,  2240,  1812,  2241,
3180    -1484,  1813,  2264,  2265,  3624,  2224,  2225,  2237,  2246,  2250,
3181     2272,  4282,  3678,   982,  2551,   830,  2280,  2281,   830,  2266,
3182     3668,   180,  2283,  4446,  2284,  2287,    19,  2292,  3948,  4113,
3183     1796,  2285,  2293,  1797,  2298,  2302,  4556,  1798,  1799,  1800,
3184     2301,   685,  3695,   180,  2305,  4301,  4302,   563,  4087,  4088,
3185     2309,  2314,  2306,  1454,  1801,  2329,  2334,  2347,  2351,  2359,
3186     1269,  4092,  1803,  1291,  1270,  2363,  2365, -2329,  1804,  2163,
3187     2367,  3978,  3324,  2350,  3324,  2371,  3699,  2376,  2382,  2384,
3188     1814,  2385,  3826,  2406,  2391,  2389,  2390,  2393,  2394,  2395,
3189     2396, -2329,  1805, -2329, -2329,  1321,  2164,  2397,  2408,  1952,
3190     1952,  1952,  2409,  2410,  2428,  2429,  2459,  2411,  2465,  2478,
3191     2491,  4089,  2163,  2519,  2568,  2524,  4931,  4932,  2574,  2165,
3192     1797,  2166,  2578,   830,  4343,  4344,  2587, -2329,  2628,  2607,
3193    -2329, -2329, -2329,  2593,  2627,  2605,   830,  1796,  1952,  2164,
3194     1797,   830,  1110,  2642,  2656,  4252,  2659,  2660,  2662,  2663,
3195     2664,   830,   767,  2673,  2160,  3324,  2686,  4654,  2687,  2674,
3196     2688,   671,  2165,  2703,  2166,  2709,  2689,  2719,  4654,  1803,
3197     2718,  2721,  2731,  1815,  2733, -2422,  1816,  1817,  1818,  2732,
3198     1819,  1820,  1821,  1822,  1823,  1824,  2753,  2750,  2755,  2757,
3199       31,  2758,  2774,   761,  2764,  2769,  3807,  2160,  1806,  1805,
3200     2779,  2775,  2781,  1807,  2777,  2798,  2789,  2797,  3944,  2801,
3201     2785,   761,  2815,  2820,  1252,   830,  2814,    39,  4425,  1256,
3202     2831,  4426,  4427,  2836,  1808,  1809,  2856,  2837,  2850,  3349,
3203     2855,  2877,  2882,  3834,  3835,  3836,  3837,  4431,  1788,  1810,
3204     2883,  2885,  2898,  4711,  2892,  2913,  5003,  5004,  2956,  2895,
3205       43,  2967,  2979,  1952,  3841,  2974,  3844,  2975,  2978,  2980,
3206      830,  2986,   830,  2987,  3276,  4250,  1363,  2988,  2990,  2989,
3207     2994,  1811,  2997,  3005,   830,  2999,   830,  3001,  2551,  3006,
3208     3013,  3025,  3039,  3050,  1812,  3041,  3043,  1813,  3056,  3059,
3209       47,  3066,  3065,  3064,   641,  3067,  3079,  2495,  3078,  1364,
3210     3076,  1731,  3082,    48,  3097, -2422,  3083,  3096,  3099,  3100,
3211    -2422,  3101,  3103,  4027,  3108,  3106,  4030,  1632,  3111,  3109,
3212     3110,  3112,  3125,  3127,    49,  3136,  3141,  3138,  3145,  3117,
3213      830,  3126,  3142,  3146,  3150,  3153,  3154,  3155,   642,  3156,
3214     3165,  2492,  3167,  2672,  2496,  1676, -2422,  3158,  3168,  4792,
3215     3169,  3176,  3179,  3184,  1107,  3186,  3191,  1366,  3190,  3193,
3216     3194,  3209,  3210,  3212,  4644,  3211,  1814,  3196,  3216, -1935,
3217     3217,  4365,  3219,  3222,  3223,  2497,  3245,  2434,  4291,  3261,
3218     3251,  3258,  3272,  3273,  3278,  3286,  3296,   830,  3298,  3295,
3219     1367,  1812,  3299,  3300,  3326,  3302,  3351,  2498,  3363,  3331,
3220     4556, -1548,   830,  1790,  3586,  3356,  3357,  3367,  2499,  3359,
3221     3361,  3374,  3380,  3390,  3399,  3402,  4094,  3395,  3388,  3404,
3222     4283,  3391,  3412,  3396,   830,  1368,  3439,   830,  2500,  4479,
3223     3428,  3429,  3446,  2501,  3445,  4717,  4494,  4008,  4504,  3441,
3224     4009,  4329,  4010,  3447,  4699,  3458,  4007,  3459,   671,  3448,
3225     3461,  4300,  3467,  4569,  3469,  3468,  4702,  3487,  1369,  1815,
3226     3477,  3508,  1816,  1817,  1818,  3512,  1819,  1820,  1821,  1822,
3227     1823,  1824,  4315, -2422,  3510,  3513,  3516,  3518,  3519,  3218,
3228      671,  2502,  3520,  3528,  3529,  3530,  2985,  1371,  3531,  4707,
3229     3532,  4709,  2985,  2985,  3535,  2985,  3533,  3538,  3534,  3543,
3230     3540,  3576,  2503,  3549,  1952,  3542,  3551,  3536,  2233,  3537,
3231     3164,  4639,  3547,  3562,  3539,  3578,  3568,  3541,  3544,  3553,
3232     3569,  3555,  3571,  3588,  3634,    34,  3619,  2118,  3591,  1373,
3233     4342,  3618,  3625,  3636,  3638,  3640,  1374,  3648,  3659,  3649,
3234     3657,  3662,  3666,  1375,  3663,  3667,  3671,  3670,  1095,  1096,
3235     3683,  2119,  3694,  3702,  1625,  3703,  3721,  3732,  3722,  3705,
3236     3723,  3709,  3711,  1377,  3724,   206, -2422,  3727,  4784,  3735,
3237     3736,  1378,  3734,  1819,  1820,  1821,  1822,  1823,  1824,  3744,
3238     4793,  3747,  3749,  3753,  3248,  4795,  4681,  4797,  3227,  3247,
3239    -1934,  3762,  2504,  3814,  4124,  4828,   768,  3803,  3843,  2505,
3240     1390,  3889,  1750,  4963,  3827,  2506,  1391,  4120,   180,  4834,
3241     4836,  3324,  3870,  3892,  3787,  3324,  3865,  3897,  3815,  4417,
3242     4595, -2331,  3788,  3789,  3913,  1379,  3907,  3934,  3795,  3818,
3243     3942,  4712,  3949,  3867,   853,  3950,  3951,  2507,  3952,  3833,
3244     2508,  3851,  3936,  3937,  3880,  3885,  1392,  3882,  3884,  4649,
3245     4512,  3883,  3954,  3956,  3965,  3968,  3980,  3981,  2509,  3982,
3246     3983,  3993,  3994,  3995,  3996,  1731,  4963,  3997,  4163,   830,
3247     3998,  4163,  4002,  4163,  4001,  4004,  4005,  4014,  4015,  4022,
3248     4037,  4039,  4041,  2510,  3960,  4963,  4719,  4051,  4044,  4050,
3249     4053,  4054,  4057,  4074,  4533,   671,  3685,  4097,  1394,  4066,
3250     4077,  4082,  4084,  4090,  4098,  1395,  2447,  4100,  1396, -2331,
3251     4106,  4101,  4117,  4118,  4133,  1952,  4130,  4131,  4904,  4136,
3252     1952,  4139,  1952,  4148,   680,  4153,   682,  4137,  4134,  4157,
3253      688,  4528,  4159,  1397,  4160,   702,   710,   680,  4175,   717,
3254     4140,  4164,   710,   710,  4165,   746,  4167,   749,  4185,  4170,
3255     3349,  4179,  4184,  4180,  4186,  4187,  4224,  4192, -2331,  4232,
3256     4188,  4310,  4225,  4207,  1398, -1936,  4220,  4233,  4219,  4222,
3257    -2331,  4238,  4240,  4320,   830, -2331,  4237,   830,  4241,  4243,
3258    -2331,  4244,  4828,  4245,  4251, -2331,  4258,  4261, -2331,  4263,
3259     4265, -2331,  4270,  3315,  4271,  2077,  4279,  3315,  4296,  4297,
3260     2078,  4303,  4304,  4326,  4247,  4305,  4249,  4316,  4319,  4949,
3261     4328,  4337,  4331,  4358,  4332,  4345,  4359,  4366,  4350, -2331,
3262     4371,  4375,  1399,  4377,  1400,  4379,  4382,  4385,  4398,  4387,
3263     4405,  4376,  4264,  2079,  1401,  4253,   180,  4368,  4407, -2331,
3264     4408,  4409,  1402,  4410,  4418,  4423,  2080,  4430,  4429,  4447,
3265     4439,  4440,  1403,  4450,  4458,  4442,  4449,  4492,  4472,  4451,
3266     2081,  4452,   830,   830,  4465,  4498,  4501,  4506,  4517,  4476,
3267     4551,  4496,  4502,  4521,  4520,   830,  4530,   830,  4570, -2331,
3268     4572, -2331,  4581,  4073,  4535,  4536,  4600, -2331,  4579,  4584,
3269     1405,  1406,   804,   809,   809,   812,  4298,   809,  4586,   818,
3270     2082,   804,  4606,   746,  4540,  4607,   855,   983,  4582,  4585,
3271     4605,  2083,   746,  4611,  4613,   746,  4628,  1407,  4616,   809,
3272     4617,   746,  4630,  4632,  4631,  3586,  1731,  4645,  4648,  4652,
3273      671,  2084,  4657,  4660,  4669,  4664,  2085, -2331,  4673,  3164,
3274     4693,  4734,  4739,  4691,  4746,  4751,  4764,  4765,  4757,  4665,
3275     4766,  4667,  4313,  4314,  4706,  4684,  4743,  4317,  4318,  4744,
3276     4773,  4774,  4776,  4775,  3546,  4782,  4340,  4341,  4944,   671,
3277     4783,   830,  4790,  4799,  4796,  2985,  4800,  2985,  2985,  3324,
3278     1408,  2985,  4803,  4811,  3324,  4804,   685,  4815,  4819,  3324,
3279     4700,  4833,  3324,  4474,  4839,  1390,  4840,  4843,  4806,  4845,
3280     4851,  1391,  4848,  4853,  4854,  2086,  4864,  4870,  4862,  4871,
3281     4863,  4879, -2331,  3828,  4898,  4891,  3324,  1731,  4905,   853,
3282     4841,  1731,  1731,  4893,  4912,  4389,  1438,  4842,  4913,  3324,
3283     4934,  4940,  4953,  4974,  4978,  4988, -2331,  2087, -2331, -2331,
3284     4917,  1392,  4984,  3164,  4975,  3164,  4972,  4392,   180,  4985,
3285     4973,  4992,  3349,  4993,  4411,  4999,  4997,  5000,  4998,  5001,
3286     1293,  2247,  3045,   853,  4808,  1458,  1865,   983,   206,  1387,
3287     2881,  3341, -2331,  4532,  1439, -2331, -2331, -2331,  3971,  2966,
3288     1457,  3454,  3577,  4060,  4163,  4728,  4827,  4951,  4163,  4163,
3289     4610,  4163,  4086,  1394,  4363,  4612,  4594,  3152,  4894,  3393,
3290     1395,  4510,  2088,  1396,  4947,  4846,  4844,  4911,  2089,  3398,
3291     4121,  2090,  4105,  4081,  4772,  3969,   822,  3023,  3024,  3471,
3292     4093,  4380,  2326,  3014,  4952,  3644,  5002,  4583,  1397,  4989,
3293     3592,  3589,  4915,  4534,  4821,  2308,  4899,  4537,   687,  4154,
3294     2091,  1796,  1725,  4679,  1797,  1735,  2724,  2092,  1798,  1799,
3295     1800,  4127,  3381,  4771,  2093,  1058,  1440,   984,  2485,  1398,
3296     2487,  2094,  2486,  3550,  4925,  1801,  3315,  2667,  4991,  4323,
3297     3324,  3315,  2668,  1803,  3315,  2043,  4254,  2438,  4888,  1804,
3298     1964,  3901,  2702,  1265,  1838,  3347,  2095,  3358,  3881,  2683,
3299     4884,  4798,   830,  4248,  1995,  1994,  3360,  1952,  3846,  4218,
3300     4503,  4230,  2701,  1805,  1441,  1999,  4659,  1442,  2004,  3842,
3301     4789,  4497,  4788,  3902,  3704,  4643,  3797,  1443,  4495,  1400,
3302     2383,  4886,   830,  4887,  4878,  3350,  3293,  3586,  3204,  1401,
3303     3291,  3343,  3324,     0,   830,     0,     0,  1402,  2632,     0,
3304     2641,  1952,     0,     0,     0,     0,  1444,  1403,     0,     0,
3305        0,   891,     0,     0,   983,   830,     0,   746,     0,   804,
3306        0,     0,   809,     0,   812,     0,   809,     0,     0,  2985,
3307        0,   671,     0,   855,     0,     0,     0,   958,     0,     0,
3308        0,     0,  1445,     0,   809,  1405,  1406,  1446,     0,     0,
3309        0,     0,     0,  1796,     0,     0,  1797,     0, -2345,     0,
3310     1798,  1799,  1800,     0,     0,     0,     0,     0,   804,  1806,
3311        0,     0,  1447,   812,  1807,     0,     0,  1801,   804,     0,
3312     4599,   180,   855,     0,     0,  1803,  1448,     0,     0,     0,
3313        0,  1804,     0,     0,     0,  1808,  1809,     0,     0,   809,
3314        0,     0,     0,     0,  4745,     0,     0,     0,  4621,   180,
3315     1810,     0,     0,     0,     0,  1805,     0,     0,     0,     0,
3316        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3317        0,     0,     0,     0,     0,  1408,     0,     0,     0,     0,
3318      761,     0,  1811,     0,     0,     0, -2345,     0,   746,     0,
3319        0,     0,     0,     0,     0,  1812,     0,     0,  1813,   761,
3320      830,   746,     0,  1124,     0,     0,     0,     0,     0,     0,
3321        0,  3324,     0,     0,  3315,     0,     0,     0,     0,     0,
3322        0,     0,     0,  1237,  1237,  1788,   746,   710,     0,     0,
3323        0,   710,     0,   853,     0, -2345,  3324,     0,     0,     0,
3324        0,     0,     0,     0,  1788,   746,     0, -2345,     0,   746,
3325        0,     0, -2345,     0,     0,  1237,     0, -2345,     0,     0,
3326        0,  1806, -2345,     0,     0, -2345,  1807,   746, -2345,     0,
3327        0,     0,     0,     0,     0,     0,     0,  1814,     0,   746,
3328      982,     0,     0,     0,  4721,     0,     0,  1808,  1809,     0,
3329        0,     0,     0,     0,  4729,     0, -2345,     0,     0,     0,
3330        0,     0,  1810,     0,   830,     0,   830,     0,     0,     0,
3331        0,     0,     0,     0,     0,     0, -2345,  4857,     0,     0,
3332        0,     0,   746,     0,   671,     0,     0,     0,     0,     0,
3333        0,     0,     0,     0,  1811,     0,     0,     0,   746,     0,
3334        0,     0,     0,   809,   809,   830,     0,  1812,  4758,   180,
3335     1813,     0,     0,     0,     0,     0, -2345,     0, -2345,     0,
3336        0,     0,     0,     0, -2345,     0,     0,     0,   710,   710,
3337     1815,     0,     0,  1816,  1817,  1818,  4897,  1819,  1820,  1821,
3338     1822,  1823,  1824,     0,  3164,     0,     0,     0,     0,     0,
3339     3268,  1952,     0,     0,     0,   804,  1796,     0,     0,  1797,
3340        0,     0,     0,  1798,  1799,  1800,   804,     0,     0,     0,
3341      855,     0,     0,     0, -2345,     0,     0,     0,     0,     0,
3342     1801,     0,     0,     0,  3324,   809,     0,     0,  1803,  1814,
3343      822,   822,     0,     0,  1804,     0,     0,     0,     0,     0,
3344      982,     0,     0,     0,  4831,   746,  4832,     0,     0,     0,
3345     4837,  4838,   809,   809,     0,     0,     0,     0,  1805,     0,
3346        0,     0,     0,   685,     0,     0,     0,     0,     0,   746,
3347      746,   746,     0,   809,     0,   804,     0,     0,     0,  1796,
3348        0,     0,  1797,     0,     0,     0,  1798,  1799,  1800, -2345,
3349        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3350        0,     0,     0,  1801,     0,     0,     0,     0,     0,     0,
3351        0,  1803,     0, -2345,     0, -2345, -2345,  1804,     0,     0,
3352        0,     0,  1815,     0,     0,  1816,  1817,  1818,     0,  1819,
3353     1820,  1821,  1822,  1823,  1824,     0,     0,     0,     0,  2577,
3354        0,  1805,   809,     0,   809,   809,     0,     0,  4995, -2345,
3355        0,     0, -2345, -2345, -2345,     0,     0,     0,     0,     0,
3356      822,   822,     0,     0,  1806,     0,  1952,     0,     0,  1807,
3357        0,     0,  1237,     0,     0,     0,     0,     0,     0,     0,
3358        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3359     1808,  1809,     0,     0,     0,  4916,   180,   830,     0,     0,
3360        0,     0,  1708,  1708,     0,  1810,     0,   746,     0,   680,
3361     4930,   180,  4927,   184,  4928,  4929,     0,     0,     0,     0,
3362     4971,     0,     0,     0,     0,     0,     0,   982,     0,     0,
3363     1739,     0,     0,   746,     0,     0,  1745,  1811,     0,     0,
3364        0,  4962,     0,     0,     0,     0,     0,  1806,     0,  1237,
3365     1812,     0,  1807,  1813,     0,     0,     0,     0,     0,     0,
3366        0,     0,     0,     0,  4930,  4970,  4927,   184,  4928,  4929,
3367        0,     0,     0,  1808,  1809,     0,     0,     0,  1237,     0,
3368        0,     0,     0,     0,  1796,  4961,     0,  1797,  1810,     0,
3369        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3370        0,     0,     0,     0,  4962,     0,  1237,  1237,  1237,     0,
3371     1237,     0,  3088,     0,     0,     0,  1803,     0,     0,     0,
3372     1811,     0, -2422,  4962,  4930,   180,  4927,   184,  4928,  4929,
3373     1237,  1363,  1814,  1812,     0,     0,  1813,     0,     0,     0,
3374     1363,     0,     0,     0,     0,     0,  1805,     0,  4961,     0,
3375        0,     0,     0,     0,     0,  1952,     0,   830,     0,     0,
3376        0,     0,     0,     0,  1364,     0,     0,  4961,   746,     0,
3377        0,  1237,     0,  1364,     0,     0,     0,     0,     0,     0,
3378        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3379        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3380        0,  1237,     0,  1365,     0,  1237,  1237,     0,     0,     0,
3381        0,  3287,     0,     0,     0,  1814,   746,   746,  2008,     0,
3382        0,     0,  1366,     0,     0,  1815,     0,     0,  1816,  1817,
3383     1818,  1366,  1819,  1820,  1821,  1822,  1823,  1824,   710,     0,
3384        0,     0,  3590,     0,     0,   830,     0,     0,     0,     0,
3385        0,     0, -2422,     0,     0,  1367,     0, -2422,     0,     0,
3386        0,     0,     0,     0,  1367,     0,     0,     0,     0,     0,
3387        0,     0,     0,  2108,     0,     0,     0,     0,   710,     0,
3388        0,     0,     0,     0,     0,  3089,     0,     0,     0,     0,
3389     1368,   746,  2134, -2422,     0,     0,     0,     0,     0,  1368,
3390      746,     0,     0,   809,     0,     0,     0,     0,  1815,     0,
3391        0,  1816,  1817,  1818,     0,  1819,  1820,  1821,  1822,  1823,
3392     1824,     0,     0,  1369,     0,  3755,   855,     0,   746,     0,
3393        0,     0,  1369,     0,     0,     0,   746,     0,  1812,   746,
3394        0,     0,     0,     0,   830,     0,     0,     0,     0,     0,
3395        0,     0,  1371,     0,     0,     0,     0,     0,  1952,     0,
3396     1370,  1371,     0,   746,     0,     0,     0,     0,     0,     0,
3397        0,   809,   809,   809,   809,   746,     0,     0,     0,     0,
3398        0,  1796,     0,     0,  1797,     0,     0,     0,     0,   746,
3399       34,     0,     0,     0,  3090,  1372,     0,     0,     0,    34,
3400     2260,  1374,   746,  1373,     0,     0,     0,     0,  1375,     0,
3401     1374,     0,     0,  1803,   809,   809,  2119,  1375,     0, -2422,
3402    -2422,  1952,     0,   809,     0,  1376,     0,     0,  1377,     0,
3403        0,     0,     0,   809,     0,     0,  1378,  1377,     0,     0,
3404     1952,     0,     0,  1805,  1796,  1378,     0,  1797,     0,     0,
3405        0,     0,   746,     0,     0,     0,  3091,     0,     0,     0,
3406        0,   809,   809,   809,   809,     0,     0,     0,     0,     0,
3407        0,     0,     0,   746,     0,     0,  1803,     0,     0,     0,
3408      746,     0, -2422,  2260,     0,     0,     0,     0,     0,     0,
3409     1379,     0,     0,   804,  3092,  1796,     0,     0,  1797,  1379,
3410      812,     0,  1798,  1799,  1800,  1237,  1805,     0,  3819,     0,
3411        0,     0,     0, -2422,     0,     0,     0,     0,     0,  1801,
3412     1819,  1820,  1821,  1822,  1823,  1824,     0,  1803,     0,     0,
3413        0,     0,     0,  1804,     0,     0,     0,     0,  1796,     0,
3414        0,  1797,   804,     0,     0,  1798,  1799,  1800,     0, -2422,
3415        0,     0,   855,     0, -2422,     0,   809,  1805,     0,   809,
3416        0,     0,  1801,     0,     0,     0,     0,     0,     0,   809,
3417     1803,  3822,  1796,     0,     0,  1797,  1804,   809,   809,  1798,
3418     1799,  1800,   746,     0,     0,     0,     0,     0,     0,     0,
3419    -2422,     0,     0,     0,     0,     0,  1801,     0,     0,     0,
3420     1805,     0,     0,     0,  1803,     0,     0,  1708,     0,     0,
3421     1804,     0, -2422,     0,   809,     0,   804, -2422,     0,     0,
3422      746,   746,     0,   809,     0,     0,     0,     0,     0,     0,
3423      746,     0,     0,     0,  1805,  1812,     0,   746,     0,     0,
3424        0,     0,   680,   680,     0,     0,  2494,     0,     0,     0,
3425     1237,     0,  1237, -2422,     0,     0,     0,  1237,  1237,     0,
3426        0,     0,     0,  1806,  1237,  1237,  1237,     0,  1807,     0,
3427     1237,   855,  1237,  1237,  1237,  1237,  1237,  1237,     0,  1237,
3428        0,  1237,  1237,     0,     0,  1237,     0,     0,     0,  1808,
3429     1809,     0,     0,     0,     0,     0,     0,     0,  1812,     0,
3430     1237,  1237,  1237,  1237,  1810,     0,  1806,   809,  1237,     0,
3431        0,  1807,  1237,     0,     0,  1237,     0, -2422,  1237,  1237,
3432     1237,  1237,  1237,  1237,  1237,  1237,  1237,     0,  1237,     0,
3433        0,     0,  1808,  1809,   746,  1237,  1811,  1237,     0,     0,
3434     1806,     0,     0,     0,   746,  1807,     0,  1810,     0,  1812,
3435        0,     0,  1813,     0,     0,     0,     0,     0,     0,     0,
3436        0,     0,     0,     0,     0,     0,  1808,  1809,     0,     0,
3437        0,     0,     0,     0,     0,     0,     0,     0,     0,  1811,
3438    -2422,  1810,     0,     0,     0,     0,     0,     0,     0,     0,
3439        0,     0,  1812,     0,     0,  1813,     0,     0,     0,     0,
3440        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3441    -2422,     0,     0,  1811,     0,     0,     0,  1819,  1820,  1821,
3442     1822,  1823,  1824,     0,     0,     0,  1812,     0,     0,  1813,
3443        0,  1814,     0,     0,     0,     0,     0,     0,     0,     0,
3444        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3445        0,     0,     0,     0,     0,     0,     0,     0,     0,  1796,
3446        0,   746,  1797,   746,     0,  1237,     0,     0,     0,     0,
3447        0,     0,     0, -2422,  1814,     0,     0,     0,     0,  1237,
3448     1819,  1820,  1821,  1822,  1823,  1824,     0,     0,  1237,  1237,
3449        0,  1803,     0,     0,     0,     0,     0, -2422,     0,     0,
3450        0,     0,   746,     0,     0,     0,     0,     0,  1814,  2710,
3451        0,  2717,     0,     0,     0,     0,     0,     0,     0,     0,
3452        0,  1805,     0,     0,  1815,     0,     0,  1816,  1817,  1818,
3453        0,  1819,  1820,  1821,  1822,  1823,  1824,     0,     0,     0,
3454      812,  3806,     0,     0,     0,     0,     0,     0,     0,   680,
3455        0,   680,     0,     0,     0,     0,     0,     0,     0,     0,
3456        0,     0,     0,     0,     0,     0,     0,  1815,  1237,     0,
3457     1816,  1817,  1818,     0,  1819,  1820,  1821,  1822,  1823,  1824,
3458      804,     0,   809,   809,  3915,     0,  3823,   804,     0,   855,
3459        0,   809,     0,   809,     0,     0,  1796,   809,     0,  1797,
3460      746,  1815,     0,     0,  1816,  1817,  1818,     0,  1819,  1820,
3461     1821,  1822,  1823,  1824,     0,     0,     0,     0,  4171,     0,
3462        0,   710,     0,     0,     0,     0,     0, -2422,  1803,     0,
3463        0,  2134, -2422,     0, -2422,     0,     0,     0,  1390,  2834,
3464        0,     0,     0,     0,  1391,     0,  2845,     0,     0,     0,
3465        0,     0,     0,     0,     0,   746,     0,     0,  1805,     0,
3466        0,     0,     0,     0,  1796,     0,     0,  1797, -2422,     0,
3467        0,  1798,  1799,  1800,     0,     0,   746,     0,     0,     0,
3468        0,  2890,  2890,     0,  1392,     0,     0,     0,  1801,     0,
3469      812,   710,     0,     0,     0,     0,  1803,     0,     0,     0,
3470        0,     0,  1804,     0,     0,     0,     0,     0,   809,     0,
3471        0,     0,     0,  1812,     0,     0,     0,     0,     0,     0,
3472        0,  1796,     0,  4205,  1797,     0,  1805,     0,  1798,  1799,
3473     1800,     0,     0,  1393,     0,  2955,  1394,  2958,  2960,     0,
3474        0,     0,     0,  1395,     0,  1801,  1396,     0,     0,     0,
3475        0,     0,     0,  1803,   808,   810,     0,     0,   814,  1804,
3476      816,     0,     0,     0, -2422,     0,   809,     0,     0, -2422,
3477        0,  1397,     0,     0,   809,     0,   809,     0,     0,     0,
3478      874,     0,   809,  1805,     0,     0,     0,     0,     0,     0,
3479     1796,     0,     0,  1797,  1237, -2422,     0,  1798,  1799,  1800,
3480        0,     0,  1398,     0,     0, -2422,     0,     0,  2134,     0,
3481        0,  2890,     0,   746,  1801,     0,  3046,     0,     0,   680,
3482        0,     0,  1803,     0,     0,     0,     0,     0,  1804,     0,
3483        0,     0,  1806,     0,     0,     0,     0,  1807,     0,     0,
3484        0,     0,     0,     0,     0,  2955,     0,     0,     0,     0,
3485     1812,     0,  1805,     0,   809,  3072,     0,     0,  1808,  1809,
3486     1399,     0,  1400,     0,     0,     0,     0,     0,     0,     0,
3487        0,     0,  1401,  1810,     0,     0,     0,     0,  1237,     0,
3488     1402,     0,     0,     0,     0,     0,     0,     0, -2422,  1806,
3489     1403,     0,     0,  3116,  1807,  1819,  1820,  1821,  1822,  1823,
3490     1824,     0,     0,     0,     0,  1811,     0,     0,   809,     0,
3491      809,  2890,   809,  2890,     0,  1808,  1809,     0,  1812,     0,
3492        0,  1813,     0,     0,     0,  1404,     0,     0,  1405,  1406,
3493     1810,     0, -2422,     0,     0,     0,  1237,     0,     0,     0,
3494        0,     0,     0,     0,     0,     0,     0,     0,  1390,  1708,
3495        0,     0,     0,     0,  1391,  1407,     0,     0,  1806,     0,
3496        0,     0,  1811,  1807,     0,     0,     0,     0,     0,     0,
3497        0,     0,     0,     0,     0,  1812,     0,     0,  1813,     0,
3498        0,     0,     0,     0,  1808,  1809,     0,   746,     0,     0,
3499        0,     0,     0,     0,  1392,     0,     0,   804,     0,  1810,
3500     1814,     0,     0,   804,     0,     0,     0,     0,     0,     0,
3501        0,     0,     0,     0,   809,     0,     0,     0,  1408,     0,
3502        0,  1237,     0,     0,     0, -2422,  1237,     0,     0,     0,
3503        0,  1811,  1819,  1820,  1821,  1822,  1823,  1824,     0,     0,
3504        0,     0,     0,  2175,  1812,     0,  1394,  1813,     0,  1237,
3505     1237,  1237,     0,  1395,  1237,     0,  1396,  1814,     0,     0,
3506        0,     0,  1237,  1237,  1237,  1237,     0,     0,     0,     0,
3507        0,     0,     0,     0,     0,  1237,     0,     0,  1237,     0,
3508     1237,  1397,     0,     0,     0,     0,     0,     0,     0,     0,
3509        0,  1237,  1237,  1815,     0,  1237,  1816,  1817,  1818,     0,
3510     1819,  1820,  1821,  1822,  1823,  1824,     0,   855,     0,  1237,
3511     4206,  1237,  1398,  1237,     0,     0,     0,     0,     0,     0,
3512        0,     0,     0,   935,     0,     0,  1814,   938,     0,     0,
3513        0,     0,     0,  1237,     0,     0,     0,   746,     0,     0,
3514        0,     0,     0,     0,  3325,   963,  1237,  1237,  1237,     0,
3515     1815,     0,     0,  1816,  1817,  1818,     0,  1819,  1820,  1821,
3516     1822,  1823,  1824,     0,  1237,     0,     0,  4437,     0,     0,
3517     1399,     0,  1400,     0,     0,     0,  1237,     0,     0,     0,
3518     1796,     0,  1401,  1797,     0,     0,     0,  1798,  1799,  1800,
3519     1402,  1237,     0,     0,     0,     0,     0,     0,     0,     0,
3520     1403,     0,     0,     0,  1801,  3325,     0,     0,  3366,     0,
3521        0,  3369,  1803,  2717,     0,     0,     0,     0,  1804,  1815,
3522        0,     0,  1816,  1817,  1818,     0,  1819,  1820,  1821,  1822,
3523     1823,  1824,     0,     0,     0,  2176,  4448,     0,  1405,  1406,
3524        0,     0,  1805,     0,  1796,     0,     0,  1797,     0,     0,
3525        0,  1798,  1799,  1800,  1390,  1237,     0,  2890,     0,     0,
3526     1391,     0,  1708,  1796,     0,  2177,  1797,     0,  1801,     0,
3527     1798,  1799,  1800,     0,     0,     0,  1803,     0,     0,     0,
3528        0,     0,  1804,     0,     0,     0,     0,  1801,     0,   809,
3529        0,   809,   809,   809,     0,  1803,     0,     0,     0,     0,
3530     1392,  1804,     0,     0,     0,     0,  1805,     0,     0,     0,
3531        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3532        0,     0,     0,     0,     0,  1805,     0,     0,  1408,     0,
3533        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3534        0,     0,     0,     0,     0,     0,     0,     0,  1806,     0,
3535        0,     0,  1394,  1807,     0,     0,     0,     0,     0,  1395,
3536        0,     0,  1396,     0,     0,     0,     0,     0,     0,     0,
3537        0,     0,     0,     0,  1808,  1809,     0,     0,     0,     0,
3538        0,     0,     0,     0,     0,     0,     0,  1397,     0,  1810,
3539        0,   593,     0,     0,     0,     0,     0,   639,     0,     0,
3540      746,     0,     0,     0,  1420,  1421,     0,   690,     0,     0,
3541        0,     0,  1806,     0,     0,     0,     0,  1807,  1398,     0,
3542        0,  1811,     0,     0,     0,     0,   758,   758,     0,     0,
3543        0,  1806,     0,     0,  1812,     0,  1807,  1813,  1808,  1809,
3544        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3545        0,     0,     0,  1810,     0,     0,     0,  1808,  1809,     0,
3546        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3547        0,     0,  1810,     0,     0,     0,  1399,     0,  1400,     0,
3548        0,     0,     0,   809,     0,  1811,  1522,     0,  1401,     0,
3549     2890,  2890,     0,     0,     0,     0,  1402,     0,  1812,     0,
3550        0,  1813,     0,     0,  1811,     0,  1403,     0,     0,     0,
3551        0,     0,     0,  1545,  1546,     0,  1814,  1812,     0,     0,
3552     1813,     0,     0,     0,     0,     0,     0,   746,   746,     0,
3553        0,     0,     0,     0,  1579,     0,     0,     0,     0,     0,
3554        0,  1462,     0,   746,  1405,  1406,     0,     0,     0,     0,
3555        0,  3088,     0,     0,     0,     0,     0,     0,  1708,   746,
3556        0,     0,     0,     0,     0,     0,     0,  1708,   746,   746,
3557     1363,  1463,     0,     0,     0,   817,     0,     0,     0,     0,
3558     1814,     0,     0,   857,     0,   746,   861,   862,     0,   865,
3559        0,     0,   871,     0,   873,     0,     0,     0,     0,  1814,
3560        0,     0,     0,  1364,     0,  1647,  1649,     0,     0,  1815,
3561        0,     0,  1816,  1817,  1818,     0,  1819,  1820,  1821,  1822,
3562     1823,  1824,     0,     0,     0,     0,  4457,     0,     0,     0,
3563        0,     0,     0,     0,  1408,     0,     0,     0,   809,     0,
3564      809,     0,     0,     0,   809,     0,     0,     0,     0,     0,
3565        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3566      804,  1366,     0,     0,     0,     0,  1390,     0,     0,     0,
3567      746,     0,  1391,  1815,     0,     0,  1816,  1817,  1818,     0,
3568     1819,  1820,  1821,  1822,  1823,  1824,   746,     0,     0,     0,
3569     4460,     0,  1815,     0,  1367,  1816,  1817,  1818,   809,  1819,
3570     1820,  1821,  1822,  1823,  1824,  1237,     0,     0,     0,  4508,
3571        0,     0,  1392,     0,  1237,     0,     0,     0,     0,     0,
3572     1237,     0,  1237,     0,  3089,  1237,     0,     0,     0,  1368,
3573     1237,  1237,  1237,  1237,     0,     0,  1237,  1237,  1237,  1237,
3574     1237,  1237,  1237,  1237,  1237,  1237,     0,     0,     0,  1237,
3575     1237,     0,     0,     0,     0,     0,     0,     0,     0,  1237,
3576        0,     0,  1369,  1237,  1394,     0,     0,  1237,     0,     0,
3577        0,  1395,     0,     0,  1396,  1237,     0,     0,  1237,     0,
3578     1237,     0,     0,     0,     0,     0,     0,     0,     0,  1237,
3579        0,  1371,  1237,  1237,     0,     0,     0,  1237,  1237,  1397,
3580        0,     0,  3830,     0,  1237,     0,     0,     0,     0,     0,
3581        0,   746,   746,   746,   804,     0,  3325,  3850,     0,     0,
3582        0,  3850,  3864,     0,     0,     0,     0,     0,  1237,    34,
3583     1398,     0,     0,  1373,  1237,  1237,  1237,     0,     0,     0,
3584     1374,     0,     0,     0,     0,  1796,     0,  1375,  1797,     0,
3585        0,     0,  1798,  1799,  1800,  2119,     0,     0,     0,     0,
3586        0,     0,     0,  1237,     0,     0,     0,  1377,     0,  1801,
3587        0,     0,     0,     0,  2717,  1378,  1237,  1803,     0,     0,
3588        0,     0,     0,  1804,     0,     0,     0,     0,  1399,     0,
3589     1400,     0,     0,     0,     0,  3091,     0,  3921,  1708,  1708,
3590     1401,  2260,     0,     0,     0,     0,     0,  1805,  1402,     0,
3591        0,     0,     0,     0,     0,     0,     0,     0,  1403,     0,
3592      809,   809,   809,   809,     0,     0,     0,     0,     0,  1379,
3593        0,     0,     0,  3092,  3685,     0,   933,     0,     0,     0,
3594        0,     0,     0,     0,   941,     0,     0,     0,     0,  2134,
3595        0,   954,     0,  1488,   959,   960,  1405,  1406,     0,   962,
3596        0,     0,     0,  3967,  2155,     0,     0,     0,     0,     0,
3597      979,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3598        0,     0,     0,  1489,     0,   988,     0,     0,     0,     0,
3599     1796,     0,     0,  1797,     0,     0,     0,  1798,  1799,  1800,
3600     1048,     0,  1052,     0,     0,  1054,     0,  1056,     0,     0,
3601     1060,     0,     0,  1806,  1801,     0,     0,     0,  1807,     0,
3602        0,     0,  1803,     0,     0,     0,     0,     0,  1804,     0,
3603        0,     0,  2228,  2229,  2230,  2231,     0,     0,     0,  1808,
3604     1809,     0,     0,     0,     0,     0,  1408,     0,     0,     0,
3605        0,     0,  1805,  4045,  1810,     0,     0,     0,     0,     0,
3606        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3607        0,     0,     0,     0,     0,  2269,  2270,     0,  1123,     0,
3608        0,     0,     0,     0,  2282,     0,  1811,     0,     0,     0,
3609        0,     0,     0,     0,  2294,     0,   746,     0,   809,  1812,
3610     1237,     0,  1813,     0,     0,     0,   746,     0,     0,     0,
3611        0,     0,  4080,     0,     0,     0,     0,     0,     0,     0,
3612        0,  2134,  2330,  2331,  2332,  2333,     0,     0,     0,     0,
3613        0,     0,     0,   758,     0,     0,     0,     0,     0,     0,
3614        0,   746,     0,     0,     0,     0,     0,     0,     0,     0,
3615        0,  2955,     0,     0,     0,     0,     0,     0,  1806,  4114,
3616        0,     0,     0,  1807,     0,     0,     0,     0,     0,   746,
3617        0,     0,     0,  2260,     0,     0,     0,  1237,  1237,     0,
3618        0,  1814,     0,     0,  1808,  1809,     0,     0,     0,     0,
3619        0,     0,     0,  1354,  1796,     0,     0,  1797,     0,  1810,
3620        0,  1798,  1799,  1800,     0,     0,     0,     0,     0,     0,
3621        0,  2890,     0,  2890,     0,     0,     0,  2416,  1801,     0,
3622     2419,     0,     0,   746,     0,     0,  1803,     0,     0,     0,
3623     2424,  1811,  1804,     0,     0,     0,     0,     0,     0,  2432,
3624        0,     0,     0,     0,  1812,     0,     0,  1813,     0,     0,
3625        0,     0,     0,  1237,     0,     0,  1805,     0,     0,  1491,
3626        0,     0,     0,     0,  1237,     0,     0,     0,     0,     0,
3627        0,     0,     0,     0,  1815,  1504,     0,  1816,  1817,  1818,
3628        0,  1819,  1820,  1821,  1822,  1823,  1824,  1515,     0,  1516,
3629        0,  4539,     0,     0,  1237,     0,     0,  1519,     0,     0,
3630        0,     0,     0,     0,  1237,  1237,     0,     0,     0,  1525,
3631        0,  1237,  1237,     0,  1534,     0,  1237,  1538,     0,     0,
3632        0,  1237,     0,     0,  1237,  1237,  1814,     0,     0,  1237,
3633     4210,     0,     0,     0,     0,  1237,   746,   746,   746,   746,
3634        0,     0,     0,  3850,  3864,     0,  3850,     0,     0,  4221,
3635        0,     0,  1583,  3325,     0,     0,     0,  3325,     0,     0,
3636        0,     0,  1806,  4236,     0,     0,     0,  1807,  2591,  1237,
3637        0,     0,     0,     0,  1237,     0,     0,     0,     0,     0,
3638     1237,     0,     0,     0,     0,     0,     0,   855,  1808,  1809,
3639        0,     0,     0,     0,  1237,     0,     0,  3366,     0,     0,
3640        0,     0,  2717,  1810,     0,     0,     0,     0,     0,     0,
3641        0,     0,     0,     0,     0,   680,     0,     0,  1237,  1815,
3642        0,     0,  1816,  1817,  1818,     0,  1819,  1820,  1821,  1822,
3643     1823,  1824,     0,     0,     0,  1811,  4577,     0,  2890,  2890,
3644        0,     0,     0,     0,     0,     0,     0,     0,  1812,     0,
3645        0,  1813,     0,     0,     0,     0,  2134,     0,     0,     0,
3646        0,     0,     0,     0,     0,  4299,     0,     0,     0,     0,
3647        0,     0,     0,     0,     0,  1390,     0,     0,     0,     0,
3648        0,  1391,     0,     0,     0,     0,     0,  1726,     0,     0,
3649        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3650        0,     0,     0,     0,     0,     0,  1237,     0,     0,     0,
3651        0,     0,     0,     0,     0,     0,  1796,     0,     0,  1797,
3652        0,  1392,     0,  1798,  1799,  1800,   809,     0,     0,     0,
3653     1814,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3654     1801,   809,     0,     0,     0,     0,     0,     0,  1803,     0,
3655     1796,     0,     0,  1797,  1804,     0,     0,  1798,  1799,  1800,
3656        0,     0,     0,     0,     0,     0,     0,     0,  1237,     0,
3657        0,     0,     0,  1394,  1801,     0,     0,     0,  1805,   804,
3658     1395,     0,  1803,  1396,  2134,     0,     0,     0,  1804,     0,
3659        0,     0,  1708,     0,     0,     0,     0,     0,     0,     0,
3660        0,     0,     0,     0,     0,     0,     0,     0,  1397,   809,
3661     3072,     0,  1805,     0,     0,     0,     0,     0,     0,     0,
3662        0,     0,     0,  1815,     0,     0,  1816,  1817,  1818,     0,
3663     1819,  1820,  1821,  1822,  1823,  1824,     0,     0,   746,  1398,
3664     4824,     0,     0,  2782,  2783,     0,     0,     0,     0,     0,
3665        0,     0,  2794,     0,  2796,     0,     0,     0,  2800,     0,
3666        0,     0,     0,     0,     0,     0,   758,  1966,     0,     0,
3667        0,     0,     0,     0,     0,     0,     0,  1237,     0,     0,
3668        0,     0,     0,     0,  1806,     0,  1237,     0,     0,  1807,
3669        0,     0,     0,     0,     0,     0,     0,  1399,     0,  1400,
3670        0,     0,     0,  1237,  1237,     0,     0,  1237,     0,  1401,
3671     1808,  1809,     0,     0,     0,     0,     0,  1402,  1806,     0,
3672        0,   804,  3850,  1807,     0,  1810,  3325,  1403,     0,     0,
3673        0,  3325,     0,     0,  3325,   804,     0,  2955,  2097,  4478,
3674        0,     0,  1237,  1237,  1808,  1809,     0,     0,     0,     0,
3675        0,     0,     0,     0,     0,     0,     0,  1811,  3921,  1810,
3676        0,     0,  2099,     0,     0,  1405,  1406,     0,     0,  2921,
3677     1812,  3921,   855,   809,   809,   809,     0,     0,     0,     0,
3678        0,   834,     0,     0,     0,     0,     0,     0,     0,     0,
3679      864,  1811,  2100,     0,     0,     0,     0,     0,     0,   880,
3680        0,     0,     0,  2186,  1812,     0,     0,  1813,     0,     0,
3681        0,     0,     0,     0,     0,   804,   855,     0,     0,     0,
3682        0,     0,     0,     0,     0,     0,     0,  2982,     0,     0,
3683        0,     0,     0,     0,     0,  2991,     0,  2993,     0,     0,
3684        0,     0,     0,  2995,     0,     0,     0,     0,     0,     0,
3685        0,     0,  1814,     0,     0,  1408,     0,     0,   804,     0,
3686        0,   746,     0,     0,     0,     0,     0,     0,     0,     0,
3687        0,  4080,     0,     0,     0,     0,     0,   746,     0,  2890,
3688        0,     0,     0,     0,     0,  2134,  1814,     0,     0,     0,
3689        0,     0,     0,     0,     0,     0,     0,     0,     0,  4114,
3690        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3691      809,   746,  3921,     0,     0,  3070,     0,     0,     0,  2304,
3692        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3693        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3694        0,  1237,     0,     0,  1237,  1815,  1237,     0,  1816,  1817,
3695     1818,     0,  1819,  1820,  1821,  1822,  1823,  1824,     0,     0,
3696        0,     0,     0,   190,     0,     0,     0,     0,     0,     0,
3697     1237,  3131,     0,  3133,  3325,     0,     0,     0,  4478,  1815,
3698        0,     0,  1816,  1817,  1818,  1237,  1819,  1820,  1821,  1822,
3699     1823,  1824,     0,     0,  4672,     0,  4856,     0,     0,     0,
3700        0,     0,     0,     0,  1237,     0,     0,     0,     0,   191,
3701        0,     0,     0,     0,     0,     0,     0,  2401,     0,   746,
3702        0,     0,     0,   192,     0,     0,  1390,     0,     0,     0,
3703        0,  2415,  1391,     0,  2418,     0,  2420,     0,  2421,     0,
3704        0,   193,  1237,     0,  2423,     0,     0,   194,     0,   809,
3705      809,   809,   809,     0,     0,     0,     0,     0,     0,     0,
3706        0,     0,     0,   195,     0,     0,     0,     0,     0,     0,
3707        0,     0,  1392,     0,   196,  3197,     0,     0,     0,     0,
3708        0,     0,   197,     0,     0,     0,   804,     0,     0,  1966,
3709        0,     0,     0,  1966,   198,  1966,     0,     0,  1966,   199,
3710        0,     0,   746,     0,     0,   200,     0,  1237,     0,     0,
3711        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3712        0,     0,   201,     0,  1394,     0,     0,     0,     0,   889,
3713        0,  1395,     0,     0,  1396,   930,     0,     0,     0,     0,
3714        0,     0,     0,     0,     0,     0,     0,   202,     0,     0,
3715     1237,     0,     0,   804,     0,     0,     0,     0,     0,  1397,
3716        0,     0,  1237,     0,     0,     0,     0,  1237,   203,  1237,
3717        0,  1237,     0,  1796,     0,     0,  1797,     0,  3921,     0,
3718     1798,  1799,  1800,     0,   809,     0,   855,     0,     0,     0,
3719     1398,     0,     0,     0,     0,  1237,     0,  1801,     0,     0,
3720      204,     0,     0,     0,     0,  1803,     0,     0,     0,     0,
3721        0,  1804,     0,     0,     0,     0,     0,     0,     0,     0,
3722        0,   205,     0,     0,     0,     0,  1708,  1708,     0,     0,
3723        0,   206,     0,     0,     0,  1805,     0,     0,     0,     0,
3724        0,     0,     0,     0,     0,     0,     0,     0,  1399,     0,
3725     1400,     0,     0,   809,     0,     0,     0,     0,   207,   804,
3726     1401,     0,     0,   208,     0,   209,     0,     0,  1402,     0,
3727        0,   210,     0,     0,   211,     0,     0,     0,  1403,  1122,
3728        0,     0,     0,     0,     0,     0,     0,  1237,  1237,     0,
3729        0,  1390,  2955,     0,     0,     0,     0,  1391,  1237,     0,
3730        0,  4672,   212,   213,  1244,  2717,   214,     0,     0,     0,
3731      215,     0,     0,  2827,     0,     0,  1405,  1406,   804,   216,
3732        0,     0,     0,  1267,   217,     0,     0,     0,   809,     0,
3733        0,     0,     0,     0,     0,  1708,   218,  1392,     0,     0,
3734        0,  1806,     0,  1407,     0,  1294,  1807,     0,     0,   219,
3735     3413,     0,  3414,  3415,  3416,     0,     0,  2134,     0,     0,
3736        0,     0,     0,     0,     0,     0,  3921,  1808,  1809,     0,
3737        0,     0,   804,   804,  1237,     0,     0,     0,     0,     0,
3738        0,     0,  1810,     0,     0,     0,     0,     0,     0,  1394,
3739        0,     0,     0,  1237,     0,     0,  1395,     0,     0,  1396,
3740      809,     0,     0,     0,     0,     0,  1408,  2735,  2736,     0,
3741        0,     0,  2739,  2740,  1811,     0,  1419,  2743,     0,     0,
3742        0,     0,     0,     0,  1397,     0,     0,  1812,     0,     0,
3743     1813,  2754,     0,     0,     0,     0,     0,     0,  2763,     0,
3744        0,     0,  2766,  2767,     0,     0,  2770,  2771,     0,     0,
3745        0,     0,     0,  2776,     0,  1398,     0,     0,     0,     0,
3746        0,     0,     0,     0,     0,     0,  2793,     0,  2795,     0,
3747        0,     0,  1796,     0,     0,  1797,  1237,  1237,     0,  1798,
3748     1799,  1800,     0,     0,     0,     0,     0,  2819,     0,     0,
3749      804,     0,  2821,     0,     0,     0,  1801,     0,     0,     0,
3750        0,     0,   804,   804,  1803,  2826,     0,     0,     0,  1814,
3751     1804,     0,     0,  1399,  2833,  1400,  2835,     0,     0,  2838,
3752     2841,  2843,     0,  1543,     0,  1401,  2851,  2854,     0,     0,
3753        0,     0,     0,  1402,  1805,     0,  2867,     0,     0,     0,
3754        0,  2876,     0,  1403,  3561,  3088,  2880,  1573,  1576,  1577,
3755        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3756        0,     0,     0,     0,  1363,     0,     0,     0,     0,     0,
3757        0,     0,     0,     0,  2915,     0,     0,     0,  2929,     0,
3758        0,  1405,  1406,     0,     0,  2922,     0,  2924,     0,     0,
3759        0,     0,  2927,     0,     0,     0,  2928,  1364,  2932,  2933,
3760     2934,  2935,  1815,  2937,     0,  1816,  1817,  1818,  2930,  1819,
3761     1820,  1821,  1822,  1823,  1824,     0,  2962,  2963,  2964,  4976,
3762        0,     0,     0,     0,     0,     0,     0,     0,  2972,  2973,
3763        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3764     1806,  1390,     0,     0,   806,  1807,     0,  1391,     0,     0,
3765        0,     0,     0,   806,   829,  1366,     0,     0,     0,     0,
3766        0,   829,     0,     0,     0,     0,  1808,  1809,     0,     0,
3767        0,  1408,   829,     0,     0,     0,     0,     0,     0,     0,
3768     3017,  1810,     0,  1796,     0,  1244,  1797,  1392,  1367,     0,
3769     1798,  1799,  1800,     0,     0,     0,     0,     0,     0,  3714,
3770        0,  3715,     0,     0,     0,  3717,     0,  1801,     0,     0,
3771        0,  1244,     0,  1811,     0,  1803,     0,     0,  3089,     0,
3772        0,  1804,     0,  1368,     0,     0,  1812,     0,     0,  1813,
3773        0,     0,     0,     0,     0,     0,     0,     0,     0,  1394,
3774        0,     0,     0,     0,     0,  1805,  1395,     0,     0,  1396,
3775        0,     0,     0,     0,     0,     0,  1369,     0,     0,  3748,
3776        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3777        0,     0,     0,     0,  1397,     0,     0,     0,     0,     0,
3778        0,     0,     0,     0,     0,  1371,     0,     0,     0,     0,
3779        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3780        0,     0,     0,     0,  1796,  1398,     0,  1797,  1814,     0,
3781        0,  1798,  1799,  1800,     0,     0,     0,     0,     0,     0,
3782        0,     0,     0,    34,     0,     0,     0,  1373,  1801,     0,
3783        0,     0,  2675,  1966,  1374,     0,  1803,     0,     0,     0,
3784        0,  1375,  1804,     0,     0,     0,  1867,     0,     0,  2119,
3785        0,  1806,  1390,     0,     0,     0,  1807,     0,  1391,     0,
3786        0,  1377,     0,  1399,  3182,  1400,  1805,     0,     0,  1378,
3787        0,     0,     0,     0,     0,  1401,     0,  1808,  1809,     0,
3788        0,     0,     0,  1402,     0,     0,     0,     0,     0,  3091,
3789        0,     0,  1810,  1403,     0,  2006,     0,     0,  1392,     0,
3790        0,  1815,     0,     0,  1816,  1817,  1818,     0,  1819,  1820,
3791     1821,  1822,  1823,  1824,  2676,     0,     0,     0,  4994,     0,
3792        0,     0,     0,  1379,  1811,     0,     0,  3092,  2969,     0,
3793        0,  1405,  1406,     0,     0,     0,     0,  1812,     0,     0,
3794     1813,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3795     1394,     0,     0,     0,     0,     0,     0,  1395,  2970,     0,
3796     1396,     0,     0,     0,     0,     0,     0,     0,     0,  2128,
3797        0,     0,  1806,     0,     0,     0,     0,  1807,  2151,     0,
3798        0,  3938,  3939,  3940,  3941,  1397,     0,     0,     0,     0,
3799        0,     0,     0,     0,     0,     0,     0,     0,  1808,  1809,
3800        0,     0,     0,     0,     0,     0,  2187,     0,     0,     0,
3801        0,   806,     0,  1810,  2194,     0,  1398,  2197,     0,  1814,
3802        0,  1408,     0,   829,     0,     0,     0,     0,   829,     0,
3803        0,     0,     0,     0,     0,     0,     0,     0,     0,   829,
3804        0,     0,     0,     0,     0,  1811,     0,     0,     0,     0,
3805     3345,     0,     0,  2232,     0,   829,     0,     0,  1812,     0,
3806      806,  1813,     0,     0,     0,     0,  1031,  2249,     0,     0,
3807      806,   829,     0,     0,  1399,     0,  1400,   829,     0,     0,
3808     2261,     0,     0,     0,     0,     0,  1401,  1031,   829,     0,
3809        0,     0,     0,     0,  1402,     0,   829,     0,     0,     0,
3810        0,     0,     0,     0,  1403,     0,     0,     0,     0,     0,
3811     3384,  3385,  1815,     0,     0,  1816,  1817,  1818,     0,  1819,
3812     1820,  1821,  1822,  1823,  1824,     0,     0,  2661,  1966,     0,
3813     2312,     0,     0,     0,     0,     0,     0,     0,     0,  3433,
3814     1814,     0,  1405,  1406,     0,     0,     0,     0,     0,     0,
3815        0,  2346,     0,  3406,     0,     0,     0,  3408,  2358,  4067,
3816        0,     0,     0,  3411,     0,     0,     0,     0,     0,  3434,
3817        0,     0,     0,     0,     0,   806,   806,     0,     0,  3423,
3818     3425,   829,     0,     0,  3425,     0,     0,     0,     0,  3436,
3819     3437,  3438,     0,  3440,     0,  2677,     0,     0,     0,     0,
3820        0,     0,     0,     0,     0,     0,     0,   806,     0,     0,
3821        0,     0,     0,     0,  3457,     0,     0,     0,     0,     0,
3822        0,     0,     0,     0,  3463,  3464,  3465,  3466,     0,     0,
3823        0,     0,  1408,  1815,     0,     0,  1816,  1817,  1818,     0,
3824     1819,  1820,  1821,  1822,  1823,  1824,     0,     0,     0,     0,
3825        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3826     2436,  3483,     0,     0,  3488,  3489,  3490,     0,     0,     0,
3827        0,     0,     0,     0,  3503,     0,     0,     0,     0,     0,
3828        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3829        0,     0,     0,     0,     0,     0,     0,     0,  1244,  1244,
3830        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3831        0,     0,     0,     0,     0,  2484,     0,     0,     0,     0,
3832        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3833        0,  1796,     0,     0,  1797,     0,     0,     0,  1798,  1799,
3834     1800,     0,     0,     0,     0,  3554,     0,   806,     0,     0,
3835        0,     0,     0,  3558,  1031,  1801,     0,     0,   806,     0,
3836        0,     0,     0,  1803,     0,     0,     0,     0,     0,  1804,
3837        0,     0,  3570,     0,  1031,     0,     0,     0,     0,     0,
3838        0,     0,     0,     0,     0,     0,     0,     0,  1031,     0,
3839        0,     0,     0,  1805,     0,     0,     0,     0,  3613,     0,
3840        0,     0,     0,     0,     0,     0,     0,     0,     0,  1390,
3841        0,  1796,  2640,     0,  1797,  1391,     0,     0,  1798,  1799,
3842     1800,     0,  2655,     0,     0,     0,     0,   806,     0,     0,
3843     1796,     0,     0,  1797,     0,  1801,     0,  1798,  1799,  1800,
3844        0,     0,  3650,  1803,     0,     0,  3655,     0,     0,  1804,
3845        0,     0,     0,     0,  1801,  1392,     0,  3206,     0,     0,
3846        0,     0,  1803,     0,     0,  1031,     0,     0,  1804,     0,
3847        0,     0,     0,  1805,     0,  3693,     0,  3247,     0,     0,
3848        0,     0,  3248,     0,     0,     0,     0,     0,     0,     0,
3849        0,     0,  1805,     0,     0,     0,     0,     0,     0,  1806,
3850      829,     0,     0,     0,  1807,  3706,     0,  1394,     0,     0,
3851        0,     0,     0,     0,  1395,     0,     0,  1396,     0,  3716,
3852      829,     0,     0,  3718,   806,  1808,  1809,     0,     0,     0,
3853        0,     0,   829,     0,  1966,     0,     0,     0,     0,  2666,
3854     1810,  2669,  1397,     0,     0,     0,     0,     0,     0,     0,
3855        0,     0,     0,     0,     0,     0,  4937,     0,     0,     0,
3856      829,     0,     0,     0,     0,     0,     0,     0,     0,  1031,
3857        0,   829,  1811,  1398,     0,     0,     0,     0,     0,  1806,
3858     1244,     0,     0,     0,  1807,  1812,   829,  4335,  1813,   829,
3859        0,     0,     0,     0,     0,     0,     0,     0,  1806,     0,
3860        0,   806,  4339,  1807,     0,  1808,  1809,     0,     0,     0,
3861        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3862     1810,     0,     0,     0,  1808,  1809,     0,     0,     0,     0,
3863      806,  1399,     0,  1400,     0,     0,     0,     0,     0,  1810,
3864        0,     0,     0,  1401,     0,     0,     0,  1796,     0,     0,
3865     1797,  1402,  1811,     0,  1798,  1799,  1800,     0,   806,   806,
3866      806,  1403,   806,     0,     0,  1812,     0,  1814,  1813,   892,
3867     4393,  1811,     0,     0,   893,     0,     0,     0,     0,  1803,
3868        0,     0,   806,     0,  1812,  1804,     0,  1813,  4938,     0,
3869        0,     0,     0,     0,     0,     0,  3484,     0,     0,  1405,
3870     1406,     0,     0,     0,     0,     0,   829,   894,     0,  1805,
3871        0,     0,     0,     0,   829,   829,     0,     0,     0,     0,
3872      895,   896,     0,   806,  1951,     0,  3485,     0,     0,     0,
3873      897,     0,     0,  2857,   898,     0,     0,     0,     0,     0,
3874        0,     0,     0,     0,     0,     0,     0,  1814,     0,     0,
3875        0,     0,   899,   806,  2884,     0,     0,   806,   806,     0,
3876     1815,     0,     0,  1816,  1817,  1818,  1814,  1819,  1820,  1821,
3877     1822,  1823,  1824,  1031,   900,     0,     0,     0,     0,  1951,
3878     3932,     0,  3933,     0,     0,   901,     0,     0,     0,  1408,
3879     3935,     0,     0,   902,     0,     0,     0,     0,     0,     0,
3880        0,     0,     0,     0,     0,   903,     0,  3945,     0,     0,
3881      904,     0,     0,     0,     0,  1806,     0,     0,     0,     0,
3882     1807,     0,     0,  3953,     0,     0,     0,     0,     0,     0,
3883        0,     0,     0,   905,  4513,  4514,  4514,  3966,  1031,     0,
3884     1815,  1808,  1809,  1816,  1817,  1818,     0,  1819,  1820,  1821,
3885     1822,  1823,  1824,     0,     0,  3970,  1810,     0,   906,  1815,
3886        0,     0,  1816,  1817,  1818,  3979,  1819,  1820,  1821,  1822,
3887     1823,  1824,     0,     0,     0,     0,  1031,     0,     0,   907,
3888        0,     0,     0,     0,     0,     0,  4003,     0,  1811,     0,
3889        0,  3042,     0,     0,     0,     0,     0,  4011,  4012,  4013,
3890        0,  1812,  4016,  4017,  4018,  4019,  4020,  4021,     0,     0,
3891        0,   908,  4028,  4029,     0,  4031,  4032,  4033,  4034,  4035,
3892     4036,     0,  4038,     0,     0,     0,     0,     0,     0,     0,
3893        0,  4046,   909,  4048,  4049,     0,     0,   829,     0,     0,
3894        0,     0,   206,     0,     0,     0,     0,     0,     0,     0,
3895        0,     0,     0,     0,     0,     0,  3425,  1031,  1796,     0,
3896        0,  1797,     0,     0,     0,  1798,  1799,  1800,     0,   910,
3897        0,  4622,  1031,     0,   911,  4068,   912,     0,     0,     0,
3898     1031,     0,   913,  1814,     0,   914,  1951,     0,     0,     0,
3899     1803,  1031,     0,     0,     0,     0,  1804,     0,     0,     0,
3900        0,     0,     0,     0,     0,     0,     0,   829,     0,     0,
3901        0,   829,     0,     0,   915,     0,     0,   916,     0,     0,
3902     1805,   917,     0,   829,     0,     0,     0,     0,   918,     0,
3903      919,     0,     0,     0,     0,   920,     0,     0,  1031,     0,
3904        0,     0,     0,     0,     0,   806,     0,     0,     0,     0,
3905        0,  1031,     0,     0,     0,     0,     0,   806,     0,     0,
3906      921,     0,     0,  1031,     0,  3181,     0,     0,     0,     0,
3907        0,     0,  3425,     0,     0,  1031,  1815,     0,     0,  1816,
3908     1817,  1818,     0,  1819,  1820,  1821,  1822,  1823,  1824,     0,
3909        0,     0,     0,     0,   806,     0,   829,   829,     0,     0,
3910     1966,  1966,  1966,     0,     0,     0,     0,     0,     0,   829,
3911        0,  4708,  4156,  4710,     0,     0,     0,     0,     0,  1031,
3912        0,     0,  1031,     0,   829,   829,  1806,     0,     0,     0,
3913        0,  1807,     0,     0,     0,     0,   829,     0,     0,     0,
3914        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3915        0,     0, -2422, -2422,     0,     0,     0,     0,     0,     0,
3916        0,     0,     0,     0,     0,     0,     0,  1810,   806,     0,
3917        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3918        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3919        0,     0,     0,     0,     0,     0,     0,     0,     0, -2422,
3920        0,     0,   806,     0,   806,     0,     0,     0,     0,   806,
3921      806,     0,  1812,  1390,     0,  3308,   806,   806,   806,  1391,
3922        0,     0,   806,     0,   806,   806,   806,   806,   806,   806,
3923        0,   806,     0,   806,   806,     0,     0,   806,     0,     0,
3924        0,     0,     0,     0,  1438,  4514,     0,     0,     0,     0,
3925        0,  1031,   806,   806,   806,   806,  1951,     0,     0,  1392,
3926      806,     0,     0,     0,   806,     0,     0,   806,     0,     0,
3927      806,   806,   806,   806,   806,   806,   806,   806,   806,     0,
3928      806,     0,     0,     0,     0,     0,     0,   806,     0,   806,
3929        0,     0,  1439,     0,  1814,     0,     0,     0,     0,     0,
3930        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3931        0,  1394,     0,     0,  4852,     0,     0,     0,  1395,     0,
3932     4286,  1396,     0,     0,  4287,  4288,  4289,  4290,     0,     0,
3933     4292,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3934        0,     0,     0,     0,     0,     0,  1397,     0,     0,     0,
3935        0,     0,     0,     0,  4306,  4307,  4308,     0,  4309,     0,
3936     4311,  4312,     0,     0,     0,     0,     0,     0,     0,     0,
3937        0,     0,  4321,  4322,  1440,     0,     0,  1398,     0,     0,
3938        0,     0,     0,     0,     0,     0,     0,  1815,     0,  4901,
3939     1816,  1817,  1818,  4330,  1819,  1820,  1821,  1822,  1823,  1824,
3940     1966,  1966,     0,  1966,     0,     0,     0,     0,     0,     0,
3941        0,     0,     0,     0,     0,  4338,     0,   806,     0,     0,
3942        0,     0,  1441,     0,     0,  1442,     0,     0,     0,     0,
3943        0,   806,     0,     0,     0,  1443,     0,  1400,     0,     0,
3944      806,   806,     0,     0,     0,     0,     0,  1401,     0,     0,
3945        0,     0,     0,     0,     0,  1402,     0,     0,     0,     0,
3946        0,  4950,     0,     0,  1444,  1403,     0,     0,  1031,     0,
3947        0,     0,  1031,  1031,     0,  4384,     0,     0,  3507,     0,
3948        0,     0,   829,     0,     0,     0,  1951,   829,     0,     0,
3949        0,   829,     0,     0,     0,     0,  4404,     0,     0,   829,
3950     2916,     0,     0,  1405,  1406,  1446,     0,     0,     0,     0,
3951        0,     0,     0,     0,     0,     0,     0,   829,     0,     0,
3952      806,     0,     0,     0,     0,     0,  4428,     0,     0,     0,
3953     2917,     0,   806,     0,     0,     0,  1031,     0,     0,   806,
3954        0,     0,     0,     0,  1448,     0,     0,     0,  1031,     0,
3955        0,     0,     0,     0,     0,     0,     0,  1796,     0,     0,
3956     1797,   829,     0,     0,  1798,  1799,  1800,     0,     0,     0,
3957        0,     0,     0,     0,     0,     0,     0,     0,     0,   829,
3958      829,  1801,     0,     0,     0,     0,     0,     0,  1031,  1803,
3959        0,     0,     0,  1408,     0,  1804,     0,     0,     0,     0,
3960     1966,     0,     0,     0,     0,  3616,  3617,     0,     0,     0,
3961     1951,   829,     0,     0,  1951,  1966,     0,     0,     0,  1805,
3962        0,  3626,     0,     0,     0,     0,     0,     0,     0,     0,
3963        0,     0,     0,     0,     0,     0,     0,  3643,     0,     0,
3964        0,     0,     0,     0,     0,   829,  3652,  3654,     0,   829,
3965        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3966        0,     0,     0,  3672,     0,     0,     0,   829,     0,     0,
3967        0,     0,     0,     0,     0,     0,     0,     0,   829,     0,
3968        0,     0,     0,  4529,     0,     0,     0,     0,     0,     0,
3969        0,   829,     0,     0,     0,     0,     0,     0,     0,     0,
3970      829,     0,     0,     0,  4538,     0,     0,     0,     0,  4543,
3971     4544,     0,  1796,     0,     0,  1797,     0,     0,     0,  1798,
3972     1799,  1800,     0,     0,     0,  1806,     0,     0,     0,     0,
3973     1807,     0,     0,     0,     0,     0,  1801,     0,     0,     0,
3974        0,     0,     0,     0,  1803,     0,   806,  1031,     0,     0,
3975     1804,  1808,  1809,     0,  4596,  1951,     0,     0,     0,     0,
3976        0,     0,     0,     0,  1244,     0,  1810,     0,     0,  4608,
3977        0,     0,     0,     0,  1805,     0,     0,     0,     0,     0,
3978        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3979        0,     0,     0,     0,     0,     0,     0,     0,  1811,     0,
3980        0,  3425,     0,     0,     0,     0,     0,     0,  4638,     0,
3981        0,  1812,     0,     0,  1813,     0,     0,  1031,     0,     0,
3982        0,   829,     0,     0,     0,     0,     0,     0,     0,     0,
3983      806,     0,     0,     0,     0,     0,  3798,     0,     0,     0,
3984        0,     0,     0,  1966,     0,     0,     0,     0,     0,     0,
3985        0,     0,     0,     0,  1966,     0,     0,     0,     0,     0,
3986        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3987        0,     0,     0,     0,     0,     0,  4674,     0,     0,     0,
3988     1806,     0,     0,   829,     0,  1807,     0,     0,   806,  3838,
3989     3839,  3840,     0,  1814,     0,     0,     0,     0,     0,  4690,
3990        0,     0,     0,     0,     0,     0,  1808,  1809,  4697,  3799,
3991        0,     0,     0,     0,     0,     0,     0,     0,     0,   829,
3992        0,  1810,     0,     0,     0,     0,     0,     0,     0,  1966,
3993        0,     0,     0,     0,     0,  1031,     0,   829,     0,     0,
3994        0,     0,     0,     0,     0,   829,     0,     0,     0,   806,
3995        0,     0,  1031,  1811,     0,   806,     0,     0,     0,     0,
3996        0,     0,     0,  1031,     0,     0,  1812,     0,     0,  1813,
3997        0,     0,     0,   806,     0,     0,     0,     0,   806,     0,
3998        0,     0,     0,     0,     0,  3220,  1815,     0,     0,  1816,
3999     1817,  1818,     0,  1819,  1820,  1821,  1822,  1823,  1824,     0,
4000        0,   806,   806,   806,     0,     0,   806,     0,     0,     0,
4001        0,     0,     0,  3425,   806,   806,   806,   806,     0,     0,
4002        0,     0,  1951,     0,     0,     0,     0,   806,  1951,     0,
4003      806,     0,   806,     0,     0,  1966,     0,     0,     0,     0,
4004        0,     0,     0,   806,   806,     0,     0,   806,  1814,     0,
4005        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4006        0,   806,     0,   806,     0,   806,     0,     0,     0,  4813,
4007     1796,     0,     0,  1797,     0,     0,     0,  1798,  1799,  1800,
4008        0,     0,     0,     0,  4825,   806,     0,     0,     0,     0,
4009        0,     0,     0,     0,  1801,     0,   806,  3252,   806,   806,
4010      806,     0,  1803,     0,     0,     0,     0,     0,  1804,     0,
4011        0,     0,     0,   829,     0,     0,   806,     0,     0,     0,
4012        0,  4847,     0,     0,     0,     0,     0,     0,   806,     0,
4013        0,     0,  1805,     0,     0,     0,     0,     0,     0,     0,
4014        0,  1815,     0,   806,  1816,  1817,  1818,     0,  1819,  1820,
4015     1821,  1822,  1823,  1824,     0,     0,     0,   806,     0,     0,
4016        0,     0,     0,     0,     0,     0,  1030,     0,     0,     0,
4017        0,     0,     0,  1031,  4065,     0,  1031,     0,  1031,     0,
4018        0,     0,     0,  1031,  4075,   829,     0,  1030,  1796,     0,
4019        0,  1797,     0,  4896,     0,  1798,  1799,  1800,     0,     0,
4020        0,   829,   829,     0,     0,     0,     0,   806,     0,     0,
4021        0,     0,  1801,     0,     0,     0,     0,     0,     0,  4096,
4022     1803,     0,     0,     0,     0,     0,  1804,     0,   829,  4914,
4023        0,   829,     0,     0,     0,  1031,     0,     0,  1806,     0,
4024        0,     0,     0,  1807,     0,     0,     0,  2358,     0,     0,
4025     1805,     0,  1031,     0,     0,     0,     0,     0,     0,     0,
4026        0,     0,     0,     0,  1808,  1809,     0,     0,     0,     0,
4027        0,     0,     0,     0,     0,     0,     0,  1031,     0,  1810,
4028        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4029        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4030        0,  2436,     0,     0,     0,     0,     0,     0,     0,     0,
4031        0,  1811,  1951,  1951,  1951,     0,     0,     0,     0,     0,
4032        0,     0,     0,     0,  1812,     0,     0,  1813,     0,     0,
4033        0,     0,     0,     0,     0,     0,   829,     0,     0,  3257,
4034        0,     0,     0,     0,     0,     0,  1031,     0,  1031,   829,
4035        0,  1951,     0,     0,   829,     0,  1806,     0,     0,     0,
4036        0,  1807,     0,     0,   829,     0,     0,     0,     0,     0,
4037        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4038        0,     0,  1808,  1809,     0,     0,     0,     0,     0,     0,
4039        0,     0,     0,     0,     0,     0,     0,  1810,     0,     0,
4040        0,     0,     0,     0,     0,     0,  1814,     0,     0,  1031,
4041        0,     0,     0,     0,  4213,  4214,  4215,  4216,     0,     0,
4042        0,     0,     0,     0,     0,     0,     0,     0,   829,  1811,
4043        0,     0,     0,     0,  1031,     0,     0,     0,     0,     0,
4044        0,     0,  1812,     0,     0,  1813,     0,     0,     0,     0,
4045        0,     0,     0,     0,  1030,     0,     0,     0,     0,     0,
4046     1031,     0,     0,     0,     0,     0,  1951,  1031,     0,     0,
4047        0,     0,     0,   829,  1030,   829,   831,     0,     0,     0,
4048        0,     0,     0,   831,     0,     0,     0,   829,  1030,   829,
4049        0,     0,     0,     0,   831,     0,     0,     0,     0,  1815,
4050        0,     0,  1816,  1817,  1818,     0,  1819,  1820,  1821,  1822,
4051     1823,  1824,     0,     0,     0,     0,     0,     0,     0,     0,
4052        0,     0,     0,     0,  1814,     0,  1031,     0,     0,     0,
4053        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4054        0,     0,     0,   829,  1031,     0,     0,     0,     0,     0,
4055        0,     0,     0,     0,     0,     0,     0,  1031,     0,     0,
4056        0,     0,     0,     0,     0,  1030,     0,     0,     0,     0,
4057        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4058        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4059        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4060      829,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4061        0,     0,   806,     0,     0,   829,     0,  1815,     0,     0,
4062     1816,  1817,  1818,     0,  1819,  1820,  1821,  1822,  1823,  1824,
4063        0,     0,     0,     0,     0,     0,     0,   829,     0,     0,
4064      829,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4065        0,     0,     0,     0,     0,     0,     0,   806,     0,     0,
4066     1031,     0,     0,     0,     0,     0,   806,     0,     0,  1030,
4067        0,     0,   806,     0,   806,     0,     0,   806,     0,     0,
4068        0,  1031,   806,   806,   806,   806,     0,     0,   806,   806,
4069      806,   806,   806,   806,   806,   806,   806,   806,     0,     0,
4070        0,   806,   806,     0,     0,     0,  1031,     0,     0,     0,
4071        0,   806,     0,     0,     0,   806,  4419,  1951,     0,   806,
4072        0,     0,     0,     0,     0,     0,     0,   806,     0,     0,
4073      806,     0,   806,     0,     0,     0,     0,     0,     0,     0,
4074     1031,   806,     0,     0,   806,   806,     0,     0,     0,   806,
4075      806,     0,     0,     0,     0,     0,   806,     0,     0,     0,
4076        0,     0,     0,     0,     0,     0,   806,     0,   806,     0,
4077        0,     0,     0,     0,  1796,     0,     0,  1797,     0,     0,
4078      806,  1798,  1799,  1800,     0,     0,   806,   806,   806,     0,
4079        0,     0,     0,     0,     0,     0,     0,     0,  1801,     0,
4080        0,  3263,     0,     0,     0,     0,  1803,     0,     0,     0,
4081        0,     0,  1804,     0,     0,   806,     0,     0,     0,     0,
4082        0,     0,     0,     0,     0,     0,     0,     0,   806,     0,
4083        0,     0,     0,     0,  1031,     0,  1805,     0,     0,     0,
4084        0,     0,     0,     0,     0,   831,     0,     0,     0,   806,
4085      831,     0,     0,     0,     0,     0,     0,     0,     0,  1796,
4086        0,   831,  1797,     0,     0,     0,  1798,  1799,  1800,     0,
4087        0,     0,     0,  2024,     0,     0,     0,   831,     0,     0,
4088        0,     0,   829,  1801,     0,     0,     0,     0,     0,     0,
4089        0,  1803,     0,   831,     0,     0,     0,  1804,     0,   831,
4090        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4091      831,     0,     0,     0,     0,     0,     0,     0,   831,     0,
4092        0,  1805,     0,     0,     0,     0,     0,     0,  1951,     0,
4093        0,     0,     0,  1951,  1031,  1951,     0,     0,  2024,  4575,
4094        0,     0,  1806,     0,     0,     0,     0,  1807,     0,     0,
4095        0,     0,     0,     0,     0,  1244,     0,     0,     0,     0,
4096        0,     0,     0,     0,     0,     0,     0,     0,  1808,  1809,
4097        0,     0,     0,     0,     0,     0,  1030,     0,     0,     0,
4098        0,     0,     0,  1810,     0,     0,     0,   829,  1796,  4623,
4099      829,  1797,     0,     0,     0,  1798,  1799,  1800,     0,     0,
4100        0,     0,     0,   831,     0,     0,     0,     0,     0,     0,
4101        0,     0,  1801,     0,     0,  1811,     0,     0,     0,     0,
4102     1803,     0,     0,     0,     0,     0,  1804,  1806,  1812,     0,
4103        0,  1813,  1807,     0,     0,     0,     0,     0,     0,     0,
4104        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4105     1805,     0,   806,  1808,  1809,     0,     0,  1030,     0,     0,
4106        0,     0,     0,     0,     0,     0,     0,     0,  1810,     0,
4107        0,     0,  1030,     0,     0,   829,   829,     0,     0,  1031,
4108     2024,     0,     0,     0,     0,     0,     0,     0,   829,     0,
4109      829,  1030,     0,     0,     0,     0,     0,  4687,     0,     0,
4110     1811,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4111     1814,     0,     0,  1812,     0,     0,  1813,     0,     0,     0,
4112        0,     0,     0,     0,     0,     0,     0,     0,  1031,   806,
4113      806,     0,     0,     0,     0,     0,     0,     0,  1030,     0,
4114        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4115        0,  1030,     0,     0,     0,     0,  1806,     0,     0,     0,
4116        0,  1807,     0,  1030,     0,     0,     0,     0,     0,     0,
4117        0,     0,     0,     0,     0,  1030,     0,     0,     0,     0,
4118     4755,     0,  1808,  1809,   829,     0,     0,     0,     0,     0,
4119        0,     0,     0,     0,     0,  1814,     0,  1810,     0,     0,
4120        0,     0,     0,  1815,     0,   806,  1816,  1817,  1818,     0,
4121     1819,  1820,  1821,  1822,  1823,  1824,   806,     0,     0,  1030,
4122        0,     0,  1030,     0,  3751,     0,     0,     0,     0,  1811,
4123        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4124        0,     0,  1812,     0,     0,  1813,   806,     0,     0,     0,
4125        0,     0,     0,     0,     0,     0,   806,   806,     0,  1031,
4126        0,     0,     0,   806,   806,     0,     0,     0,   806,  1031,
4127        0,     0,     0,   806,     0,     0,   806,   806,     0,     0,
4128        0,   806,     0,     0,     0,     0,     0,   806,  1815,     0,
4129        0,  1816,  1817,  1818,     0,  1819,  1820,  1821,  1822,  1823,
4130     1824,     0,     0,     0,     0,   806,     0,  1796,     0,   806,
4131     1797,     0,     0,     0,  1798,  1799,  1800,     0,     0,     0,
4132        0,   806,   831,     0,  1814,     0,   806,     0,     0,     0,
4133        0,  1801,   806,     0,  3805,     0,     0,     0,     0,  1803,
4134        0,     0,   831,     0,     0,  1804,   806,     0,     0,     0,
4135        0,  1030,     0,     0,   831,     0,     0,     0,     0,     0,
4136        0,     0,     0,     0,     0,     0,     0,     0,     0,  1805,
4137      806,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4138        0,     0,   831,     0,     0,     0,     0,     0,  1031,  2653,
4139        0,     0,     0,   831,     0,     0,     0,     0,     0,     0,
4140        0,     0,     0,     0,     0,   829,     0,     0,   831,     0,
4141     1951,   831,     0,     0,     0,     0,     0,  1815,     0,  1031,
4142     1816,  1817,  1818,     0,  1819,  1820,  1821,  1822,  1823,  1824,
4143        0,     0,     0,     0,     0,   829,     0,     0,     0,     0,
4144     1031,     0,     0,     0,     0,     0,     0,   829,     0,     0,
4145        0,     0,     0,     0,  1951,  1031,     0,     0,   806,     0,
4146        0,     0,     0,     0,     0,     0,     0,     0,   829,     0,
4147        0,     0,     0,     0,     0,  1806,     0,     0,     0,     0,
4148     1807,     0,     0,     0,     0,     0,  1220,  1220,     0,     0,
4149        0,     0,     0,     0,     0,     0,     0,     0,  1031,     0,
4150        0,  1808,  1809,     0,     0,     0,     0,     0,     0,     0,
4151        0,     0,     0,     0,     0,     0,  1810,     0,  1284,     0,
4152      806,     0,     0,     0,     0,     0,     0,     0,   831,     0,
4153        0,   806,     0,     0,     0,     0,   831,   831,     0,     0,
4154        0,     0,     0,     0,     0,     0,  1953,     0,  1811,  -130,
4155        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4156        0,  1812,     0,     0,  1813,     0,     0,     1,  2720,     0,
4157        0,     0,  2024,  2726,     0,     0,     0,     2,     0,     3,
4158        4,     0,     0,     0,     0,  1031,     0,  1031,     0,     0,
4159        0,     0,     0,     0,     5,     0,     0,     0,     0,     0,
4160        0,  1953,     0,     0,     0,     0,     0,     0,     0,     0,
4161        0,     0,     0,   829,     6,     0,     7,     8,     0,     0,
4162        0,     0,     9,     0,    10,     0,     0,     0,     0,   806,
4163        0,     0,     0,  1031,     0,    11,  1030,    12,   806,     0,
4164        0,     0,     0,  1814,     0,     0,     0,     0,  1030,     0,
4165        0,     0,     0,     0,    13,   806,   806,    14,     0,   806,
4166        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4167       15,     0,    16,   806,     0,     0,    17,     0,   806,     0,
4168        0,     0,    18,   806,     0,     0,   806,   806,  1030,     0,
4169       19,     0,    20,     0,   806,   806,     0,     0,    21,     0,
4170        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4171      806,     0,     0,    22,     0,     0,     0,   829,     0,   829,
4172        0,     0,     0,   806,     0,     0,     0,     0,     0,    23,
4173        0,     0,     0,     0,     0,     0,  1815,     0,     0,  1816,
4174     1817,  1818,     0,  1819,  1820,  1821,  1822,  1823,  1824,     0,
4175        0,     0,     0,     0,     0,     0,     0,  1031,   829,   831,
4176        0,     0,     0,     0,     0,     0,     0,   806,    24,    25,
4177        0,     0,     0,     0,    26,     0,     0,     0,     0,     0,
4178        0,     0,     0,     0,     0,     0,    27,     0,     0,     0,
4179        0,     0,     0,     0,     0,     0,     0,    28,     0,     0,
4180        0,     0,     0,     0,  1951,     0,     0,     0,  1953,     0,
4181      806,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4182        0,     0,     0,     0,     0,     0,     0,     0,     0,   831,
4183        0,     0,     0,   831,     0,     0,     0,    29,     0,     0,
4184        0,     0,     0,     0,     0,   831,     0,  1030,     0,    30,
4185        0,     0,     0,     0,    31,    32,     0,    33,     0,     0,
4186        0,     0,    34,     0,   806,     0,  1031,    35,     0,     0,
4187       36,     0,     0,     0,     0,    37,     0,     0,     0,     0,
4188       38,    39,     0,     0,     0,     0,     0,     0,    40,     0,
4189        0,     0,    41,   806,  1031,     0,   806,     0,   806,     0,
4190        0,     0,    42,     0,     0,     0,     0,     0,     0,     0,
4191        0,     0,  1753,     0,    43,     0,     0,  2024,   831,   831,
4192        0,     0,   806,     0,     0,     0,   806,     0,     0,     0,
4193        0,   831,  1031,    44,     0,     0,     0,   806,     0,     0,
4194        0,  1767,     0,    45,     0,     0,   831,   831,     0,    46,
4195        0,     0,     0,     0,    47,     0,   806,     0,   831,     0,
4196        0,     0,     0,     0,     0,     0,     0,    48,     0,  1785,
4197     1786,  1787,     0,  1789,     0,   605,     0,     0,     0,  1951,
4198      606,     0,     0,     0,     0,  1031,     0,     0,    49,  1031,
4199     1031,     0,   607,  1831,   806,     0,     0,     0,     0,     0,
4200        0,     0,    50,     0,     0,  -130,     0,     0,     0,     0,
4201      829,     0,     0,   608,     0,     0,     0,     0,     0,     0,
4202        0,     0,     0,     0,     0,     0,   609,     0,     0,     0,
4203        0,     0,     0,     0,  1868,  1030,     0,     0,   806,     0,
4204      610,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4205        0,     0,  1030,     0,     0,     0,     0,     0,   611,   806,
4206        0,     0,     0,  1030,  1973,     0,     0,     0,  1985,  1990,
4207        0,     0,     0,     0,     0,     0,     0,     0,  1953,     0,
4208      612,  1031,  1031,     0,     0,     0,     0,     0,     0,     0,
4209        0,   613,     0,     0,     0,     0,     0,     0,     0,   614,
4210        0,     0,   806,     0,     0,   806,     0,     0,     0,     0,
4211        0,   615,     0,     0,   806,     0,   616,     0,     0,   806,
4212        0,   806,   617,   806,     0,     0,     0,     0,     0,     0,
4213      806,     0,     0,     0,     0,     0,     0,     0,     0,   618,
4214        0,     0,     0,     0,     0,     0,     0,   806,     0,     0,
4215        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4216        0,     0,     0,     0,     0,     0,     0,     0,  1951,     0,
4217      829,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4218        0,     0,     0,     0,     0,   619,     0,     0,     0,     0,
4219        0,     0,     0,     0,     0,  1029,     0,     0,  2653,  2653,
4220     2653,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4221        0,   806,     0,     0,     0,     0,  1029,   620,     0,     0,
4222        0,     0,     0,     0,     0,     0,     0,     0,   621,     0,
4223        0,     0,     0,     0,     0,     0,     0,     0,   622,   806,
4224      806,     0,     0,     0,     0,     0,     0,     0,   206,     0,
4225      806,     0,     0,     0,     0,     0,     0,     0,   829,     0,
4226        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4227      806,     0,     0,  2024,     0,   623,  2726,     0,  2726,     0,
4228      624,     0,   625,  2024,     0,     0,     0,     0,   626,     0,
4229        0,   627,     0,     0,     0,     0,     0,     0,     0,     0,
4230        0,     0,     0,     0,   831,     0,     0,     0,  1953,   831,
4231        0,     0,     0,   831,     0,     0,     0,     0,   806,     0,
4232      628,   831,     0,   629,   806,   806,   806,   630,     0,     0,
4233        0,     0,     0,     0,   631,  1030,   632,     0,     0,   831,
4234        0,   633,     0,     0,     0,   806,     0,     0,     0,     0,
4235        0,     0,  1030,   634,     0,     0,     0,   829,     0,     0,
4236        0,     0,     0,     0,     0,     0,   635,     0,     0,     0,
4237        0,  1951,     0,     0,     0,     0,     0,  2024,     0,     0,
4238        0,     0,     0,   831,     0,     0,     0,     0,     0,     0,
4239        0,     0,  1020,     0,     0,     0,     0,     0,     0,     0,
4240        0,   831,   831,     0,     0,     0,     0,     0,     0,     0,
4241        0,     0,     0,  1020,     0,     0,     0,     0,     0,     0,
4242        0,     0,     0,     0,     0,     0,     0,     0,   806,   806,
4243        0,     0,  1953,   831,  1951,     0,  1953,     0,     0,     0,
4244        0,     0,   806,     0,     0,     0,  1030,     0,  1030,     0,
4245        0,     0,     0,  1951,   806,   806,     0,     0,     0,     0,
4246        0,     0,     0,     0,     0,     0,     0,   831,     0,     0,
4247        0,   831,     0,     0,     0,     0,     0,     0,     0,     0,
4248        0,     0,     0,  1029,     0,     0,     0,     0,     0,   831,
4249        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4250      831,     0,     0,  1029,     0,     0,     0,     0,     0,  1030,
4251        0,     0,     0,   831,     0,     0,     0,  1029,     0,     0,
4252     2522,     0,   831,     0,     0,     0,     0,     0,     0,     0,
4253        0,     0,     0,  2542,  1030,  2544,     0,     0,  2556,  2559,
4254     2564,     0,     0,     0,     0,  2570,     0,     0,  2575,     0,
4255        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4256     2726,     0,     0,  2582,  2583,  2584,  2585,  2726,     0,     0,
4257        0,  2592,     0,     0,     0,  2604,     0,  1953,  2606,     0,
4258        0,  2613,  2614,  2615,  2616,  2617,  2618,  2619,  2620,  2621,
4259        0,  2622,     0,     0,  1029,     0,     0,     0,  1220,     0,
4260     2650,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4261        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4262        0,     0,     0,     0,     0,     0,  1030,     0,     0,     0,
4263        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4264        0,     0,     0,   831,  2726,     0,     0,     0,     0,     0,
4265        0,     0,     0,     0,     0,     0,     0,  1030,     0,     0,
4266        0,   556,     0,     0,     0,     0,   557,     0,     0,     0,
4267        0,     0,     0,     0,     0,     0,     0,     0,   558,     0,
4268     1020,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4269        0,     0,     0,     0,     0,     0,     0,     0,  1029,   559,
4270     1020,     0,     0,     0,     0,   831,     0,     0,     0,     0,
4271        0,     0,   560,     0,  1020,     0,     0,     0,     0,     0,
4272        0,     0,   561,     0,     0,     0,  -787,     0,  1284,     0,
4273        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4274        0,   831,     0,     0,   562,     0,     0,     0,     0,     0,
4275      563,  1786,  1787,     0,     0,     0,     0,     0,     0,   831,
4276     1030,     0,     0,     0,     0,     0,   564,   831,     0,     0,
4277        0,     0,     0,     0,     0,     0,     0,   565,     0,     0,
4278        0,  1030,     0,     0,     0,   566,     0,     0,     0,     0,
4279        0,  1020,     0,     0,     0,     0,     0,   567,     0,     0,
4280        0,     0,     0,     0,   568,     0,  1030,     0,   569,     0,
4281        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4282        0,     0,     0,     0,     0,  -992,     0,     0,     0,     0,
4283        0,  2768,     0,     0,  1022,     0,     0,     0,  1852,     0,
4284     1030,     0,     0,     0,  1953,     0,     0,     0,     0,     0,
4285     1953,     0,     0,     0,     0,  1022,     0,     0,     0,     0,
4286        0,     0,   570,     0,     0,     0,     0,     0,     0,     0,
4287        0,  -525,     0,     0,     0,     0,     0,     0,     0,     0,
4288        0,     0,     0,     0,     0,     0,     0,     0,  2653,     0,
4289        0,     0,     0,     0,     0,  1020,     0,     0,     0,     0,
4290        0,     0,  1029,   571,     0,     0,   572,     0,     0,     0,
4291        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4292        0,     0,     0,     0,   573,     0,     0,     0,     0,     0,
4293        0,     0,     0,     0,  2024,   831,     0,     0,     0,     0,
4294        0,     0,     0,  -419,     0,     0,     0,     0,     0,     0,
4295        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4296        0,   574,     0,     0,  1023,     0,     0,  1029,   575,     0,
4297        0,     0,     0,     0,  -419,     0,     0,   576,     0,     0,
4298        0,     0,     0,     0,     0,  1023,     0,     0,     0,     0,
4299        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4300        0,     0,     0,     0,     0,  1029,  -419,   831,     0,   577,
4301      578,     0,   579,   580,     0,     0,     0,     0,     0,     0,
4302        0,     0,   581,   831,   831,     0,     0,   582,     0,     0,
4303        0,     0,     0,   583,  2726,     0,   584,     0,     0,   585,
4304        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4305      831,     0,  -419,   831,     0,     0,     0,  3009,     0,     0,
4306        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4307        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4308        0,     0,     0,     0,     0,     0,  1029,     0,     0,     0,
4309        0,     0,     0,     0,     0,     0,     0,     0,     0,  1020,
4310        0,  1029,     0,     0,     0,     0,     0,     0,     0,  1029,
4311        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4312     1029,     0,  1022,     0,     0,     0,     0,     0,     0,     0,
4313        0,     0,     0,     0,  1953,  1953,  1953,     0,     0,     0,
4314        0,     0,  1022,     0,     0,     0,     0,     0,     0,     0,
4315        0,     0,     0,     0,     0,     0,  1022,     0,   831,     0,
4316        0,     0,     0,     0,  1020,     0,     0,  1029,     0,     0,
4317        0,   831,     0,  1953,     0,     0,   831,     0,     0,  1030,
4318     1029,     0,     0,     0,     0,     0,   831,     0,     0,     0,
4319        0,     0,  1029,     0,     0,     0,     0,     0,     0,  3149,
4320        0,     0,  1020,     0,  1029,     0,     0,     0,     0,     0,
4321        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4322        0,     0,     0,     0,     0,     0,     0,     0,  2024,     0,
4323        0,     0,     0,  1022,     0,     0,     0,     0,     0,     0,
4324        0,     0,     0,     0,     0,     0,     0,     0,  1029,     0,
4325      831,  1029,  1023,     0,     0,     0,     0,     0,     0,     0,
4326        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4327        0,     0,  1023,     0,     0,     0,     0,     0,     0,     0,
4328        0,     0,     0,  1020,  3202,     0,  1023,     0,  1953,  3208,
4329        0,     0,     0,     0,     0,   831,     0,   831,  1020,     0,
4330        0,     0,     0,     0,     0,     0,  1020,     0,     0,   831,
4331        0,   831,     0,     0,  1789,     0,     0,  1020,     0,     0,
4332        0,     0,     0,     0,     0,  2564,     0,  2564,  2564,     0,
4333        0,     0,     0,     0,     0,     0,     0,  1022,  3266,     0,
4334        0,  3269,     0,  3271,     0,     0,     0,     0,     0,     0,
4335        0,     0,     0,     0,     0,     0,     0,     0,     0,  1030,
4336        0,     0,     0,  1023,  1020,   831,     0,     0,     0,  1030,
4337        0,     0,  3289,     0,  3292,     0,  3294,  1020,     0,     0,
4338     1029,     0,     0,     0,     0,     0,     0,     0,     0,  1020,
4339        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4340        0,  1020,     0,     0,     0,     0,     0,     0,     0,  2650,
4341     2650,  2650,     0,     0,     0,     0,     0,     0,     0,     0,
4342        0,  2653,   831,     0,     0,     0,  2653,  3342,     0,     0,
4343        0,     0,  2653,     0,     0,     0,     0,   831,     0,  1973,
4344        0,     0,     0,     0,     0,  1020,     0,     0,  1020,     0,
4345        0,     0,     0,     0,  1990,     0,     0,     0,     0,   831,
4346        0,     0,   831,     0,     0,     0,     0,  1023,     0,     0,
4347        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4348        0,     0,     0,     0,     0,     0,     0,     0,  1030,     0,
4349        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4350        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4351        0,     0,     0,     0,     0,     0,     0,     0,  3392,  1030,
4352        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4353        0,     0,     0,     0,     0,     0,     0,     0,     0,  1953,
4354     1030,  1022,     0,     0,     0,     0,     0,     0,     0,     0,
4355        0,     0,     0,     0,     0,  2726,     0,     0,     0,     0,
4356        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4357        0,     0,     0,     0,     0,     0,     0,  1020,     0,     0,
4358        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4359        0,     0,     0,     0,     0,     0,     0,  1029,  1030,     0,
4360        0,  1029,  1029,     0,     0,     0,  1022,     0,     0,     0,
4361        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4362        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4363        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4364        0,     0,     0,     0,  1022,     0,     0,     0,     0,     0,
4365        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4366        0,     0,     0,     0,     0,  1029,     0,     0,     0,     0,
4367        0,  1023,     0,     0,     0,     0,     0,  1029,     0,     0,
4368        0,     0,     0,     0,     0,  4415,     0,  1030,     0,     0,
4369        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4370        0,     0,     0,     0,   831,     0,     0,     0,     0,     0,
4371        0,     0,     0,     0,     0,     0,     0,  1029,     0,     0,
4372        0,     0,     0,     0,     0,  1022,     0,     0,     0,     0,
4373        0,     0,     0,  1030,     0,     0,  1023,     0,     0,     0,
4374     1022,     0,     0,     0,     0,     0,     0,     0,  1022,     0,
4375     1953,     0,     0,     0,     0,  1953,     0,  1953,     0,  1022,
4376        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4377        0,     0,     0,     0,  1023,     0,     0,     0,     0,     0,
4378        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4379        0,     0,     0,     0,  1020,     0,     0,     0,  1020,  1020,
4380        0,     0,     0,     0,     0,     0,  1022,     0,     0,   831,
4381        0,     0,   831,     0,     0,     0,     0,     0,     0,  1022,
4382        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4383        0,  1022,     0,     0,     0,     0,     0,     0,     0,     0,
4384        0,     0,     0,  1022,     0,     0,     0,     0,     0,     0,
4385        0,     0,     0,     0,     0,  1023,     0,  2726,     0,     0,
4386        0,     0,  1020,     0,     0,     0,     0,     0,     0,     0,
4387     1023,     0,     0,     0,  1020,     0,  1029,     0,  1023,     0,
4388        0,     0,     0,     0,     0,     0,     0,  1022,     0,  1023,
4389     1022,     0,     0,     0,     0,     0,     0,   831,   831,     0,
4390        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4391      831,     0,   831,     0,  1020,     0,     0,     0,     0,     0,
4392        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4393        0,     0,     0,     0,     0,     0,  1023,     0,     0,     0,
4394        0,     0,     0,     0,     0,     0,  1029,     0,     0,  1023,
4395        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4396        0,  1023,     0,     0,     0,     0,  2726,     0,  3752,     0,
4397        0,     0,     0,  1023,     0,     0,     0,  3756,     0,     0,
4398        0,     0,     0,  3757,     0,  3758,     0,     0,     0,     0,
4399        0,     0,     0,     0,  1030,     0,     0,     0,     0,     0,
4400        0,     0,     0,     0,     0,     0,   831,     0,     0,     0,
4401        0,     0,  3782,  3783,     0,     0,     0,  1023,     0,  1022,
4402     1023,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4403     2570,     0,  1030,     0,     0,     0,     0,     0,  3808,     0,
4404        0,  3811,     0,  3813,     0,     0,     0,     0,     0,     0,
4405        0,     0,  3817,     0,     0,     0,     0,     0,     0,     0,
4406     3824,  3825,     0,     0,  1029,     0,     0,     0,     0,     0,
4407        0,     0,     0,  1020,     0,     0,     0,     0,     0,     0,
4408        0,  1029,     0,     0,     0,  1030,     0,     0,     0,  1030,
4409     1030,  3869,  1029,     0,     0,     0,     0,  3876,  3877,  2650,
4410        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4411        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4412        0,     0,     0,     0,     0,     0,  3891,     0,     0,     0,
4413        0,     0,     0,     0,     0,     0,     0,     0,     0,  1284,
4414        0,     0,     0,  1020,     0,     0,     0,     0,     0,  1023,
4415     1025,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4416        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4417        0,  1025,     0,     0,     0,     0,     0,     0,     0,     0,
4418        0,  4415,  1030,     0,     0,     0,     0,     0,     0,     0,
4419        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
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,   831,     0,     0,
4423        0,     0,  1953,     0,     0,     0,  1022,     0,     0,     0,
4424     1022,  1022,     0,     0,     0,     0,     0,     0,     0,     0,
4425        0,     0,     0,     0,     0,     0,     0,   831,     0,     0,
4426        0,  1020,     0,     0,     0,     0,     0,     0,     0,   831,
4427        0,     0,     0,     0,     0,     0,  1953,     0,  1020,     0,
4428        0,     0,     0,     0,     0,     0,     0,     0,     0,  1020,
4429      831,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4430        0,     0,  1029,     0,  1022,  1029,     0,  1029,     0,     0,
4431        0,     0,  1029,     0,     0,     0,  1022,     0,     0,     0,
4432        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4433        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4434        0,  1026,     0,     0,     0,     0,     0,     0,     0,     0,
4435        0,     0,     0,     0,     0,     0,  1022,     0,     0,     0,
4436        0,     0,  1026,     0,  1029,     0,  1023,     0,     0,     0,
4437     1023,  1023,     0,     0,     0,     0,     0,     0,     0,     0,
4438        0,  1029,     0,     0,     0,     0,     0,     0,     0,     0,
4439        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4440        0,     0,     0,     0,     0,     0,  1029,     0,     0,     0,
4441        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4442        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4443        0,     0,     0,     0,  1023,   831,     0,     0,  1025,     0,
4444     4128,  4129,     0,     0,     0,     0,  1023,     0,     0,     0,
4445        0,     0,     0,     0,     0,     0,     0,     0,  1025,     0,
4446        0,     0,     0,     0,     0,     0,  1028,     0,     0,     0,
4447        0,     0,  1025,     0,     0,  1029,     0,  1029,     0,     0,
4448        0,     0,     0,     0,     0,     0,  1023,  1028,     0,     0,
4449        0,     0,     0,     0,     0,     0,     0,     0,     0,  1020,
4450        0,     0,  1020,     0,  1020,     0,     0,     0,     0,  1020,
4451        0,     0,     0,     0,     0,  1022,  4169,     0,     0,     0,
4452        0,     0,     0,     0,     0,     0,     0,  4174,     0,     0,
4453        0,     0,     0,     0,     0,     0,     0,     0,  1029,   831,
4454        0,   831,     0,     0,     0,     0,     0,     0,     0,  1025,
4455        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4456        0,  1020,     0,  1029,     0,     0,     0,  4189,  4191,     0,
4457        0,     0,     0,     0,  4195,  4196,     0,     0,  1020,  4197,
4458      831,     0,     0,     0,  4200,  1022,     0,  4203,  4204,  1029,
4459        0,     0,  4208,     0,     0,     0,  1029,     0,  4212,     0,
4460        0,     0,     0,  1020,     0,     0,     0,     0,     0,     0,
4461        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4462        0,     0,     0,     0,     0,     0,  1953,     0,     0,  1026,
4463        0,     0,  2650,     0,     0,     0,     0,  2650,     0,     0,
4464        0,     0,     0,  2650,     0,  1023,     0,     0,     0,  1026,
4465        0,     0,     0,  1025,     0,  1029,     0,  1220,     0,     0,
4466        0,     0,     0,  1026,     0,     0,     0,     0,     0,     0,
4467        0,     0,  1020,  1029,  1020,     0,     0,     0,     0,     0,
4468        0,  4267,     0,     0,     0,     0,  1029,     0,     0,     0,
4469        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4470        0,     0,     0,  1022,     0,     0,     0,     0,     0,     0,
4471        0,     0,     0,     0,     0,  1023,     0,     0,     0,     0,
4472     1022,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4473        0,  1022,     0,     0,     0,  1020,     0,     0,     0,     0,
4474     1026,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4475        0,     0,     0,     0,  1028,     0,     0,     0,     0,     0,
4476     1020,     0,     0,     0,     0,     0,     0,     0,     0,  4327,
4477        0,     0,     0,     0,  1028,     0,     0,     0,     0,     0,
4478        0,     0,     0,     0,     0,     0,  1020,     0,  1028,  1029,
4479        0,     0,     0,  1020,     0,     0,     0,     0,     0,     0,
4480        0,  1953,     0,     0,     0,     0,     0,     0,     0,     0,
4481     1029,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4482        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4483        0,  4361,   831,  1023,     0,  1029,     0,     0,     0,     0,
4484        0,     0,     0,     0,  1026,     0,     0,     0,     0,     0,
4485     1023,     0,  1020,     0,     0,     0,     0,  1025,     0,     0,
4486        0,  1023,     0,     0,     0,  1028,     0,     0,     0,  1029,
4487     1020,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4488        0,     0,     0,  1020,     0,     0,     0,     0,     0,     0,
4489        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4490        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4491        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4492        0,     0,  1025,     0,     0,     0,     0,     0,     0,     0,
4493        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4494        0,  1022,     0,     0,  1022,     0,  1022,     0,     0,     0,
4495        0,  1022,     0,     0,     0,     0,     0,     0,     0,     0,
4496     1025,     0,     0,  1029,     0,     0,  4454,  4455,     0,  1028,
4497     4456,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4498        0,     0,     0,     0,     0,     0,  1020,     0,     0,     0,
4499     1953,     0,   831,     0,     0,     0,     0,     0,     0,     0,
4500        0,     0,     0,  1022,     0,  4490,  4491,  1020,     0,     0,
4501        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4502     1022,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4503        0,     0,  1020,     0,     0,     0,     0,     0,     0,     0,
4504        0,  1025,     0,     0,     0,  1022,     0,     0,  1026,     0,
4505        0,     0,     0,     0,     0,     0,  1025,     0,     0,     0,
4506        0,     0,     0,  1029,  1025,     0,  1020,     0,     0,     0,
4507        0,  1023,     0,     0,  1023,  1025,  1023,     0,     0,     0,
4508      831,  1023,     0,     0,     0,     0,     0,     0,     0,     0,
4509        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4510        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4511        0,     0,     0,  1026,  1022,     0,  1022,     0,     0,     0,
4512        0,     0,  1025,     0,     0,     0,     0,     0,     0,     0,
4513        0,     0,     0,  1023,     0,  1025,     0,     0,     0,     0,
4514        0,     0,     0,     0,     0,     0,     0,  1025,     0,     0,
4515     1023,  1026,     0,     0,     0,     0,     0,     0,     0,  1025,
4516     1020,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4517        0,     0,     0,  1028,     0,  1023,     0,  1022,     0,   831,
4518        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4519        0,     0,     0,  1953,     0,     0,     0,     0,     0,     0,
4520        0,     0,  1022,  1025,     0,     0,  1025,  2570,  1029,     0,
4521        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4522        0,     0,     0,     0,     0,     0,     0,     0,  1022,     0,
4523        0,     0,  1026,  4656,     0,  1022,     0,     0,  1028,     0,
4524        0,     0,     0,     0,  1023,     0,  1023,  1026,  1789,     0,
4525        0,     0,     0,     0,     0,  1026,  1953,  1029,     0,     0,
4526     1020,     0,     0,     0,     0,     0,  1026,  1284,     0,     0,
4527        0,     0,     0,     0,     0,  1953,  1028,     0,     0,     0,
4528        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4529        0,     0,     0,     0,  1022,     0,     0,     0,     0,     0,
4530        0,     0,     0,     0,     0,  4705,     0,  1023,     0,     0,
4531        0,     0,  1022,  1026,     0,     0,     0,     0,     0,     0,
4532        0,     0,     0,     0,     0,  1022,  1026,     0,     0,     0,
4533        0,     0,  1023,     0,     0,  1025,     0,     0,  1026,     0,
4534        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4535     1026,     0,     0,     0,     0,     0,     0,  1028,  1023,     0,
4536        0,     0,     0,     0,     0,  1023,     0,     0,     0,     0,
4537     4756,     0,  1028,     0,     0,     0,     0,     0,     0,     0,
4538     1028,     0,     0,     0,     0,     0,     0,     0,  1029,     0,
4539        0,  1028,     0,     0,  1026,     0,     0,  1026,  1029,     0,
4540        0,     0,     0,     0,     0,  1020,     0,     0,     0,     0,
4541        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4542        0,     0,     0,     0,  1023,     0,     0,     0,  1022,     0,
4543        0,     0,     0,     0,  4490,     0,     0,     0,  1028,     0,
4544        0,     0,  1023,     0,     0,     0,     0,     0,     0,  1022,
4545        0,  1028,     0,     0,  1020,  1023,     0,     0,  4814,     0,
4546        0,     0,     0,  1028,     0,     0,     0,     0,     0,     0,
4547        0,     0,     0,     0,  1022,  1028,     0,     0,     0,     0,
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,     0,     0,     0,  1022,     0,
4551        0,     0,     0,     0,     0,     0,     0,  1029,     0,  1028,
4552        0,     0,  1028,     0,     0,     0,  1026,     0,     0,     0,
4553        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4554        0,     0,     0,     0,     0,     0,     0,     0,  1029,     0,
4555     4875,  4875,  1025,     0,     0,     0,  1025,  1025,  1023,     0,
4556        0,  4490,     0,     0,     0,     0,     0,     0,     0,  1029,
4557        0,     0,     0,     0,     0,     0,     0,     0,     0,  1023,
4558        0,     0,     0,     0,  1029,  1020,     0,     0,     0,     0,
4559        0,     0,     0,     0,     0,  1020,     0,     0,     0,     0,
4560        0,     0,  1022,     0,  1023,     0,     0,     0,     0,     0,
4561        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4562     1025,     0,     0,     0,     0,     0,     0,  1029,     0,     0,
4563        0,     0,  1025,     0,     0,     0,     0,  4875,  1023,     0,
4564        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4565        0,  1028,     0,     0,     0,     0,  4946,     0,     0,     0,
4566        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4567        0,     0,  1025,     0,     0,     0,     0,     0,     0,     0,
4568        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4569        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4570        0,     0,  1022,     0,     0,     0,     0,     0,     0,     0,
4571        0,     0,     0,     0,  1020,     0,  1029,     0,     0,     0,
4572        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4573        0,     0,  1023,     0,     0,     0,     0,     0,     0,  4875,
4574     4987,     0,     0,  1026,     0,  1020,     0,  1026,  1026,     0,
4575        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4576        0,     0,  1029,     0,     0,     0,  1020,     0,     0,     0,
4577        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4578        0,  1020,     0,     0,     0,     0,     0,     0,     0,     0,
4579        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4580        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4581        0,  1026,     0,     0,     0,     0,     0,     0,     0,     0,
4582        0,     0,     0,  1026,  1020,     0,     0,     0,     0,     0,
4583        0,  1025,  1023,     0,     0,     0,     0,     0,     0,     0,
4584        0,     0,     0,     0,     0,     0,     0,  1022,     0,     0,
4585        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4586        0,     0,     0,  1026,     0,     0,     0,     0,  1028,     0,
4587        0,     0,  1028,  1028,     0,     0,     0,     0,     0,     0,
4588        0,     0,     0,     0,     0,     0,  1029,     0,     0,     0,
4589        0,     0,     0,     0,     0,     0,  1022,     0,     0,     0,
4590        0,  1025,     0,     0,     0,     0,     0,     0,     0,     0,
4591        0,     0,     0,  1020,     0,     0,     0,     0,     0,     0,
4592        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4593        0,     0,     0,     0,     0,     0,  1028,     0,     0,     0,
4594        0,     0,     0,     0,     0,     0,     0,     0,  1028,     0,
4595        0,     0,     0,     0,     0,     0,     0,     0,     0,  1020,
4596        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4597        0,     0,     0,     0,     0,     0,     0,  1023,     0,     0,
4598        0,     0,     0,     0,     0,     0,     0,     0,  1028,     0,
4599        0,     0,     0,     0,     0,  1029,     0,     0,     0,     0,
4600        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4601        0,     0,     0,     0,     0,     0,     0,     0,     0,  1025,
4602        0,     0,  1026,  1029,     0,     0,  1023,  1022,     0,     0,
4603        0,     0,     0,     0,     0,     0,  1025,  1022,     0,     0,
4604        0,     0,     0,     0,     0,     0,     0,  1025,     0,     0,
4605        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4606        0,  1029,     0,     0,     0,     0,     0,     0,     0,     0,
4607        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4608        0,     0,     0,  1020,     0,     0,     0,     0,     0,     0,
4609        0,     0,  1026,     0,     0,     0,     0,     0,     0,     0,
4610        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4611        0,     0,     0,     0,  1029,     0,     0,     0,  1029,  1029,
4612        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4613        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4614        0,     0,     0,     0,     0,     0,     0,  1028,     0,     0,
4615        0,     0,     0,     0,     0,     0,  1022,  1023,     0,     0,
4616        0,     0,     0,     0,     0,     0,     0,  1023,     0,     0,
4617        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4618        0,     0,     0,     0,     0,     0,     0,  1022,     0,     0,
4619        0,     0,  1020,     0,     0,     0,     0,     0,     0,     0,
4620        0,     0,     0,     0,     0,     0,     0,     0,  1022,     0,
4621     1026,  1029,     0,     0,     0,     0,     0,  1028,     0,     0,
4622     1020,     0,     0,  1022,     0,     0,     0,  1026,     0,     0,
4623     1826,     0,     0,     0,     0,     0,     0,     0,  1026,     0,
4624        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4625        0,     0,     0,     0,     0,     0,     0,  1025,  1020,     0,
4626     1025,     0,  1025,     0,     0,     0,  1022,  1025,     0,     0,
4627        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4628        0,     0,     0,     0,     0,     0,  1023,     0,     0,     0,
4629        0,     0,     0,     0,  1826,     0,     0,     0,     0,     0,
4630        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4631        0,  1020,     0,     0,     0,  1020,  1020,  1023,     0,  1025,
4632        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4633        0,     0,     0,     0,     0,  1028,  1025,     0,  1023,     0,
4634        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4635        0,     0,  1028,  1023,     0,  1022,     0,     0,     0,     0,
4636        0,  1025,     0,  1028,     0,     0,     0,     0,     0,     0,
4637        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4638        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4639        0,     0,     0,     0,     0,     0,  1023,     0,     0,     0,
4640        0,  1022,     0,     0,     0,     0,     0,     0,  1020,     0,
4641        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4642        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4643     1025,     0,  1025,     0,     0,     0,     0,     0,     0,     0,
4644        0,     0,     0,     0,     0,     0,     0,     0,  1026,     0,
4645        0,  1026,     0,  1026,     0,     0,     0,     0,  1026,     0,
4646        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4647        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4648        0,     0,     0,     0,     0,  1023,     0,     0,     0,     0,
4649        0,     0,     0,  1025,     0,     0,     0,     0,     0,     0,
4650        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4651     1026,     0,     0,     0,     0,     0,     0,     0,  1025,     0,
4652        0,     0,     0,     0,     0,  1022,     0,  1026,     0,     0,
4653        0,  1023,     0,     0,     0,     0,     0,     0,     0,     0,
4654        0,     0,     0,     0,  1025,     0,     0,     0,     0,     0,
4655        0,  1025,  1026,     0,     0,     0,     0,     0,     0,     0,
4656        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4657        0,     0,     0,  1028,     0,     0,  1028,     0,  1028,     0,
4658        0,     0,     0,  1028,     0,     0,     0,     0,     0,     0,
4659        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4660        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4661     1025,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4662        0,  1026,     0,  1026,     0,     0,     0,     0,  1025,     0,
4663        0,     0,     0,     0,  1022,  1028,     0,     0,     0,     0,
4664        0,  1025,     0,     0,     0,     0,     0,     0,     0,     0,
4665        0,     0,  1028,     0,     0,  1023,     0,     0,     0,     0,
4666        0,     0,  1022,     0,     0,     0,     0,     0,     0,     0,
4667        0,     0,     0,     0,     0,     0,     0,  1028,     0,     0,
4668        0,     0,     0,     0,  1026,     0,     0,     0,  1826,     0,
4669        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4670     1022,     0,     0,     0,     0,     0,     0,     0,     0,  1026,
4671        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4672        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4673        0,     0,     0,     0,     0,  1026,     0,     0,     0,     0,
4674        0,     0,  1026,     0,  1025,     0,  1028,     0,  1028,     0,
4675        0,     0,     0,  1022,     0,     0,     0,  1022,  1022,     0,
4676        0,     0,     0,  1826,  1023,  1025,     0,     0,     0,     0,
4677        0,     0,     0,     0,     0,     0,     0,  1826,     0,     0,
4678        0,  2552,     0,     0,     0,     0,     0,     0,     0,     0,
4679     1025,     0,  1023,     0,     0,  1826,  1826,  1826,     0,  1826,
4680        0,  1026,     0,     0,     0,     0,     0,     0,     0,  1028,
4681        0,     0,     0,     0,     0,     0,     0,     0,     0,  1026,
4682        0,     0,     0,     0,  1025,     0,     0,     0,     0,     0,
4683     1023,     0,  1026,     0,  1028,     0,     0,     0,     0,     0,
4684        0,  1826,     0,     0,     0,     0,     0,     0,     0,     0,
4685     1022,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4686     1028,     0,     0,     0,     0,     0,     0,  1028,     0,     0,
4687        0,     0,     0,     0,     0,     0,     0,     0,  1826,     0,
4688        0,     0,     0,  1023,     0,     0,     0,  1023,  1023,     0,
4689        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4690        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4691        0,     0,     0,     0,     0,     0,     0,     0,  1025,     0,
4692        0,     0,     0,     0,     0,     0,  1028,     0,     0,     0,
4693        0,     0,     0,     0,     0,  1026,     0,     0,     0,     0,
4694        0,     0,     0,     0,  1028,     0,     0,     0,     0,     0,
4695        0,     0,     0,     0,     0,     0,  1026,  1028,     0,     0,
4696        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4697        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4698     1023,  1026,     0,  1826,     0,     0,     0,     0,     0,     0,
4699        0,     0,     0,     0,     0,  1826,     0,     0,     0,     0,
4700     1826,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4701        0,     0,     0,     0,     0,  1026,     0,     0,  1025,     0,
4702        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4703        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4704        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4705        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4706     1028,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4707        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4708        0,  1028,     0,     0,     0,     0,     0,     0,     0,     0,
4709        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4710        0,     0,     0,     0,     0,     0,  1028,     0,     0,  1026,
4711        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4712        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4713        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4714     1028,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4715        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4716        0,     0,     0,  1025,     0,     0,     0,     0,     0,     0,
4717        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4718        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4719        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4720        0,     0,     0,     0,     0,     0,     0,     0,     0,  1026,
4721        0,     0,  1025,     0,     0,     0,     0,     0,     0,     0,
4722        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4723        0,     0,     0,     0,  1028,     0,     0,     0,     0,     0,
4724        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4725        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4726        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4727        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4728        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4729        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4730        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4731        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4732        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4733        0,     0,     0,     0,  1028,     0,     0,     0,     0,     0,
4734        0,     0,     0,  1025,     0,     0,     0,     0,     0,     0,
4735        0,     0,     0,  1025,  1026,     0,     0,     0,     0,     0,
4736        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4737        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4738        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4739        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4740        0,     0,     0,  1026,     0,     0,     0,     0,     0,     0,
4741        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4742        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4743        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4744        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4745        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4746        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4747        0,     0,  1025,     0,     0,     0,     0,     0,     0,  1028,
4748        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4749        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4750        0,     0,     0,  1025,     0,     0,     0,     0,     0,     0,
4751        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4752        0,     0,     0,     0,  1025,     0,     0,     0,  1028,     0,
4753        0,     0,  1826,     0,  1026,     0,     0,     0,     0,  1025,
4754        0,     0,     0,     0,  1026,     0,     0,     0,     0,     0,
4755        0,     0,  1826,     0,  1826,     0,     0,  2552,  2552,     0,
4756     3243,     0,  2552,     0,     0,     0,  1826,     0,     0,  1826,
4757        0,     0,     0,     0,  1826,     0,     0,     0,     0,     0,
4758     1826,     0,  1025,     0,     0,  1826,     0,     0,     0,     0,
4759        0,     0,  1826,  1826,  1826,  1826,     0,     0,     0,  2552,
4760     2552,     0,  1826,     0,     0,     0,     0,     0,     0,     0,
4761        0,     0,     0,     0,  1826,     0,  1826,     0,     0,     0,
4762        0,     0,     0,  1826,  1826,  1826,  1826,  1826,  1826,  1826,
4763     1826,  1826,  1826,     0,     0,     0,     0,     0,     0,     0,
4764        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4765        0,     0,     0,     0,     0,     0,     0,     0,     0,  1028,
4766     1826,     0,     0,  1026,     0,     0,     0,     0,     0,  1028,
4767        0,  1025,     0,     0,     0,     0,     0,     0,     0,     0,
4768        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4769        0,     0,     0,     0,  1026,     0,     0,     0,     0,     0,
4770        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4771        0,     0,     0,     0,     0,  1026,     0,  1025,     0,     0,
4772        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4773     1026,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4774        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4775        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4776        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4777        0,     0,     0,  1026,     0,     0,     0,     0,  1826,     0,
4778        0,     0,     0,     0,     0,     0,     0,     0,  1028,     0,
4779        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4780        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4781        0,     0,     0,     0,     0,     0,     0,     0,     0,  1028,
4782        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4783        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4784     1028,  1025,     0,     0,     0,     0,     0,     0,     0,     0,
4785        0,     0,     0,     0,     0,  1028,     0,     0,     0,     0,
4786        0,     0,  1026,     0,     0,     0,     0,     0,     0,     0,
4787        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4788        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4789        0,     0,     0,     0,     0,     0,     0,     0,  1028,     0,
4790        0,     0,     0,     0,     0,     0,     0,     0,  1026,     0,
4791        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4792        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4793        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4794        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4795     1025,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4796        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4797        0,     0,     0,     0,     0,     0,     0,     0,  1025,     0,
4798        0,     0,     0,     0,     0,     0,     0,  1028,     0,     0,
4799        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4800        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4801        0,     0,     0,     0,     0,     0,  1025,     0,     0,  1826,
4802        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4803        0,     0,  1026,  1028,     0,     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,     0,  1025,
4807        0,     0,     0,  1025,  1025,     0,     0,     0,     0,     0,
4808        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4809        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4810        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4811        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4812        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4813        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4814        0,  1026,     0,     0,     0,     0,     0,     0,     0,     0,
4815        0,     0,     0,     0,     0,     0,     0,  1028,     0,  1826,
4816        0,     0,     0,     0,     0,     0,  1025,     0,     0,  1026,
4817        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4818        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4819        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4820        0,     0,     0,     0,     0,     0,     0,  1026,     0,     0,
4821        0,     0,  1826,     0,     0,     0,     0,     0,  1826,     0,
4822        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4823        0,     0,     0,     0,  3243,  3243,     0,     0,  2552,  2552,
4824     2552,  2552,     0,     0,  2552,  2552,  2552,  2552,  2552,  2552,
4825     2552,  2552,  2552,  2552,  3243,     0,     0,     0,     0,     0,
4826     1026,     0,     0,     0,  1026,  1026,  1028,     0,     0,     0,
4827        0,     0,     0,     0,     0,     0,  1826,     0,     0,  1826,
4828        0,  1826,     0,     0,  3243,  3243,     0,     0,     0,     0,
4829        0,     0,     0,     0,  1028,     0,     0,     0,     0,  1826,
4830     2552,  2552,  1826,     0,  1826,     0,     0,     0,     0,     0,
4831        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4832        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4833        0,     0,  1028,     0,     0,     0,     0,     0,     0,     0,
4834        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4835        0,     0,  1826,     0,     0,     0,     0,  1026,     0,     0,
4836        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4837        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4838        0,     0,     0,     0,     0,  1028,     0,     0,     0,  1028,
4839     1028,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4840        0,     0,  1826,     0,     0,     0,     0,     0,     0,     0,
4841        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4842        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4843        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4844        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4845        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4846        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4847        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4848        0,     0,  1028,     0,     0,     0,     0,     0,     0,     0,
4849        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4850        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4851        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4852        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4853        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4854        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4855        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4856        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4857        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4858        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4859        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4860        0,     0,     0,     0,     0,     0,     0,     0,  2552,     0,
4861        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4862        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4863        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4864        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4865        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4866        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4867        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4868        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4869        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4870        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4871        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4872        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4873        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4874        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4875        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4876        0,     0,  1826,     0,     0,     0,  1826,  1826,  1826,     0,
4877        0,     0,     0,     0,  3243,  3243,  3243,  3243,     0,     0,
4878        0,     0,  3243,  3243,  3243,  3243,  3243,  3243,  3243,  3243,
4879     3243,  3243,  1826,  1826,     0,     0,     0,     0,     0,     0,
4880        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4881        0,     0,     0,     0,     0,     0,     0,     0,  1826,     0,
4882        0,  1826,     0,  1826,     0,     0,     0,  1826,     0,     0,
4883     3243,  3243,     0,     0,  1826,  1826,     0,     0,     0,     0,
4884        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4885        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4886        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4887        0,     0,     0,     0,     0,     0,     0,     0,     0,  1826,
4888        0,     0,     0,     0,     0,     0,  1826,  1826,     0,     0,
4889        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4890        0,  1826,     0,     0,     0,     0,     0,     0,     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,     0,     0,     0,     0,
4894        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4895        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4896        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4897        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4898        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4899        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4900        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4901        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4902        0,     0,     0,     0,     0,     0,     0,     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,     0,     0,     0,     0,
4906        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4907        0,     0,     0,     0,     0,     0,     0,     0,     0,  3243,
4908        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4909        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4910        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4911        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4912        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4913        0,     0,     0,     0,     0,     0,     0,     0,  1826,  1826,
4914        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4915        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4916        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4917        0,     0,     0,     0,     0,     0,     0,     0,     0,  1826,
4918        0,     0,     0,     0,  1826,  2552,     0,     0,     0,     0,
4919        0,     0,     0,     0,     0,     0,     0,     0,     0,  1826,
4920        0,  1826,     0,     0,     0,  1826,  1826,  1826,     0,     0,
4921     1826,     0,     0,  1826,  1826,     0,     0,     0,  1826,     0,
4922        0,     0,  1826,     0,     0,     0,     0,     0,     0,     0,
4923        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4924        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4925        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4926        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4927        0,     0,     0,     0,     0,     0,     0,  1826,     0,     0,
4928        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4929        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4930        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4931        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4932        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4933        0,     0,     0,     0,     0,     0,     0,  1826,     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,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4937        0,  1826,     0,     0,     0,     0,     0,     0,     0,     0,
4938        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4939        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4940        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4941        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4942        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4943        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4944        0,     0,     0,     0,     0,     0,     0,     0,  3243,  2552,
4945        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4946        0,     0,     0,     0,  1826,  1826,  1826,     0,     0,     0,
4947        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4948        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4949        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4950     1826,  1826,     0,     0,     0,     0,     0,     0,     0,     0,
4951        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4952        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4953        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4954        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4955        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4956        0,     0,     0,     0,     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,     0,
4959        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4960        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4961        0,     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,     0,     0,     0,     0,
4965     3243,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4966        0,     0,     0,     0,     0,     0,  1826,     0,     0,     0,
4967        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4968        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4969        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4970        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4971        0,     0,     0,     0,     0,  1826,     0,     0,     0,     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,     0,     0,     0,     0,     0,     0,     0,
4975        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4976        0,     0,     0,     0,     0,     0,  1826,     0,     0,     0,
4977        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4978        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4979        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4980        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4981        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4982        0,     0,     0,     0,  1826,     0,     0,     0,     0,     0,
4983        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4984        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4985        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4986        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4987        0,   779,  1138,   600,  1139,  1140,  1141,   654,  1142,     0,
4988        0,     0,     0,     0,     0,  1826,   223,   224,   225,   226,
4989      227,   228,   229,   230,  2644,   232,   233,   234,     0,     0,
4990        0,     0,  1143,     0,     0,   235,   236,     0,   237,   238,
4991      780,   239,   240,   241,   242,  1144,   781,  1145,  1146,     0,
4992      246,   247,   248,   249,   250,  1147,  1148,   251,   252,  1149,
4993     1150,   255,     0,   256,   257,   258,   259,  1151,     0,  1152,
4994        0,   261,   262,   263,   264,   783,   265,   266,   267,     0,
4995      268,   269,   270,   271,   272,   273,  1826,   784,   274,   275,
4996      276,  1153,  1154,  1155,  1156,  1157,  1158,  1159,   277,   278,
4997      279,   280,   281,   282,  1160,  1161,   285,     0,   286,     0,
4998      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
4999     2645,     0,   296,   297,  1001,   299,   300,  1826,   301,   302,
5000      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
5001     1162,   312,   313,   314,  1163,  1164,   316,     0,   317,   318,
5002     1165,   320,     0,   321,     0,   322,   786,     0,   787,   323,
5003      324,   325,     0,   326,  1166,     0,  1167,   329,     0,   330,
5004      331,   332,   333,   334,   788,   335,   336,   337,   338,     0,
5005      339,   340,   341,   342,   343,   344,     0,   345,   789,   346,
5006      347,   348,   349,   350,  1168,  1169,     0,  1170,     0,   354,
5007      790,   791,   355,   792,   356,   357,   358,   359,   360,     0,
5008        0,   361,  1171,   793,   363,   794,     0,   364,   365,   366,
5009     1172,  1173,   367,   368,   369,   370,   371,   372,   373,   374,
5010      375,   376,   377,   378,   379,   380,   381,   382,  1174,   795,
5011     1175,   385,   386,   387,  1176,   388,   389,   796,   390,  1177,
5012     1178,   392,  1179,   394,   395,   396,     0,   397,     0,     0,
5013     1180,   399,   400,     0,     0,   401,   402,   797,   403,   798,
5014     1181,   405,   406,   407,   408,   409,   410,   411,   412,     0,
5015      413,   414,  1182,   416,   417,   418,   419,   420,     0,   421,
5016      422,   423,   424,   425,   426,   427,   428,  1183,   430,   431,
5017      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
5018      441,   442,   443,   444,     0,   445,   446,   799,   447,   448,
5019      449,  1184,   451,   452,   453,   454,   455,   456,   457,   458,
5020        0,   459,   460,   461,   462,   463,  1185,   464,   465,   466,
5021      467,   468,   800,   469,   470,  1186,   472,     0,   473,   474,
5022      475,   476,   477,   478,   479,   480,   481,   482,   483,  1187,
5023        0,   485,   486,     0,   487,   801,   488,   489,   490,   491,
5024      492,     0,  1188,  1189,     0,     0,   495,   496,  1190,   498,
5025     1191,  1192,   500,   501,   502,   503,   504,   505,   506,     0,
5026     1193,   507,   508,   509,   510,   511,  1194,     0,   512,   513,
5027      514,   515,   516,   517,  1195,  2646,   519,   802,   520,   521,
5028      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
5029      528,   529,   530,   531,  1196,  1197,  1198,  1199,  1200,  1201,
5030     1202,  1203,   540,   541,   542,  1204,     0,     0,     0,     0,
5031        0,     0,  1205,  1206,  2647,     0,     0,     0,     0,     0,
5032        0,  1208,  2648,   779,  1138,   600,  1139,  1140,  1141,   654,
5033     1142,     0,     0,     0,     0,     0,     0,     0,   223,   224,
5034      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
5035        0,     0,     0,     0,  1143,     0,     0,   235,   236,     0,
5036      237,   238,   780,   239,   240,   241,   242,  1144,   781,  1145,
5037     1146,     0,   246,   247,   248,   249,   250,  1147,  1148,   251,
5038      252,  1149,  1150,   255,     0,   256,   257,   258,   259,  1151,
5039        0,  1152,     0,   261,   262,   263,   264,   783,   265,   266,
5040      267,     0,   268,   269,   270,   271,   272,   273,     0,   784,
5041      274,   275,   276,  1153,  1154,  1155,  1156,  1157,  1158,  1159,
5042      277,   278,   279,   280,   281,   282,  1160,  1161,   285,     0,
5043      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
5044      294,   295,     0,     0,   296,   297,  1001,   299,   300,     0,
5045      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
5046      309,   310,  1162,   312,   313,   314,  1163,  1164,   316,     0,
5047      317,   318,  1165,   320,     0,   321,     0,   322,   786,     0,
5048      787,   323,   324,   325,     0,   326,  1166,     0,  1167,   329,
5049        0,   330,   331,   332,   333,   334,   788,   335,   336,   337,
5050      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
5051      789,   346,   347,   348,   349,   350,  1168,  1169,     0,  1170,
5052        0,   354,   790,   791,   355,   792,   356,   357,   358,   359,
5053      360,     0,     0,   361,  1171,   793,   363,   794,     0,   364,
5054      365,   366,  1172,  1173,   367,   368,   369,   370,   371,   372,
5055      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
5056     1174,   795,  1175,   385,   386,   387,  1176,   388,   389,   796,
5057      390,  1177,  1178,   392,  1179,   394,   395,   396,     0,   397,
5058        0,     0,  1180,   399,   400,     0,     0,   401,   402,   797,
5059      403,   798,  1181,   405,   406,   407,   408,   409,   410,   411,
5060      412,     0,   413,   414,  1182,   416,   417,   418,   419,   420,
5061        0,   421,   422,   423,   424,   425,   426,   427,   428,  1183,
5062      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
5063      439,   440,   441,   442,   443,   444,     0,   445,   446,   799,
5064      447,   448,   449,  1184,   451,   452,   453,   454,   455,   456,
5065      457,   458,    39,   459,   460,   461,   462,   463,  1185,   464,
5066      465,   466,   467,   468,   800,   469,   470,  1186,   472,     0,
5067      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
5068      483,  1187,     0,   485,   486,    43,   487,   801,   488,   489,
5069      490,   491,   492,     0,  1188,  1189,     0,     0,   495,   496,
5070     1190,   498,  1191,  1192,   500,   501,   502,   503,   504,   505,
5071      506,     0,  1193,   507,   508,   509,   510,   511,  1194,     0,
5072      512,   513,   514,   515,   516,  1074,  1195,     0,   519,   802,
5073      520,   521,   522,   523,     0,     0,   524,     0,    48,   525,
5074      526,   527,   528,   529,   530,   531,  1196,  1197,  1198,  1199,
5075     1200,  1201,  1202,  1203,   540,   541,   542,  1204,     0,    49,
5076        0,     0,     0,     0,  1205,  1206,     0,     0,     0,     0,
5077        0,     0,     0,  1208,  4668,   779,  1138,   600,  1139,  1140,
5078     1141,   654,  1142,     0,     0,     0,     0,     0,     0,     0,
5079      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
5080      233,   234,     0,     0,     0,     0,  1143,     0,     0,   235,
5081      236,     0,   237,   238,   780,   239,   240,   241,   242,  1144,
5082      781,  1145,  1146,     0,   246,   247,   248,   249,   250,  1147,
5083     1148,   251,   252,  1149,  1150,   255,     0,   256,   257,   258,
5084      259,  1151,     0,  1152,     0,   261,   262,   263,   264,   783,
5085      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
5086        0,   784,   274,   275,   276,  1153,  1154,  1155,  1156,  1157,
5087     1158,  1159,   277,   278,   279,   280,   281,   282,  1160,  1161,
5088      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
5089        0,   293,   294,   295,     0,     0,   296,   297,  1001,   299,
5090      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
5091      307,   308,   309,   310,  1162,   312,   313,   314,  1163,  1164,
5092      316,     0,   317,   318,  1165,   320,     0,   321,     0,   322,
5093      786,     0,   787,   323,   324,   325,     0,   326,  1166,     0,
5094     1167,   329,     0,   330,   331,   332,   333,   334,   788,   335,
5095      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
5096        0,   345,   789,   346,   347,   348,   349,   350,  1168,  1169,
5097        0,  1170,     0,   354,   790,   791,   355,   792,   356,   357,
5098      358,   359,   360,     0,     0,   361,  1171,   793,   363,   794,
5099        0,   364,   365,   366,  1172,  1173,   367,   368,   369,   370,
5100      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
5101      381,   382,  1174,   795,  1175,   385,   386,   387,  1176,   388,
5102      389,   796,   390,  1177,  1178,   392,  1179,   394,   395,   396,
5103        0,   397,     0,     0,  1180,   399,   400,     0,     0,   401,
5104      402,   797,   403,   798,  1181,   405,   406,   407,   408,   409,
5105      410,   411,   412,     0,   413,   414,  1182,   416,   417,   418,
5106      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
5107      428,  1183,   430,   431,   432,   433,     0,   434,   435,   436,
5108      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
5109      446,   799,   447,   448,   449,  1184,   451,   452,   453,   454,
5110      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
5111     1185,   464,   465,   466,   467,   468,   800,   469,   470,  1186,
5112      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
5113      481,   482,   483,  1187,     0,   485,   486,     0,   487,   801,
5114      488,   489,   490,   491,   492,     0,  1188,  1189,     0,     0,
5115      495,   496,  1190,   498,  1191,  1192,   500,   501,   502,   503,
5116      504,   505,   506,     0,  1193,   507,   508,   509,   510,   511,
5117     1194,     0,   512,   513,   514,   515,   516,   517,  1195,     0,
5118      519,   802,   520,   521,   522,   523,     0,     0,   524,     0,
5119        0,   525,   526,   527,   528,   529,   530,   531,  1196,  1197,
5120     1198,  1199,  1200,  1201,  1202,  1203,   540,   541,   542,  1204,
5121        0,     0,     0,     0,     0,     0,  1205,  1206,     0,     0,
5122        0,     0,     0,     0,     0,  1208,  2554,   779,  1138,   600,
5123     1139,  1140,  1141,   654,  1142,     0,     0,     0,     0,     0,
5124        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
5125        0,   232,   233,   234,     0,     0,     0,     0,  1143,     0,
5126        0,   235,   236,     0,   237,   238,   780,   239,   240,   241,
5127      242,  1144,   781,  1145,  1146,     0,   246,   247,   248,   249,
5128      250,  1147,  1148,   251,   252,  1149,  1150,   255,     0,   256,
5129      257,   258,   259,  1151,     0,  1152,     0,   261,   262,   263,
5130      264,   783,   265,   266,   267,     0,   268,   269,   270,   271,
5131      272,   273,     0,   784,   274,   275,   276,  1153,  1154,  1155,
5132     1156,  1157,  1158,  1159,   277,   278,   279,   280,   281,   282,
5133     1160,  1161,   285,     0,   286,     0,   287,   288,   289,   290,
5134      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
5135     1001,   299,   300,     0,   301,   302,   303,     0,   304,   305,
5136      306,     0,   307,   308,   309,   310,  1162,   312,   313,   314,
5137     1163,  1164,   316,     0,   317,   318,  1165,   320,     0,   321,
5138        0,   322,   786,     0,   787,   323,   324,   325,     0,   326,
5139     1166,     0,  1167,   329,     0,   330,   331,   332,   333,   334,
5140      788,   335,   336,   337,   338,     0,   339,   340,   341,   342,
5141      343,   344,     0,   345,   789,   346,   347,   348,   349,   350,
5142     1168,  1169,     0,  1170,     0,   354,   790,   791,   355,   792,
5143      356,   357,   358,   359,   360,     0,     0,   361,  1171,   793,
5144      363,   794,     0,   364,   365,   366,  1172,  1173,   367,   368,
5145      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
5146      379,   380,   381,   382,  1174,   795,  1175,   385,   386,   387,
5147     1176,   388,   389,   796,   390,  1177,  1178,   392,  1179,   394,
5148      395,   396,     0,   397,     0,     0,  1180,   399,   400,     0,
5149        0,   401,   402,   797,   403,   798,  1181,   405,   406,   407,
5150      408,   409,   410,   411,   412,     0,   413,   414,  1182,   416,
5151      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
5152      426,   427,   428,  1183,   430,   431,   432,   433,     0,   434,
5153      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
5154        0,   445,   446,   799,   447,   448,   449,  1184,   451,   452,
5155      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
5156      462,   463,  1185,   464,   465,   466,   467,   468,   800,   469,
5157      470,  1186,   472,     0,   473,   474,   475,   476,   477,   478,
5158      479,   480,   481,   482,   483,  1187,     0,   485,   486,     0,
5159      487,   801,   488,   489,   490,   491,   492,     0,  1188,  1189,
5160        0,     0,   495,   496,  1190,   498,  1191,  1192,   500,   501,
5161      502,   503,   504,   505,   506,     0,  1193,   507,   508,   509,
5162      510,   511,  1194,     0,   512,   513,   514,   515,   516,   517,
5163     1195,     0,   519,   802,   520,   521,   522,   523,     0,     0,
5164      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
5165     1196,  1197,  1198,  1199,  1200,  1201,  1202,  1203,   540,   541,
5166      542,  1204,     0,     0,     0,     0,     0,     0,  1205,  1206,
5167        0,     0,     0,     0,     0,     0,     0,  1208,  3760,   779,
5168     1138,   600,  1139,  1140,  1141,   654,  1142,     0,     0,     0,
5169        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
5170      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
5171     1143,     0,     0,   235,   236,     0,   237,   238,   780,   239,
5172      240,   241,   242,  1144,   781,  1145,  1146,     0,   246,   247,
5173      248,   249,   250,  1147,  1148,   251,   252,  1149,  1150,   255,
5174        0,   256,   257,   258,   259,  1151,     0,  1152,     0,   261,
5175      262,   263,   264,   783,   265,   266,   267,     0,   268,   269,
5176      270,   271,   272,   273,     0,   784,   274,   275,   276,  1153,
5177     1154,  1155,  1156,  1157,  1158,  1159,   277,   278,   279,   280,
5178      281,   282,  1160,  1161,   285,     0,   286,     0,   287,   288,
5179      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
5180      296,   297,  1001,   299,   300,     0,   301,   302,   303,     0,
5181      304,   305,   306,     0,   307,   308,   309,   310,  1162,   312,
5182      313,   314,  1163,  1164,   316,     0,   317,   318,  1165,   320,
5183        0,   321,     0,   322,   786,     0,   787,   323,   324,   325,
5184        0,   326,  1166,     0,  1167,   329,     0,   330,   331,   332,
5185      333,   334,   788,   335,   336,   337,   338,     0,   339,   340,
5186      341,   342,   343,   344,     0,   345,   789,   346,   347,   348,
5187      349,   350,  1168,  1169,     0,  1170,     0,   354,   790,   791,
5188      355,   792,   356,   357,   358,   359,   360,     0,     0,   361,
5189     1171,   793,   363,   794,     0,   364,   365,   366,  1172,  1173,
5190      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
5191      377,   378,   379,   380,   381,   382,  1174,   795,  1175,   385,
5192      386,   387,  1176,   388,   389,   796,   390,  1177,  1178,   392,
5193     1179,   394,   395,   396,     0,   397,     0,     0,  1180,   399,
5194      400,     0,     0,   401,   402,   797,   403,   798,  1181,   405,
5195      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
5196     1182,   416,   417,   418,   419,   420,     0,   421,   422,   423,
5197      424,   425,   426,   427,   428,  1183,   430,   431,   432,   433,
5198        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
5199      443,   444,     0,   445,   446,   799,   447,   448,   449,  1184,
5200      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
5201      460,   461,   462,   463,  1185,   464,   465,   466,   467,   468,
5202      800,   469,   470,  1186,   472,     0,   473,   474,   475,   476,
5203      477,   478,   479,   480,   481,   482,   483,  1187,     0,   485,
5204      486,     0,   487,   801,   488,   489,   490,   491,   492,     0,
5205     1188,  1189,     0,     0,   495,   496,  1190,   498,  1191,  1192,
5206      500,   501,   502,   503,   504,   505,   506,     0,  1193,   507,
5207      508,   509,   510,   511,  1194,     0,   512,   513,   514,   515,
5208      516,   517,  1195,     0,   519,   802,   520,   521,   522,   523,
5209        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
5210      530,   531,  1196,  1197,  1198,  1199,  1200,  1201,  1202,  1203,
5211      540,   541,   542,  1204,     0,     0,   222,     0,     0,     0,
5212     1205,  1206,     0,     0,     0,     0,     0,     0,     0,  1208,
5213     3831,   223,   224,   225,   226,   227,   228,   229,   230,     0,
5214      232,   233,   234,     0,     0,     0,     0,     0,  3847,     0,
5215      235,   236,     0,   237,   238,     0,   239,   240,   241,   242,
5216      243,     0,   244,   245,     0,   246,   247,   248,   249,   250,
5217        0,     0,   251,   252,   253,   254,   255,     0,   256,   257,
5218      258,   259,   260,     0,     0,     0,   261,   262,   263,   264,
5219        0,   265,   266,   267,     0,   268,   269,   270,   271,   272,
5220      273,     0, -1604,   274,   275,   276,     0,     0,     0,     0,
5221        0,     0,     0,   277,   278,   279,   280,   281,   282,   283,
5222      284,   285,     0,   286,     0,   287,   288,   289,   290,   291,
5223      292,     0,   293,   294,   295,     0,     0,   296,   297,   298,
5224      299,   300,     0,   301,   302,   303,     0,   304,   305,   306,
5225        0,   307,   308,   309,   310,   311,   312,   313,   314,   315,
5226        0,   316,     0,   317,   318,   319,   320,     0,   321,     0,
5227      322,     0,     0, -1604,   323,   324,   325,     0,   326,   327,
5228        0,   328,   329,     0,   330,   331,   332,   333,   334,     0,
5229      335,   336,   337,   338,     0,   339,   340,   341,   342,   343,
5230      344,     0,   345, -1604,   346,   347,   348,   349,   350,   351,
5231      352,     0,   353,     0,   354,     0,     0,   355, -1604,   356,
5232      357,   358,   359,   360,     0,     0,   361,   362, -1604,   363,
5233        0,     0,   364,   365,   366,     0,     0,   367,   368,   369,
5234      370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
5235      380,   381,   382,   383, -1604,   384,   385,   386,   387,     0,
5236      388,   389,     0,   390,     0,   391,   392,   393,   394,   395,
5237      396,     0,   397,     0,     0,   398,   399,   400,     0,     0,
5238      401,   402,     0,   403,     0,   404,   405,   406,   407,   408,
5239      409,   410,   411,   412,     0,   413,   414,   415,   416,   417,
5240      418,   419,   420,     0,   421,   422,   423,   424,   425,   426,
5241      427,   428,   429,   430,   431,   432,   433,     0,   434,   435,
5242      436,   437,   438,   439,   440,   441,   442,   443,   444,     0,
5243      445,   446, -1604,   447,   448,   449,   450,   451,   452,   453,
5244      454,   455,   456,   457,   458,     0,   459,   460,   461,   462,
5245      463,     0,   464,   465,   466,   467,   468,     0,   469,   470,
5246      471,   472,     0,   473,   474,   475,   476,   477,   478,   479,
5247      480,   481,   482,   483,   484,     0,   485,   486,     0,   487,
5248        0,   488,   489,   490,   491,   492,     0,   493,   494,     0,
5249        0,   495,   496,   497,   498,   499,     0,   500,   501,   502,
5250      503,   504,   505,   506,     0,     0,   507,   508,   509,   510,
5251      511,     0,     0,   512,   513,   514,   515,   516,   517,   518,
5252        0,   519,     0,   520,   521,   522,   523,     0,     0,   524,
5253        0,     0,   525,   526,   527,   528,   529,   530,   531,   532,
5254      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
5255        0,     0,     0,   993,     0,     0,     0,     0,     0,     0,
5256        0,     0,     0,     0,     0,     0,     0,  1291,   223,   224,
5257      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
5258        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
5259      237,   238,   780,   239,   240,   241,     0,   994,   781,   995,
5260      996,     0,   246,   247,   248,   249,   250,     0,     0,   251,
5261      252,   997,   998,   255,     0,   256,   257,   258,   259,     0,
5262        0,   782,     0,   261,   262,   263,   264,   783,   265,   266,
5263      267,     0,   268,   269,   270,   271,   272,   273,     0,   784,
5264      274,   275,   276,     0,     0,     0,   785,     0,     0,     0,
5265      277,   278,   279,   280,   281,   282,   999,  1000,   285,     0,
5266      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
5267      294,   295,     0,     0,   296,   297,  1001,   299,   300,     0,
5268      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
5269      309,   310,     0,   312,   313,   314,     0,     0,   316,     0,
5270      317,   318,  1002,   320,     0,   321,     0,   322,   786,     0,
5271      787,   323,   324,   325,     0,   326,     0,     0,     0,   329,
5272        0,   330,   331,   332,   333,   334,   788,   335,   336,   337,
5273      338,  2010,   339,   340,   341,   342,   343,   344,     0,   345,
5274      789,  2011,   347,   348,   349,   350,  1004,  1005,     0,  1006,
5275        0,   354,   790,   791,   355,   792,   356,   357,   358,   359,
5276      360,     0,     0,   361,     0,   793,   363,   794,     0,   364,
5277      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
5278      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
5279     1007,   795,  1008,   385,   386,     0,     0,   388,   389,   796,
5280      390,     0,     0,   392,  1009,   394,   395,   396,     0,   397,
5281        0,     0,   398,   399,   400,     0,     0,   401,  2013,   797,
5282      403,   798,     0,   405,   406,   407,   408,   409,   410,   411,
5283      412,     0,   413,   414,     0,   416,     0,   418,   419,   420,
5284        0,   421,   422,   423,   424,   425,   426,   427,   428,  1010,
5285      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
5286      439,   440,   441,   442,   443,   444,     0,   445,   446,   799,
5287      447,   448,   449,     0,   451,   452,   453,   454,   455,   456,
5288      457,   458,     0,   459,   460,   461,   462,   463,     0,   464,
5289      465,  2014,   467,   468,   800,   469,   470,  1012,   472,     0,
5290      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
5291      483,     0,     0,   485,   486,     0,   487,   801,   488,   489,
5292      490,   491,   492,     0,  1013,  1014,     0,     0,   495,   496,
5293        0,   498,     0,     0,   500,   501,   502,   503,   504,   505,
5294      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
5295      512,   513,   514,   515,   516,     0,  1015,  2015,   519,   802,
5296      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
5297      526,   527,   528,   529,   530,   993,     0,     0,     0,     0,
5298        0,     0,     0,     0,   540,   541,   542,     0,     0,     0,
5299      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
5300      233,   234,     0,     0,  2122,     0,     0,     0,     0,   235,
5301      236,     0,   237,   238,   780,   239,   240,   241,     0,   994,
5302      781,   995,   996,     0,   246,   247,   248,   249,   250,     0,
5303        0,   251,   252,   997,   998,   255,     0,   256,   257,   258,
5304      259,     0,     0,   782,     0,   261,   262,   263,   264,   783,
5305      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
5306        0,   784,   274,   275,   276,     0,     0,     0,   785,     0,
5307        0,     0,   277,   278,   279,   280,   281,   282,   999,  1000,
5308      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
5309        0,   293,   294,   295,     0,     0,   296,   297,  1001,   299,
5310      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
5311      307,   308,   309,   310,     0,   312,   313,   314,     0,     0,
5312      316,     0,   317,   318,  1002,   320,     0,   321,     0,   322,
5313      786,     0,   787,   323,   324,   325,     0,   326,     0,     0,
5314        0,   329,     0,   330,   331,   332,   333,   334,   788,   335,
5315      336,   337,   338,  2010,   339,   340,   341,   342,   343,   344,
5316        0,   345,   789,  2011,   347,   348,   349,   350,  1004,  1005,
5317        0,  1006,     0,   354,   790,   791,   355,   792,   356,   357,
5318      358,   359,   360,     0,     0,   361,     0,   793,   363,   794,
5319        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
5320      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
5321      381,   382,  1007,   795,  1008,   385,   386,     0,     0,   388,
5322      389,   796,   390,     0,     0,   392,  1009,   394,   395,   396,
5323        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
5324     2013,   797,   403,   798,     0,   405,   406,   407,   408,   409,
5325      410,   411,   412,     0,   413,   414,     0,   416,     0,   418,
5326      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
5327      428,  1010,   430,   431,   432,   433,     0,   434,   435,   436,
5328      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
5329      446,   799,   447,   448,   449,     0,   451,   452,   453,   454,
5330      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
5331        0,   464,   465,  2014,   467,   468,   800,   469,   470,  1012,
5332      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
5333      481,   482,   483,     0,     0,   485,   486,     0,   487,   801,
5334      488,   489,   490,   491,   492,     0,  1013,  1014,     0,     0,
5335      495,   496,     0,   498,     0,     0,   500,   501,   502,   503,
5336      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
5337        0,     0,   512,   513,   514,   515,   516,     0,  1015,  2015,
5338      519,   802,   520,   521,   522,   523,     0,     0,   524,     0,
5339        0,   525,   526,   527,   528,   529,   530,   779,  1138,   600,
5340     1139,  1140,  1141,   654,  1142,     0,   540,   541,   542,     0,
5341        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
5342        0,   232,   233,   234,     0,     0,  3084,     0,  1143,     0,
5343        0,   235,   236,     0,   237,   238,   780,   239,   240,   241,
5344      242,  1144,   781,  1145,  1146,     0,   246,   247,   248,   249,
5345      250,  1147,  1148,   251,   252,  1149,  1150,   255,     0,   256,
5346      257,   258,   259,  1151,     0,  1152,     0,   261,   262,   263,
5347      264,   783,   265,   266,   267,     0,   268,   269,   270,   271,
5348      272,   273,     0,   784,   274,   275,   276,  1153,  1154,  1155,
5349     1156,  1157,  1158,  1159,   277,   278,   279,   280,   281,   282,
5350     1160,  1161,   285,  1283,   286,     0,   287,   288,   289,   290,
5351      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
5352     1001,   299,   300,     0,   301,   302,   303,     0,   304,   305,
5353      306,     0,   307,   308,   309,   310,  1162,   312,   313,   314,
5354     1163,  1164,   316,     0,   317,   318,  1165,   320,     0,   321,
5355        0,   322,   786,     0,   787,   323,   324,   325,     0,   326,
5356     1166,     0,  1167,   329,     0,   330,   331,   332,   333,   334,
5357      788,   335,   336,   337,   338,     0,   339,   340,   341,   342,
5358      343,   344,     0,   345,   789,   346,   347,   348,   349,   350,
5359     1168,  1169,     0,  1170,     0,   354,   790,   791,   355,   792,
5360      356,   357,   358,   359,   360,     0,     0,   361,  1171,   793,
5361      363,   794,     0,   364,   365,   366,  1172,  1173,   367,   368,
5362      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
5363      379,   380,   381,   382,  1174,   795,  1175,   385,   386,   387,
5364     1176,   388,   389,   796,   390,  1177,  1178,   392,  1179,   394,
5365      395,   396,     0,   397,     0,     0,  1180,   399,   400,     0,
5366        0,   401,   402,   797,   403,   798,  1181,   405,   406,   407,
5367      408,   409,   410,   411,   412,     0,   413,   414,  1182,   416,
5368      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
5369      426,   427,   428,  1183,   430,   431,   432,   433,     0,   434,
5370      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
5371        0,   445,   446,   799,   447,   448,   449,  1184,   451,   452,
5372      453,   454,   455,   456,   457,   458,    39,   459,   460,   461,
5373      462,   463,  1185,   464,   465,   466,   467,   468,   800,   469,
5374      470,  1186,   472,     0,   473,   474,   475,   476,   477,   478,
5375      479,   480,   481,   482,   483,  1187,     0,   485,   486,    43,
5376      487,   801,   488,   489,   490,   491,   492,     0,  1188,  1189,
5377        0,     0,   495,   496,  1190,   498,  1191,  1192,   500,   501,
5378      502,   503,   504,   505,   506,     0,  1193,   507,   508,   509,
5379      510,   511,  1194,     0,   512,   513,   514,   515,   516,  1074,
5380     1195,     0,   519,   802,   520,   521,   522,   523,     0,     0,
5381      524,     0,    48,   525,   526,   527,   528,   529,   530,   531,
5382     1196,  1197,  1198,  1199,  1200,  1201,  1202,  1203,   540,   541,
5383      542,  1204,     0,    49,     0,     0,     0,     0,  1205,  1206,
5384        0,     0,     0,     0,     0,     0,     0,  1208,   779,  1138,
5385      600,  1139,  1140,  1141,   654,  1142,     0,     0,     0,     0,
5386        0,     0,     0,   223,   224,   225,   226,   227,   228,   229,
5387      230,     0,   232,   233,   234,     0,     0,     0,     0,  1143,
5388        0,     0,   235,   236,     0,   237,   238,   780,   239,   240,
5389      241,   242,  1144,   781,  1145,  1146,     0,   246,   247,   248,
5390      249,   250,  1147,  1148,   251,   252,  1149,  1150,   255,     0,
5391      256,   257,   258,   259,  1151,     0,  1152,     0,   261,   262,
5392      263,   264,   783,   265,   266,   267,     0,   268,   269,   270,
5393      271,   272,   273,     0,   784,   274,   275,   276,  1153,  1154,
5394     1155,  1156,  1157,  1158,  1159,   277,   278,   279,   280,   281,
5395      282,  1160,  1161,   285,     0,   286,     0,   287,   288,   289,
5396      290,   291,   292,     0,   293,   294,   295,     0,     0,   296,
5397      297,  1001,   299,   300,     0,   301,   302,   303,     0,   304,
5398      305,   306,     0,   307,   308,   309,   310,  1162,   312,   313,
5399      314,  1163,  1164,   316,     0,   317,   318,  1165,   320,     0,
5400      321,     0,   322,   786,     0,   787,   323,   324,   325,     0,
5401      326,  1166,     0,  1167,   329,     0,   330,   331,   332,   333,
5402      334,   788,   335,   336,   337,   338,     0,   339,   340,   341,
5403      342,   343,   344,     0,   345,   789,   346,   347,   348,   349,
5404      350,  1168,  1169,     0,  1170,     0,   354,   790,   791,   355,
5405      792,   356,   357,   358,   359,   360,     0,     0,   361,  1171,
5406      793,   363,   794,     0,   364,   365,   366,  1172,  1173,   367,
5407      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
5408      378,   379,   380,   381,   382,  1174,   795,  1175,   385,   386,
5409      387,  1176,   388,   389,   796,   390,  1177,  1178,   392,  1179,
5410      394,   395,   396,     0,   397,     0,     0,  1180,   399,   400,
5411        0,     0,   401,   402,   797,   403,   798,  1181,   405,   406,
5412      407,   408,   409,   410,   411,   412,     0,   413,   414,  1182,
5413      416,   417,   418,   419,   420,     0,   421,   422,   423,   424,
5414      425,   426,   427,   428,  1183,   430,   431,   432,   433,     0,
5415      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
5416      444,     0,   445,   446,   799,   447,   448,   449,  1184,   451,
5417      452,   453,   454,   455,   456,   457,   458,    39,   459,   460,
5418      461,   462,   463,  1185,   464,   465,   466,   467,   468,   800,
5419      469,   470,  1186,   472,     0,   473,   474,   475,   476,   477,
5420      478,   479,   480,   481,   482,   483,  1187,     0,   485,   486,
5421       43,   487,   801,   488,   489,   490,   491,   492,     0,  1188,
5422     1189,     0,     0,   495,   496,  1190,   498,  1191,  1192,   500,
5423      501,   502,   503,   504,   505,   506,     0,  1193,   507,   508,
5424      509,   510,   511,  1194,     0,   512,   513,   514,   515,   516,
5425     1074,  1195,     0,   519,   802,   520,   521,   522,   523,     0,
5426        0,   524,     0,    48,   525,   526,   527,   528,   529,   530,
5427      531,  1196,  1197,  1198,  1199,  1200,  1201,  1202,  1203,   540,
5428      541,   542,  1204,     0,    49,     0,     0,     0,     0,  1205,
5429     1206,     0,     0,     0,     0,     0,     0,     0,  1208,   779,
5430     1138,   600,  1139,  1140,  1141,   654,  1142,     0,     0,     0,
5431        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
5432      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
5433     1143,     0,     0,   235,   236,     0,   237,   238,   780,   239,
5434      240,   241,   242,  1144,   781,  1145,  1146,  2560,   246,   247,
5435      248,   249,   250,  1147,  1148,   251,   252,  1149,  1150,   255,
5436        0,   256,   257,   258,   259,  1151,     0,  1152,     0,   261,
5437      262,   263,   264,   783,   265,   266,   267,     0,   268,   269,
5438      270,   271,   272,   273,     0,   784,   274,   275,   276,  1153,
5439     1154,  1155,  1156,  1157,  1158,  1159,   277,   278,   279,   280,
5440      281,   282,  1160,  1161,   285,     0,   286,     0,   287,   288,
5441      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
5442      296,   297,  1001,   299,   300,     0,   301,   302,   303,     0,
5443      304,   305,   306,     0,   307,   308,   309,   310,  1162,   312,
5444      313,   314,  1163,  1164,   316,     0,   317,   318,  1165,   320,
5445        0,   321,     0,   322,   786,  2561,   787,   323,   324,   325,
5446        0,   326,  1166,     0,  1167,   329,     0,   330,   331,   332,
5447      333,   334,   788,   335,   336,   337,   338,     0,   339,   340,
5448      341,   342,   343,   344,     0,   345,   789,   346,   347,   348,
5449      349,   350,  1168,  1169,     0,  1170,     0,   354,   790,   791,
5450      355,   792,   356,   357,   358,   359,   360,     0,  2562,   361,
5451     1171,   793,   363,   794,     0,   364,   365,   366,  1172,  1173,
5452      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
5453      377,   378,   379,   380,   381,   382,  1174,   795,  1175,   385,
5454      386,   387,  1176,   388,   389,   796,   390,  1177,  1178,   392,
5455     1179,   394,   395,   396,     0,   397,     0,     0,  1180,   399,
5456      400,     0,     0,   401,   402,   797,   403,   798,  1181,   405,
5457      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
5458     1182,   416,   417,   418,   419,   420,     0,   421,   422,   423,
5459      424,   425,   426,   427,   428,  1183,   430,   431,   432,   433,
5460        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
5461      443,   444,     0,   445,   446,   799,   447,   448,   449,  1184,
5462      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
5463      460,   461,   462,   463,  1185,   464,   465,   466,   467,   468,
5464      800,   469,   470,  1186,   472,     0,   473,   474,   475,   476,
5465      477,   478,   479,   480,   481,   482,   483,  1187,     0,   485,
5466      486,     0,   487,   801,   488,   489,   490,   491,   492,     0,
5467     1188,  1189,     0,  2563,   495,   496,  1190,   498,  1191,  1192,
5468      500,   501,   502,   503,   504,   505,   506,     0,  1193,   507,
5469      508,   509,   510,   511,  1194,     0,   512,   513,   514,   515,
5470      516,   517,  1195,     0,   519,   802,   520,   521,   522,   523,
5471        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
5472      530,   531,  1196,  1197,  1198,  1199,  1200,  1201,  1202,  1203,
5473      540,   541,   542,  1204,     0,     0,     0,     0,     0,     0,
5474     1205,  1206,     0,     0,     0,     0,     0,     0,     0,  1208,
5475      779,  1138,   600,  1139,  1140,  1141,   654,  1142,     0,     0,
5476        0,     0,     0,     0,     0,   223,   224,   225,   226,   227,
5477      228,   229,   230,     0,   232,   233,   234,     0,     0,     0,
5478        0,  1143,     0,     0,   235,   236,     0,   237,   238,   780,
5479      239,   240,   241,   242,  1144,   781,  1145,  1146,     0,   246,
5480      247,   248,   249,   250,  1147,  1148,   251,   252,  1149,  1150,
5481      255,     0,   256,   257,   258,   259,  1151,     0,  1152,     0,
5482      261,   262,   263,   264,   783,   265,   266,   267,     0,   268,
5483      269,   270,   271,   272,   273,     0,   784,   274,   275,   276,
5484     1153,  1154,  1155,  1156,  1157,  1158,  1159,   277,   278,   279,
5485      280,   281,   282,  1160,  1161,   285,     0,   286,     0,   287,
5486      288,   289,   290,   291,   292,     0,   293,   294,   295,     0,
5487        0,   296,   297,  1001,   299,   300,     0,   301,   302,   303,
5488        0,   304,   305,   306,     0,   307,   308,   309,   310,  1162,
5489      312,   313,   314,  1163,  1164,   316,     0,   317,   318,  1165,
5490      320,     0,   321,     0,   322,   786,     0,   787,   323,   324,
5491      325,     0,   326,  1166,     0,  1167,   329,     0,   330,   331,
5492      332,   333,   334,   788,   335,   336,   337,   338,     0,   339,
5493      340,   341,   342,   343,   344,     0,   345,   789,   346,   347,
5494      348,   349,   350,  1168,  1169,     0,  1170,     0,   354,   790,
5495      791,   355,   792,   356,   357,   358,   359,   360,     0,     0,
5496      361,  1171,   793,   363,   794,     0,   364,   365,   366,  1172,
5497     1173,   367,   368,   369,   370,   371,   372,   373,   374,   375,
5498      376,   377,   378,   379,   380,   381,   382,  1174,   795,  1175,
5499      385,   386,   387,  1176,   388,   389,   796,   390,  1177,  1178,
5500      392,  1179,   394,   395,   396,     0,   397,     0,     0,  1180,
5501      399,   400,     0,     0,   401,   402,   797,   403,   798,  1181,
5502      405,   406,   407,   408,   409,   410,   411,   412,     0,   413,
5503      414,  1182,   416,   417,   418,   419,   420,     0,   421,   422,
5504      423,   424,   425,   426,   427,   428,  1183,   430,   431,   432,
5505      433,     0,   434,   435,   436,   437,   438,   439,   440,   441,
5506      442,   443,   444,     0,   445,   446,   799,   447,   448,   449,
5507     1184,   451,   452,   453,   454,   455,   456,   457,   458,     0,
5508      459,   460,   461,   462,   463,  1185,   464,   465,   466,   467,
5509      468,   800,   469,   470,  1186,   472,     0,   473,   474,   475,
5510      476,   477,   478,   479,   480,   481,   482,   483,  1187,     0,
5511      485,   486,     0,   487,   801,   488,   489,   490,   491,   492,
5512        0,  1188,  1189,     0,     0,   495,   496,  1190,   498,  1191,
5513     1192,   500,   501,   502,   503,   504,   505,   506,     0,  1193,
5514      507,   508,   509,   510,   511,  1194,     0,   512,   513,   514,
5515      515,   516,   517,  1195,     0,   519,   802,   520,   521,   522,
5516      523,     0,     0,   524,     0,     0,   525,   526,   527,   528,
5517      529,   530,   531,  1196,  1197,  1198,  1199,  1200,  1201,  1202,
5518     1203,   540,   541,   542,  1204,     0,     0,     0,     0,     0,
5519        0,  1205,  1206,     0,     0,     0,     0,     0,  1750,  2515,
5520     1208,   779,  1138,   600,  1139,  1140,  1141,   654,  1142,     0,
5521        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
5522      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
5523        0,     0,  1143,     0,     0,   235,   236,     0,   237,   238,
5524      780,   239,   240,   241,   242,  1144,   781,  1145,  1146,     0,
5525      246,   247,   248,   249,   250,  1147,  1148,   251,   252,  1149,
5526     1150,   255,     0,   256,   257,   258,   259,  1151,     0,  1152,
5527        0,   261,   262,   263,   264,   783,   265,   266,   267,     0,
5528      268,   269,   270,   271,   272,   273,     0,   784,   274,   275,
5529      276,  1153,  1154,  1155,  1156,  1157,  1158,  1159,   277,   278,
5530      279,   280,   281,   282,  1160,  1161,   285,     0,   286,     0,
5531      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
5532        0,     0,   296,   297,  1001,   299,   300,     0,   301,   302,
5533      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
5534     1162,   312,   313,   314,  1163,  1164,   316,     0,   317,   318,
5535     1165,   320,     0,   321,     0,   322,   786,     0,   787,   323,
5536      324,   325,     0,   326,  1166,     0,  1167,   329,     0,   330,
5537      331,   332,   333,   334,   788,   335,   336,   337,   338,     0,
5538      339,   340,   341,   342,   343,   344,     0,   345,   789,   346,
5539      347,   348,   349,   350,  1168,  1169,     0,  1170,     0,   354,
5540      790,   791,   355,   792,   356,   357,   358,   359,   360,     0,
5541        0,   361,  1171,   793,   363,   794,     0,   364,   365,   366,
5542     1172,  1173,   367,   368,   369,   370,   371,   372,   373,   374,
5543      375,   376,   377,   378,   379,   380,   381,   382,  1174,   795,
5544     1175,   385,   386,   387,  1176,   388,   389,   796,   390,  1177,
5545     1178,   392,  1179,   394,   395,   396,     0,   397,     0,     0,
5546     1180,   399,   400,     0,     0,   401,   402,   797,   403,   798,
5547     1181,   405,   406,   407,   408,   409,   410,   411,   412,     0,
5548      413,   414,  1182,   416,   417,   418,   419,   420,     0,   421,
5549      422,   423,   424,   425,   426,   427,   428,  1183,   430,   431,
5550      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
5551      441,   442,   443,   444,     0,   445,   446,   799,   447,   448,
5552      449,  1184,   451,   452,   453,   454,   455,   456,   457,   458,
5553        0,   459,   460,   461,   462,   463,  1185,   464,   465,   466,
5554      467,   468,   800,   469,   470,  1186,   472,     0,   473,   474,
5555      475,   476,   477,   478,   479,   480,   481,   482,   483,  1187,
5556        0,   485,   486,     0,   487,   801,   488,   489,   490,   491,
5557      492,     0,  1188,  1189,     0,     0,   495,   496,  1190,   498,
5558     1191,  1192,   500,   501,   502,   503,   504,   505,   506,     0,
5559     1193,   507,   508,   509,   510,   511,  1194,     0,   512,   513,
5560      514,   515,   516,   517,  1195,     0,   519,   802,   520,   521,
5561      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
5562      528,   529,   530,   531,  1196,  1197,  1198,  1199,  1200,  1201,
5563     1202,  1203,   540,   541,   542,  1204,     0,     0,     0,     0,
5564        0,     0,  1205,  1206,  1207,     0,     0,     0,     0,     0,
5565        0,  1208,   779,  1138,   600,  1139,  1140,  1141,   654,  1142,
5566        0,     0,     0,     0,     0,     0,     0,   223,   224,   225,
5567      226,   227,   228,   229,   230,     0,   232,   233,   234,     0,
5568        0,     0,     0,  1143,     0,     0,   235,   236,     0,   237,
5569      238,   780,   239,   240,   241,   242,  1144,   781,  1145,  1146,
5570        0,   246,   247,   248,   249,   250,  1147,  1148,   251,   252,
5571     1149,  1150,   255,     0,   256,   257,   258,   259,  1151,     0,
5572     1152,     0,   261,   262,   263,   264,   783,   265,   266,   267,
5573        0,   268,   269,   270,   271,   272,   273,     0,   784,   274,
5574      275,   276,  1153,  1154,  1155,  1156,  1157,  1158,  1159,   277,
5575      278,   279,   280,   281,   282,  1160,  1161,   285,  1283,   286,
5576        0,   287,   288,   289,   290,   291,   292,     0,   293,   294,
5577      295,     0,     0,   296,   297,  1001,   299,   300,     0,   301,
5578      302,   303,     0,   304,   305,   306,     0,   307,   308,   309,
5579      310,  1162,   312,   313,   314,  1163,  1164,   316,     0,   317,
5580      318,  1165,   320,     0,   321,     0,   322,   786,     0,   787,
5581      323,   324,   325,     0,   326,  1166,     0,  1167,   329,     0,
5582      330,   331,   332,   333,   334,   788,   335,   336,   337,   338,
5583        0,   339,   340,   341,   342,   343,   344,     0,   345,   789,
5584      346,   347,   348,   349,   350,  1168,  1169,     0,  1170,     0,
5585      354,   790,   791,   355,   792,   356,   357,   358,   359,   360,
5586        0,     0,   361,  1171,   793,   363,   794,     0,   364,   365,
5587      366,  1172,  1173,   367,   368,   369,   370,   371,   372,   373,
5588      374,   375,   376,   377,   378,   379,   380,   381,   382,  1174,
5589      795,  1175,   385,   386,   387,  1176,   388,   389,   796,   390,
5590     1177,  1178,   392,  1179,   394,   395,   396,     0,   397,     0,
5591        0,  1180,   399,   400,     0,     0,   401,   402,   797,   403,
5592      798,  1181,   405,   406,   407,   408,   409,   410,   411,   412,
5593        0,   413,   414,  1182,   416,   417,   418,   419,   420,     0,
5594      421,   422,   423,   424,   425,   426,   427,   428,  1183,   430,
5595      431,   432,   433,     0,   434,   435,   436,   437,   438,   439,
5596      440,   441,   442,   443,   444,     0,   445,   446,   799,   447,
5597      448,   449,  1184,   451,   452,   453,   454,   455,   456,   457,
5598      458,     0,   459,   460,   461,   462,   463,  1185,   464,   465,
5599      466,   467,   468,   800,   469,   470,  1186,   472,     0,   473,
5600      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
5601     1187,     0,   485,   486,     0,   487,   801,   488,   489,   490,
5602      491,   492,     0,  1188,  1189,     0,     0,   495,   496,  1190,
5603      498,  1191,  1192,   500,   501,   502,   503,   504,   505,   506,
5604        0,  1193,   507,   508,   509,   510,   511,  1194,     0,   512,
5605      513,   514,   515,   516,   517,  1195,     0,   519,   802,   520,
5606      521,   522,   523,     0,     0,   524,     0,     0,   525,   526,
5607      527,   528,   529,   530,   531,  1196,  1197,  1198,  1199,  1200,
5608     1201,  1202,  1203,   540,   541,   542,  1204,     0,     0,     0,
5609        0,     0,     0,  1205,  1206,     0,     0,     0,     0,     0,
5610        0,     0,  1208,   779,  1138,   600,  1139,  1140,  1141,   654,
5611     1142,     0,     0,     0,     0,     0,     0,     0,   223,   224,
5612      225,   226,   227,   228,   229,   230,  1983,   232,   233,   234,
5613        0,     0,     0,     0,  1143,     0,     0,   235,   236,     0,
5614      237,   238,   780,   239,   240,   241,   242,  1144,   781,  1145,
5615     1146,     0,   246,   247,   248,   249,   250,  1147,  1148,   251,
5616      252,  1149,  1150,   255,     0,   256,   257,   258,   259,  1151,
5617        0,  1152,     0,   261,   262,   263,   264,   783,   265,   266,
5618      267,     0,   268,   269,   270,   271,   272,   273,     0,   784,
5619      274,   275,   276,  1153,  1154,  1155,  1156,  1157,  1158,  1159,
5620      277,   278,   279,   280,   281,   282,  1160,  1161,   285,     0,
5621      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
5622      294,   295,     0,     0,   296,   297,  1001,   299,   300,     0,
5623      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
5624      309,   310,  1162,   312,   313,   314,  1163,  1164,   316,     0,
5625      317,   318,  1165,   320,     0,   321,     0,   322,   786,     0,
5626      787,   323,   324,   325,     0,   326,  1166,     0,  1167,   329,
5627        0,   330,   331,   332,   333,   334,   788,   335,   336,   337,
5628      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
5629      789,   346,   347,   348,   349,   350,  1168,  1169,     0,  1170,
5630        0,   354,   790,   791,   355,   792,   356,   357,   358,   359,
5631      360,     0,     0,   361,  1171,   793,   363,   794,     0,   364,
5632      365,   366,  1172,  1173,   367,   368,   369,   370,   371,   372,
5633      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
5634     1174,   795,  1175,   385,   386,   387,  1176,   388,   389,   796,
5635      390,  1177,  1178,   392,  1179,   394,   395,   396,     0,   397,
5636        0,     0,  1180,   399,   400,     0,     0,   401,   402,   797,
5637      403,   798,  1181,   405,   406,   407,   408,   409,   410,   411,
5638      412,     0,   413,   414,  1182,   416,   417,   418,   419,   420,
5639        0,   421,   422,   423,   424,   425,   426,   427,   428,  1183,
5640      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
5641      439,   440,   441,   442,   443,   444,     0,   445,   446,   799,
5642      447,   448,   449,  1184,   451,   452,   453,   454,   455,   456,
5643      457,   458,     0,   459,   460,   461,   462,   463,  1185,   464,
5644      465,   466,   467,   468,   800,   469,   470,  1186,   472,     0,
5645      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
5646      483,  1187,     0,   485,   486,     0,   487,   801,   488,   489,
5647      490,   491,   492,     0,  1188,  1189,     0,     0,   495,   496,
5648     1190,   498,  1191,  1192,   500,   501,   502,   503,   504,   505,
5649      506,     0,  1193,   507,   508,   509,   510,   511,  1194,     0,
5650      512,   513,   514,   515,   516,   517,  1195,     0,   519,   802,
5651      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
5652      526,   527,   528,   529,   530,   531,  1196,  1197,  1198,  1199,
5653     1200,  1201,  1202,  1203,   540,   541,   542,  1204,     0,     0,
5654        0,     0,     0,     0,  1205,  1206,     0,     0,     0,     0,
5655        0,     0,     0,  1208,   779,  1138,   600,  1139,  1140,  1141,
5656      654,  1142,     0,     0,     0,     0,     0,     0,     0,   223,
5657      224,   225,   226,   227,   228,   229,   230,     0,   232,   233,
5658      234,     0,     0,     0,     0,  1143,     0,     0,   235,   236,
5659        0,   237,   238,   780,   239,   240,   241,   242,  1144,   781,
5660     1145,  1146,     0,   246,   247,   248,   249,   250,  1147,  1148,
5661      251,   252,  1149,  1150,   255,     0,   256,   257,   258,   259,
5662     1151,     0,  1152,     0,   261,   262,   263,   264,   783,   265,
5663      266,   267,     0,   268,   269,   270,   271,   272,   273,     0,
5664      784,   274,   275,   276,  1153,  1154,  1155,  1156,  1157,  1158,
5665     1159,   277,   278,   279,   280,   281,   282,  1160,  1161,   285,
5666        0,   286,     0,   287,   288,   289,   290,   291,   292,     0,
5667      293,   294,   295,     0,     0,   296,   297,  1001,   299,   300,
5668        0,   301,   302,   303,     0,   304,   305,   306,     0,   307,
5669      308,   309,   310,  1162,   312,   313,   314,  1163,  1164,   316,
5670        0,   317,   318,  1165,   320,     0,   321,     0,   322,   786,
5671     2561,   787,   323,   324,   325,     0,   326,  1166,     0,  1167,
5672      329,     0,   330,   331,   332,   333,   334,   788,   335,   336,
5673      337,   338,     0,   339,   340,   341,   342,   343,   344,     0,
5674      345,   789,   346,   347,   348,   349,   350,  1168,  1169,     0,
5675     1170,     0,   354,   790,   791,   355,   792,   356,   357,   358,
5676      359,   360,     0,     0,   361,  1171,   793,   363,   794,     0,
5677      364,   365,   366,  1172,  1173,   367,   368,   369,   370,   371,
5678      372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
5679      382,  1174,   795,  1175,   385,   386,   387,  1176,   388,   389,
5680      796,   390,  1177,  1178,   392,  1179,   394,   395,   396,     0,
5681      397,     0,     0,  1180,   399,   400,     0,     0,   401,   402,
5682      797,   403,   798,  1181,   405,   406,   407,   408,   409,   410,
5683      411,   412,     0,   413,   414,  1182,   416,   417,   418,   419,
5684      420,     0,   421,   422,   423,   424,   425,   426,   427,   428,
5685     1183,   430,   431,   432,   433,     0,   434,   435,   436,   437,
5686      438,   439,   440,   441,   442,   443,   444,     0,   445,   446,
5687      799,   447,   448,   449,  1184,   451,   452,   453,   454,   455,
5688      456,   457,   458,     0,   459,   460,   461,   462,   463,  1185,
5689      464,   465,   466,   467,   468,   800,   469,   470,  1186,   472,
5690        0,   473,   474,   475,   476,   477,   478,   479,   480,   481,
5691      482,   483,  1187,     0,   485,   486,     0,   487,   801,   488,
5692      489,   490,   491,   492,     0,  1188,  1189,     0,     0,   495,
5693      496,  1190,   498,  1191,  1192,   500,   501,   502,   503,   504,
5694      505,   506,     0,  1193,   507,   508,   509,   510,   511,  1194,
5695        0,   512,   513,   514,   515,   516,   517,  1195,     0,   519,
5696      802,   520,   521,   522,   523,     0,     0,   524,     0,     0,
5697      525,   526,   527,   528,   529,   530,   531,  1196,  1197,  1198,
5698     1199,  1200,  1201,  1202,  1203,   540,   541,   542,  1204,     0,
5699        0,     0,     0,     0,     0,  1205,  1206,     0,     0,     0,
5700        0,     0,     0,     0,  1208,   779,  1138,   600,  1139,  1140,
5701     1141,   654,  1142,     0,     0,     0,     0,     0,     0,     0,
5702      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
5703      233,   234,     0,     0,     0,     0,  1143,     0,     0,   235,
5704      236,     0,   237,   238,   780,   239,   240,   241,   242,  1144,
5705      781,  1145,  1146,     0,   246,   247,   248,   249,   250,  1147,
5706     1148,   251,   252,  1149,  1150,   255,     0,   256,   257,   258,
5707      259,  1151,     0,  1152,     0,   261,   262,   263,   264,   783,
5708      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
5709        0,   784,   274,   275,   276,  1153,  1154,  1155,  1156,  1157,
5710     1158,  1159,   277,   278,   279,   280,   281,   282,  1160,  1161,
5711      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
5712        0,   293,   294,   295,     0,     0,   296,   297,  1001,   299,
5713      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
5714      307,   308,   309,   310,  1162,   312,   313,   314,  1163,  1164,
5715      316,     0,   317,   318,  1165,   320,     0,   321,     0,   322,
5716      786,     0,   787,   323,   324,   325,     0,   326,  1166,     0,
5717     1167,   329,     0,   330,   331,   332,   333,   334,   788,   335,
5718      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
5719        0,   345,   789,   346,   347,   348,   349,   350,  1168,  1169,
5720        0,  1170,     0,   354,   790,   791,   355,   792,   356,   357,
5721      358,   359,   360,     0,     0,   361,  1171,   793,   363,   794,
5722        0,   364,   365,   366,  1172,  1173,   367,   368,   369,   370,
5723      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
5724      381,   382,  1174,   795,  1175,   385,   386,   387,  1176,   388,
5725      389,   796,   390,  1177,  1178,   392,  1179,   394,   395,   396,
5726        0,   397,     0,     0,  1180,   399,   400,     0,     0,   401,
5727      402,   797,   403,   798,  1181,   405,   406,   407,   408,   409,
5728      410,   411,   412,     0,   413,   414,  1182,   416,   417,   418,
5729      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
5730      428,  1183,   430,   431,   432,   433,     0,   434,   435,   436,
5731      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
5732      446,   799,   447,   448,   449,  1184,   451,   452,   453,   454,
5733      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
5734     1185,   464,   465,   466,   467,   468,   800,   469,   470,  1186,
5735      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
5736      481,   482,   483,  1187,     0,   485,   486,     0,   487,   801,
5737      488,   489,   490,   491,   492,     0,  1188,  1189,     0,     0,
5738      495,   496,  1190,   498,  1191,  1192,   500,   501,   502,   503,
5739      504,   505,   506,     0,  1193,   507,   508,   509,   510,   511,
5740     1194,     0,   512,   513,   514,   515,   516,   517,  1195,  3878,
5741      519,   802,   520,   521,   522,   523,     0,     0,   524,     0,
5742        0,   525,   526,   527,   528,   529,   530,   531,  1196,  1197,
5743     1198,  1199,  1200,  1201,  1202,  1203,   540,   541,   542,  1204,
5744        0,     0,     0,     0,     0,     0,  1205,  1206,     0,     0,
5745        0,     0,     0,     0,     0,  1208,   779,  1138,   600,  1139,
5746     1140,  1141,   654,  1142,     0,     0,     0,     0,     0,     0,
5747        0,   223,   224,   225,   226,   227,   228,   229,   230,     0,
5748      232,   233,   234,     0,     0,     0,     0,  1143,     0,     0,
5749      235,   236,     0,   237,   238,   780,   239,   240,   241,   242,
5750     1144,   781,  1145,  1146,     0,   246,   247,   248,   249,   250,
5751     1147,  1148,   251,   252,  1149,  1150,   255,     0,   256,   257,
5752      258,   259,  1151,     0,  1152,     0,   261,   262,   263,   264,
5753      783,   265,   266,   267,     0,   268,   269,   270,   271,   272,
5754      273,     0,   784,   274,   275,   276,  1153,  1154,  1155,  1156,
5755     1157,  1158,  1159,   277,   278,   279,   280,   281,   282,  1160,
5756     1161,   285,     0,   286,     0,   287,   288,   289,   290,   291,
5757      292,     0,   293,   294,   295,     0,     0,   296,   297,  1001,
5758      299,   300,     0,   301,   302,   303,     0,   304,   305,   306,
5759        0,   307,   308,   309,   310,  1162,   312,   313,   314,  1163,
5760     1164,   316,     0,   317,   318,  1165,   320,     0,   321,     0,
5761      322,   786,     0,   787,   323,   324,   325,     0,   326,  1166,
5762        0,  1167,   329,     0,   330,   331,   332,   333,   334,   788,
5763      335,   336,   337,   338,     0,   339,   340,   341,   342,   343,
5764      344,     0,   345,   789,   346,   347,   348,   349,   350,  1168,
5765     1169,     0,  1170,     0,   354,   790,   791,   355,   792,   356,
5766      357,   358,   359,   360,     0,     0,   361,  1171,   793,   363,
5767      794,     0,   364,   365,   366,  1172,  1173,   367,   368,   369,
5768      370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
5769      380,   381,   382,  1174,   795,  1175,   385,   386,   387,  1176,
5770      388,   389,   796,   390,  1177,  1178,   392,  1179,   394,   395,
5771      396,     0,   397,     0,     0,  1180,   399,   400,     0,     0,
5772      401,   402,   797,   403,   798,  1181,   405,   406,   407,   408,
5773      409,   410,   411,   412,     0,   413,   414,  1182,   416,   417,
5774      418,   419,   420,     0,   421,   422,   423,   424,   425,   426,
5775      427,   428,  1183,   430,   431,   432,   433,     0,   434,   435,
5776      436,   437,   438,   439,   440,   441,   442,   443,   444,     0,
5777      445,   446,   799,   447,   448,   449,  1184,   451,   452,   453,
5778      454,   455,   456,   457,   458,     0,   459,   460,   461,   462,
5779      463,  1185,   464,   465,   466,   467,   468,   800,   469,   470,
5780     1186,   472,     0,   473,   474,   475,   476,   477,   478,   479,
5781      480,   481,   482,   483,  1187,     0,   485,   486,     0,   487,
5782      801,   488,   489,   490,   491,   492,     0,  1188,  1189,     0,
5783        0,   495,   496,  1190,   498,  1191,  1192,   500,   501,   502,
5784      503,   504,   505,   506,     0,  1193,   507,   508,   509,   510,
5785      511,  1194,     0,   512,   513,   514,   515,   516,   517,  1195,
5786        0,   519,   802,   520,   521,   522,   523,     0,     0,   524,
5787        0,     0,   525,   526,   527,   528,   529,   530,   531,  1196,
5788     1197,  1198,  1199,  1200,  1201,  1202,  1203,   540,   541,   542,
5789     1204,     0,     0,     0,     0,     0,     0,  1205,  1206,     0,
5790        0,     0,     0,     0,     0,     0,  1208,   779,  1138,   600,
5791     1139,  1140,  1141,   654,  1142,     0,     0,     0,     0,     0,
5792        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
5793        0,   232,   233,   234,     0,     0,     0,     0,  1143,     0,
5794        0,   235,   236,     0,   237,   238,   780,   239,   240,   241,
5795      242,  1144,   781,  1145,  1146,     0,   246,   247,   248,   249,
5796      250,  1147,  1148,   251,   252,  1149,  1150,   255,     0,   256,
5797      257,   258,   259,  1151,     0,  1152,     0,   261,   262,   263,
5798      264,   783,   265,   266,   267,     0,   268,   269,   270,   271,
5799      272,   273,     0,   784,   274,   275,   276,  1153,  1154,  1155,
5800     1156,  1157,  1158,  1159,   277,   278,   279,   280,   281,   282,
5801     1160,  1161,   285,     0,   286,     0,   287,   288,   289,   290,
5802      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
5803     1001,   299,   300,     0,   301,   302,   303,     0,   304,   305,
5804      306,     0,   307,   308,   309,   310,  1162,   312,   313,   314,
5805     1163,  1164,   316,     0,   317,   318,  1165,   320,     0,   321,
5806        0,   322,   786,     0,   787,   323,   324,   325,     0,   326,
5807     1166,     0,  1167,   329,     0,   330,   331,   332,   333,   334,
5808      788,   335,   336,   337,   338,     0,   339,   340,   341,   342,
5809      343,   344,     0,   345,   789,   346,   347,   348,   349,   350,
5810     1168,  1169,     0,  1170,     0,   354,   790,   791,   355,   792,
5811      356,   357,   358,   359,   360,     0,     0,   361,  1171,   793,
5812      363,   794,     0,   364,   365,   366,  1172,  1173,   367,   368,
5813      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
5814      379,   380,   381,   382,  1174,   795,  1175,   385,   386,   387,
5815     1176,   388,   389,   796,   390,  1177,  1178,   392,  1179,   394,
5816      395,   396,     0,   397,     0,     0,  1180,   399,   400,     0,
5817        0,   401,   402,   797,   403,   798,  1181,   405,   406,   407,
5818      408,   409,   410,   411,   412,     0,   413,   414,  1182,   416,
5819      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
5820      426,   427,   428,  1183,   430,   431,   432,   433,     0,   434,
5821      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
5822        0,   445,   446,   799,   447,   448,   449,  1184,   451,   452,
5823      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
5824      462,   463,  1185,   464,   465,   466,   467,   468,   800,   469,
5825      470,  1186,   472,     0,   473,   474,   475,   476,   477,   478,
5826      479,   480,   481,   482,   483,  1187,     0,   485,   486,     0,
5827      487,   801,   488,   489,   490,   491,   492,     0,  1188,  1189,
5828        0,     0,   495,   496,  1190,   498,  1191,  1192,   500,   501,
5829      502,   503,   504,   505,   506,     0,  1193,   507,   508,   509,
5830      510,   511,  1194,     0,   512,   513,   514,   515,   516,   517,
5831     1195,     0,   519,   802,   520,   521,   522,   523,     0,     0,
5832      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
5833     1196,  1197,  1198,  1199,  1200,  1201,  1202,  1203,   540,   541,
5834      542,  1204,     0,     0,     0,     0,     0,     0,  1986,  1987,
5835        0,     0,     0,     0,     0,     0,     0,  1208,   779,  2690,
5836      600,  1139,  1140,  1141,   654,  1142,     0,     0,     0,     0,
5837        0,     0,     0,   223,   224,   225,   226,   227,   228,   229,
5838      230,     0,   232,   233,   234,     0,     0,     0,     0,  1143,
5839        0,     0,   235,   236,     0,   237,   238,   780,   239,   240,
5840      241,   242,  1144,   781,  1145,  1146,     0,   246,   247,   248,
5841      249,   250,  1147,  1148,   251,   252,  1149,  1150,   255,     0,
5842      256,   257,   258,   259,  1151,     0,  1152,     0,   261,   262,
5843      263,   264,   783,   265,   266,   267,     0,   268,   269,   270,
5844      271,   272,   273,     0,   784,   274,   275,   276,  1153,  1154,
5845     1155,  1156,  1157,  1158,  1159,   277,   278,   279,   280,   281,
5846      282,  1160,  1161,   285,     0,   286,     0,   287,   288,   289,
5847      290,   291,   292,     0,   293,   294,   295,     0,     0,   296,
5848      297,  1001,   299,   300,     0,   301,   302,   303,     0,   304,
5849      305,   306,     0,   307,   308,   309,   310,  1162,   312,   313,
5850      314,  1163,  1164,   316,     0,   317,   318,  1165,   320,     0,
5851      321,     0,   322,   786,     0,   787,   323,   324,   325,     0,
5852      326,  1166,     0,  1167,   329,     0,   330,   331,   332,   333,
5853      334,   788,   335,   336,   337,   338,     0,   339,   340,   341,
5854      342,   343,   344,     0,   345,   789,   346,   347,   348,   349,
5855      350,  1168,  1169,     0,  1170,     0,   354,   790,   791,   355,
5856      792,   356,   357,   358,   359,   360,     0,     0,   361,  1171,
5857      793,   363,   794,     0,   364,   365,   366,  1172,  1173,   367,
5858      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
5859      378,   379,   380,   381,   382,  1174,   795,  1175,   385,   386,
5860      387,  1176,   388,   389,   796,   390,  1177,  1178,   392,  1179,
5861      394,   395,   396,     0,   397,     0,     0,  1180,   399,   400,
5862        0,     0,   401,   402,   797,   403,   798,  1181,   405,   406,
5863      407,   408,   409,   410,   411,   412,     0,   413,   414,  1182,
5864      416,   417,   418,   419,   420,     0,   421,   422,   423,   424,
5865      425,   426,   427,   428,  1183,   430,   431,   432,   433,     0,
5866      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
5867      444,     0,   445,   446,   799,   447,   448,   449,  1184,   451,
5868      452,   453,   454,   455,   456,   457,   458,     0,   459,   460,
5869      461,   462,   463,  1185,   464,   465,   466,   467,   468,   800,
5870      469,   470,  1186,   472,     0,   473,   474,   475,   476,   477,
5871      478,   479,   480,   481,   482,   483,  1187,     0,   485,   486,
5872        0,   487,   801,   488,   489,   490,   491,   492,     0,  1188,
5873     1189,     0,     0,   495,   496,  1190,   498,  1191,  1192,   500,
5874      501,   502,   503,   504,   505,   506,     0,  1193,   507,   508,
5875      509,   510,   511,  1194,     0,   512,   513,   514,   515,   516,
5876      517,  1195,     0,   519,   802,   520,   521,   522,   523,     0,
5877        0,   524,     0,     0,   525,   526,   527,   528,   529,   530,
5878      531,  1196,  1197,  1198,  1199,  1200,  1201,  1202,  1203,   540,
5879      541,   542,  1204,     0,     0,     0,     0,     0,     0,  1205,
5880     1206,     0,     0,     0,     0,     0,     0,     0,  1208,   779,
5881     1138,   600,  1139,  1140,  1141,   654,  1142,     0,     0,     0,
5882        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
5883      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
5884     1143,     0,     0,   235,   236,     0,   237,   238,   780,   239,
5885      240,   241,   242,  1144,   781,  1145,  1146,     0,   246,   247,
5886      248,   249,   250,  1147,  1148,   251,   252,  1149,  1150,   255,
5887        0,   256,   257,   258,   259,  1151,     0,  1152,     0,   261,
5888      262,   263,   264,   783,   265,   266,   267,     0,   268,   269,
5889      270,   271,   272,   273,     0,   784,   274,   275,  3890,  1153,
5890     1154,  1155,  1156,  1157,  1158,  1159,   277,   278,   279,   280,
5891      281,   282,  1160,  1161,   285,     0,   286,     0,   287,   288,
5892      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
5893      296,   297,  1001,   299,   300,     0,   301,   302,   303,     0,
5894      304,   305,   306,     0,   307,   308,   309,   310,  1162,   312,
5895      313,   314,  1163,  1164,   316,     0,   317,   318,  1165,   320,
5896        0,   321,     0,   322,   786,     0,   787,   323,   324,   325,
5897        0,   326,  1166,     0,  1167,   329,     0,   330,   331,   332,
5898      333,   334,   788,   335,   336,   337,   338,     0,   339,   340,
5899      341,   342,   343,   344,     0,   345,   789,   346,   347,   348,
5900      349,   350,  1168,  1169,     0,  1170,     0,   354,   790,   791,
5901      355,   792,   356,   357,   358,   359,   360,     0,     0,   361,
5902     1171,   793,   363,   794,     0,   364,   365,   366,  1172,  1173,
5903      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
5904      377,   378,   379,   380,   381,   382,  1174,   795,  1175,   385,
5905      386,   387,  1176,   388,   389,   796,   390,  1177,  1178,   392,
5906     1179,   394,   395,   396,     0,   397,     0,     0,  1180,   399,
5907      400,     0,     0,   401,   402,   797,   403,   798,  1181,   405,
5908      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
5909     1182,   416,   417,   418,   419,   420,     0,   421,   422,   423,
5910      424,   425,   426,   427,   428,  1183,   430,   431,   432,   433,
5911        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
5912      443,   444,     0,   445,   446,   799,   447,   448,   449,  1184,
5913      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
5914      460,   461,   462,   463,  1185,   464,   465,   466,   467,   468,
5915      800,   469,   470,  1186,   472,     0,   473,   474,   475,   476,
5916      477,   478,   479,   480,   481,   482,   483,  1187,     0,   485,
5917      486,     0,   487,   801,   488,   489,   490,   491,   492,     0,
5918     1188,  1189,     0,     0,   495,   496,  1190,   498,  1191,  1192,
5919      500,   501,   502,   503,   504,   505,   506,     0,  1193,   507,
5920      508,   509,   510,   511,  1194,     0,   512,   513,   514,   515,
5921      516,   517,  1195,     0,   519,   802,   520,   521,   522,   523,
5922        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
5923      530,   531,  1196,  1197,  1198,  1199,  1200,  1201,  1202,  1203,
5924      540,   541,   542,  1204,     0,     0,     0,     0,     0,     0,
5925     1205,  1206,     0,     0,     0,     0,     0,     0,     0,  1208,
5926      779,  1138,   600,  1139,  1140,  1141,   654,  1142,     0,     0,
5927        0,     0,     0,     0,     0,   223,   224,   225,   226,   227,
5928      228,   229,   230,     0,   232,   233,   234,     0,     0,     0,
5929        0,  1143,     0,     0,   235,   236,     0,   237,   238,   780,
5930      239,   240,   241,   242,  1144,   781,  1145,  1146,     0,   246,
5931      247,   248,   249,   250,  1147,  1148,   251,   252,  1149,  1150,
5932      255,     0,   256,   257,   258,   259,  1151,     0,  1152,     0,
5933      261,   262,   263,   264,   783,   265,   266,   267,     0,   268,
5934      269,   270,   271,   272,   273,     0,   784,   274,   275,   276,
5935     1153,  1154,  1155,  1156,  1157,  1158,  1159,   277,   278,   279,
5936      280,   281,   282,  1160,  1161,   285,     0,   286,     0,   287,
5937      288,   289,   290,   291,   292,     0,   293,   294,   295,     0,
5938        0,   296,   297,  1001,   299,   300,     0,   301,   302,   303,
5939        0,   304,   305,   306,     0,   307,   308,   309,   310,  1162,
5940      312,   313,   314,  1163,  1164,   316,     0,   317,   318,  1165,
5941      320,     0,   321,     0,   322,   786,     0,   787,   323,   324,
5942      325,     0,   326,  1166,     0,  1167,   329,     0,   330,   331,
5943      332,   333,   334,   788,   335,   336,   337,   338,     0,   339,
5944      340,   341,   342,   343,   344,     0,   345,   789,   346,   347,
5945      348,   349,   350,  1168,  1169,     0,  1170,     0,   354,   790,
5946      791,   355,   792,   356,   357,   358,   359,   360,     0,     0,
5947      361,  1171,   793,   363,   794,     0,   364,   365,   366,  1172,
5948     1173,   367,   368,   369,   370,   371,   372,   373,   374,   375,
5949      376,   377,   378,   379,   380,   381,   382,  1174,   795,  1175,
5950      385,   386,   387,  1176,   388,   389,   796,   390,  1177,  1178,
5951      392,  1179,   394,   395,   396,     0,   397,     0,     0,  1180,
5952      399,   400,     0,     0,   401,   402,   797,   403,   798,  1181,
5953      405,   406,   407,   408,   409,   410,   411,   412,     0,   413,
5954      414,  1182,   416,   417,   418,   419,   420,     0,   421,   422,
5955      423,   424,   425,   426,   427,   428,  1183,   430,   431,   432,
5956      433,     0,   434,   435,   436,   437,   438,   439,   440,   441,
5957      442,   443,   444,     0,   445,   446,   799,   447,   448,   449,
5958     1184,   451,   452,   453,   454,   455,   456,   457,   458,     0,
5959      459,   460,   461,   462,   463,  1185,   464,   465,   466,   467,
5960      468,   800,   469,   470,  1186,   472,     0,   473,   474,   475,
5961      476,   477,   478,   479,   480,   481,   482,   483,  1187,     0,
5962      485,   486,     0,   487,   801,   488,   489,   490,   491,   492,
5963        0,  1188,  1189,     0,     0,   495,   496,  1190,   498,  1191,
5964     1192,   500,   501,   502,   503,   504,   505,   506,     0,  1193,
5965      507,   508,   509,   510,   511,  1194,     0,   512,   513,   514,
5966      515,   516,   517,  1195,     0,   519,   802,   520,   521,   522,
5967      523,     0,     0,   524,     0,     0,   525,   526,   527,   528,
5968      529,   530,  4181,  1196,  1197,  1198,  1199,  1200,  1201,  1202,
5969     1203,   540,   541,   542,  1204,     0,     0,     0,     0,     0,
5970        0,  1205,  1206,     0,     0,     0,     0,     0,     0,     0,
5971     1208,   779,  1138,   600,  1139,  1140,  1141,   654,  1142,     0,
5972        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
5973      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
5974        0,     0,  1143,     0,     0,   235,   236,     0,   237,   238,
5975      780,   239,   240,   241,   242,  1144,   781,  1145,  1146,     0,
5976      246,   247,   248,   249,   250,  1147,  1148,   251,   252,  1149,
5977     1150,   255,     0,   256,   257,   258,   259,  1151,     0,  1152,
5978        0,   261,   262,   263,   264,   783,   265,   266,   267,     0,
5979      268,   269,   270,   271,   272,   273,     0,   784,   274,   275,
5980      276,  1153,  1154,  1155,  1156,  1157,  1158,  1159,   277,   278,
5981      279,   280,   281,   282,  1160,  1161,   285,     0,   286,     0,
5982      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
5983        0,     0,   296,   297,  1001,   299,   300,     0,   301,   302,
5984      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
5985     1162,   312,   313,   314,  1163,  1164,   316,     0,   317,   318,
5986     1165,   320,     0,   321,     0,   322,   786,     0,   787,   323,
5987      324,   325,     0,   326,  1166,     0,  1167,   329,     0,   330,
5988      331,   332,   333,   334,   788,   335,   336,   337,   338,     0,
5989      339,   340,   341,   342,   343,   344,     0,   345,   789,   346,
5990      347,   348,   349,   350,  1168,  1169,     0,  1170,     0,   354,
5991      790,   791,   355,   792,   356,   357,   358,   359,   360,     0,
5992        0,   361,  1171,   793,   363,   794,     0,   364,   365,   366,
5993     1172,  1173,   367,   368,   369,   370,   371,   372,   373,   374,
5994      375,   376,   377,   378,   379,   380,   381,   382,  1174,   795,
5995     1175,   385,  4190,   387,  1176,   388,   389,   796,   390,  1177,
5996     1178,   392,  1179,   394,   395,   396,     0,   397,     0,     0,
5997     1180,   399,   400,     0,     0,   401,   402,   797,   403,   798,
5998     1181,   405,   406,   407,   408,   409,   410,   411,   412,     0,
5999      413,   414,  1182,   416,   417,   418,   419,   420,     0,   421,
6000      422,   423,   424,   425,   426,   427,   428,  1183,   430,   431,
6001      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
6002      441,   442,   443,   444,     0,   445,   446,   799,   447,   448,
6003      449,  1184,   451,   452,   453,   454,   455,   456,   457,   458,
6004        0,   459,   460,   461,   462,   463,  1185,   464,   465,   466,
6005      467,   468,   800,   469,   470,  1186,   472,     0,   473,   474,
6006      475,   476,   477,   478,   479,   480,   481,   482,   483,  1187,
6007        0,   485,   486,     0,   487,   801,   488,   489,   490,   491,
6008      492,     0,  1188,  1189,     0,     0,   495,   496,  1190,   498,
6009     1191,  1192,   500,   501,   502,   503,   504,   505,   506,     0,
6010     1193,   507,   508,   509,   510,   511,  1194,     0,   512,   513,
6011      514,   515,   516,   517,  1195,     0,   519,   802,   520,   521,
6012      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
6013      528,   529,   530,   531,  1196,  1197,  1198,  1199,  1200,  1201,
6014     1202,  1203,   540,   541,   542,  1204,     0,     0,     0,     0,
6015        0,     0,  1205,  1206,     0,     0,     0,     0,     0,     0,
6016        0,  1208,   779,  1138,   600,  1139,  1140,  1141,   654,  1142,
6017        0,     0,     0,     0,     0,     0,     0,   223,   224,   225,
6018      226,   227,   228,   229,   230,     0,   232,   233,   234,     0,
6019        0,     0,     0,  1143,     0,     0,   235,   236,     0,   237,
6020      238,   780,   239,   240,   241,   242,  1144,   781,  1145,  1146,
6021        0,   246,   247,   248,   249,   250,  1147,  1148,   251,   252,
6022     1149,  1150,   255,     0,   256,   257,   258,   259,  1151,     0,
6023     1152,     0,   261,   262,   263,   264,   783,   265,   266,   267,
6024        0,   268,   269,   270,   271,   272,   273,     0,   784,   274,
6025     4480,   276,  1153,  1154,  1155,  1156,  1157,  1158,  1159,   277,
6026      278,   279,   280,   281,   282,  1160,  1161,   285,     0,   286,
6027        0,   287,   288,   289,   290,   291,   292,     0,   293,   294,
6028      295,     0,     0,   296,   297,  1001,   299,   300,     0,   301,
6029      302,   303,     0,   304,   305,   306,     0,   307,   308,   309,
6030      310,  1162,   312,   313,   314,  1163,  1164,   316,     0,   317,
6031      318,  1165,   320,     0,   321,     0,   322,   786,     0,   787,
6032      323,   324,   325,     0,   326,  1166,     0,  4481,   329,     0,
6033      330,   331,   332,   333,   334,   788,   335,   336,   337,   338,
6034        0,   339,   340,   341,   342,   343,   344,     0,   345,   789,
6035      346,   347,   348,   349,   350,  1168,  1169,     0,  1170,     0,
6036      354,   790,   791,   355,   792,   356,   357,   358,   359,   360,
6037        0,     0,   361,  1171,   793,   363,   794,     0,   364,   365,
6038      366,  1172,  1173,   367,   368,   369,   370,   371,   372,   373,
6039      374,   375,   376,   377,   378,   379,   380,   381,   382,  1174,
6040      795,  1175,   385,   386,   387,  1176,   388,   389,   796,   390,
6041     1177,  1178,   392,  1179,   394,   395,   396,     0,   397,     0,
6042        0,  1180,   399,   400,     0,     0,   401,   402,   797,   403,
6043      798,  1181,   405,   406,   407,   408,   409,   410,   411,   412,
6044        0,   413,   414,  1182,   416,   417,   418,   419,   420,     0,
6045      421,   422,   423,   424,   425,   426,   427,   428,  1183,   430,
6046      431,   432,   433,     0,   434,   435,   436,   437,   438,   439,
6047      440,   441,   442,   443,   444,     0,   445,   446,   799,   447,
6048      448,  4482,  1184,   451,   452,   453,   454,   455,   456,   457,
6049      458,     0,   459,   460,   461,   462,   463,  1185,   464,   465,
6050      466,   467,   468,   800,   469,   470,  1186,   472,     0,   473,
6051      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
6052     1187,     0,   485,   486,     0,   487,   801,   488,   489,   490,
6053      491,   492,     0,  1188,  1189,     0,     0,   495,   496,  1190,
6054      498,  1191,  1192,   500,   501,   502,   503,   504,   505,   506,
6055        0,  1193,   507,   508,   509,   510,   511,  1194,     0,   512,
6056      513,   514,   515,   516,   517,  1195,     0,   519,   802,   520,
6057      521,   522,   523,     0,     0,   524,     0,     0,   525,   526,
6058      527,   528,   529,   530,   531,  1196,  1197,  1198,  1199,  1200,
6059     1201,  1202,  1203,   540,   541,   542,  1204,     0,     0,     0,
6060        0,     0,     0,  1205,  1206,     0,     0,     0,     0,     0,
6061        0,     0,  4483,   779,  1138,   600,  1139,  1140,  1141,   654,
6062     1142,     0,     0,     0,     0,     0,     0,     0,   223,   224,
6063      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
6064        0,     0,     0,     0,  1143,     0,     0,   235,   236,     0,
6065      237,   238,   780,   239,   240,   241,  4872,  1144,   781,  1145,
6066     1146,     0,   246,   247,   248,   249,   250,  1147,  1148,   251,
6067      252,  1149,  1150,   255,     0,   256,   257,   258,   259,  1151,
6068        0,  1152,     0,   261,   262,   263,   264,   783,   265,   266,
6069      267,     0,   268,   269,   270,   271,   272,   273,     0,   784,
6070      274,   275,  4873,  1153,  1154,  1155,  1156,  1157,  1158,  1159,
6071      277,   278,   279,   280,   281,   282,  1160,  1161,   285,     0,
6072      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
6073      294,   295,     0,     0,   296,   297,  1001,   299,   300,     0,
6074      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
6075      309,   310,  1162,   312,   313,   314,  1163,  1164,   316,     0,
6076      317,   318,  1165,   320,     0,   321,     0,   322,   786,     0,
6077      787,   323,   324,   325,     0,   326,  1166,     0,  1167,   329,
6078        0,   330,   331,   332,   333,   334,   788,   335,   336,   337,
6079      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
6080      789,   346,   347,   348,   349,   350,  1168,  1169,     0,  1170,
6081        0,   354,   790,   791,   355,   792,   356,   357,   358,   359,
6082      360,     0,     0,   361,  1171,   793,   363,   794,     0,   364,
6083      365,   366,  1172,  1173,   367,   368,   369,   370,   371,   372,
6084      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
6085     1174,   795,  1175,   385,   386,   387,  1176,   388,   389,   796,
6086      390,  1177,  1178,   392,  1179,   394,   395,   396,     0,   397,
6087        0,     0,  1180,   399,   400,     0,     0,   401,   402,   797,
6088      403,   798,  1181,   405,   406,   407,   408,   409,   410,   411,
6089      412,     0,   413,   414,  1182,   416,   417,   418,   419,   420,
6090        0,   421,   422,   423,   424,   425,   426,   427,   428,  1183,
6091      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
6092      439,   440,   441,   442,   443,   444,     0,   445,   446,   799,
6093      447,   448,   449,  1184,   451,   452,   453,   454,   455,   456,
6094      457,   458,     0,   459,   460,   461,   462,   463,  1185,   464,
6095      465,   466,   467,   468,   800,   469,   470,  1186,   472,     0,
6096      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
6097      483,  1187,     0,   485,   486,     0,   487,   801,   488,   489,
6098      490,   491,   492,     0,  1188,  1189,     0,     0,   495,   496,
6099     1190,   498,  1191,  1192,   500,   501,   502,   503,  4874,   505,
6100      506,     0,  1193,   507,   508,   509,   510,   511,  1194,     0,
6101      512,   513,   514,   515,   516,   517,  1195,     0,   519,   802,
6102      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
6103      526,   527,   528,   529,   530,   531,  1196,  1197,  1198,  1199,
6104     1200,  1201,  1202,  1203,   540,   541,   542,  1204,     0,     0,
6105        0,     0,     0,     0,  1205,  1206,     0,     0,     0,     0,
6106        0,     0,     0,  1208,   779,  1138,   600,  1139,  1140,  1141,
6107      654,  1142,     0,     0,     0,     0,     0,     0,     0,   223,
6108      224,   225,   226,   227,   228,   229,   230,     0,   232,   233,
6109      234,     0,     0,     0,     0,  1143,     0,     0,   235,   236,
6110        0,   237,   238,   780,   239,   240,   241,   242,  1144,   781,
6111     1145,  1146,     0,   246,   247,   248,   249,   250,  1147,  1148,
6112      251,   252,  1149,  1150,   255,     0,   256,   257,   258,   259,
6113     1151,     0,  1152,     0,   261,   262,   263,   264,   783,   265,
6114      266,   267,     0,   268,   269,   270,   271,   272,   273,     0,
6115      784,   274,   275,  4873,  1153,  1154,  1155,  1156,  1157,  1158,
6116     1159,   277,   278,   279,   280,   281,   282,  1160,  1161,   285,
6117        0,   286,     0,   287,   288,   289,   290,   291,   292,     0,
6118      293,   294,   295,     0,     0,   296,   297,  1001,   299,   300,
6119        0,   301,   302,   303,     0,   304,   305,   306,     0,   307,
6120      308,   309,   310,  1162,   312,   313,   314,  1163,  1164,   316,
6121        0,   317,   318,  1165,   320,     0,   321,     0,   322,   786,
6122        0,   787,   323,   324,   325,     0,   326,  1166,     0,  1167,
6123      329,     0,   330,   331,   332,   333,   334,   788,   335,   336,
6124      337,   338,     0,   339,   340,   341,   342,   343,   344,     0,
6125      345,   789,   346,   347,   348,   349,   350,  1168,  1169,     0,
6126     1170,     0,   354,   790,   791,   355,   792,   356,   357,   358,
6127      359,   360,     0,     0,   361,  1171,   793,   363,   794,     0,
6128      364,   365,   366,  1172,  1173,   367,   368,   369,   370,   371,
6129      372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
6130      382,  1174,   795,  1175,   385,   386,   387,  1176,   388,   389,
6131      796,   390,  1177,  1178,   392,  1179,   394,   395,   396,     0,
6132      397,     0,     0,  1180,   399,   400,     0,     0,   401,   402,
6133      797,   403,   798,  1181,   405,   406,   407,   408,   409,   410,
6134      411,   412,     0,   413,   414,  1182,   416,   417,   418,   419,
6135      420,     0,   421,   422,   423,   424,   425,   426,   427,   428,
6136     1183,   430,   431,   432,   433,     0,   434,   435,   436,   437,
6137      438,   439,   440,   441,   442,   443,   444,     0,   445,   446,
6138      799,   447,   448,   449,  1184,   451,   452,   453,   454,   455,
6139      456,   457,   458,     0,   459,   460,   461,   462,   463,  1185,
6140      464,   465,   466,   467,   468,   800,   469,   470,  1186,   472,
6141        0,   473,   474,   475,   476,   477,   478,   479,   480,   481,
6142      482,   483,  1187,     0,   485,   486,     0,   487,   801,   488,
6143      489,   490,   491,   492,     0,  1188,  1189,     0,     0,   495,
6144      496,  1190,   498,  1191,  1192,   500,   501,   502,   503,  4874,
6145      505,   506,     0,  1193,   507,   508,   509,   510,   511,  1194,
6146        0,   512,   513,   514,   515,   516,   517,  1195,     0,   519,
6147      802,   520,   521,   522,   523,     0,     0,   524,     0,     0,
6148      525,   526,   527,   528,   529,   530,   531,  1196,  1197,  1198,
6149     1199,  1200,  1201,  1202,  1203,   540,   541,   542,  1204,     0,
6150        0,     0,     0,     0,     0,  1205,  1206,     0,     0,     0,
6151        0,     0,     0,     0,  1208,   779,  1138,   600,  1139,  1140,
6152     1141,   654,  1142,     0,     0,     0,     0,     0,     0,     0,
6153      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
6154      233,   234,     0,     0,     0,     0,  1143,     0,     0,   235,
6155      236,     0,   237,   238,   780,   239,   240,   241,   242,  1144,
6156      781,  1145,  1146,     0,   246,   247,   248,   249,   250,  1147,
6157     1148,   251,   252,  1149,  1150,   255,     0,   256,   257,   258,
6158      259,  1151,     0,  1152,     0,   261,   262,   263,   264,   783,
6159      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
6160        0,   784,   274,   275,   276,  1153,  1154,  1155,  1156,  1157,
6161     1158,  1159,   277,   278,   279,   280,   281,   282,  1160,  1161,
6162      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
6163        0,   293,   294,   295,     0,     0,   296,   297,  1001,   299,
6164      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
6165      307,   308,   309,   310,  1162,   312,   313,   314,  1163,  1164,
6166      316,     0,   317,   318,  1165,   320,     0,   321,     0,   322,
6167      786,     0,   787,   323,   324,   325,     0,   326,  1166,     0,
6168     1167,   329,     0,   330,   331,   332,   333,   334,   788,   335,
6169      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
6170        0,   345,   789,   346,   347,   348,   349,   350,  1168,  1169,
6171        0,  1170,     0,   354,   790,   791,   355,   792,   356,   357,
6172      358,   359,   360,     0,     0,   361,  1171,   793,   363,   794,
6173        0,   364,   365,   366,  1172,  1173,   367,   368,   369,   370,
6174      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
6175      381,   382,  1174,   795,  1175,   385,   386,   387,     0,   388,
6176      389,   796,   390,  1177,  1178,   392,  1179,   394,   395,   396,
6177        0,   397,     0,     0,  1180,   399,   400,     0,     0,   401,
6178      402,   797,   403,   798,  1181,   405,   406,   407,   408,   409,
6179      410,   411,   412,     0,   413,   414,  1182,   416,   417,   418,
6180      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
6181      428,  1183,   430,   431,   432,   433,     0,   434,   435,   436,
6182      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
6183      446,   799,   447,   448,   449,  2546,   451,   452,   453,   454,
6184      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
6185     1185,   464,   465,   466,   467,   468,   800,   469,   470,  1186,
6186      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
6187      481,   482,   483,  1187,     0,   485,   486,     0,   487,   801,
6188      488,   489,   490,   491,   492,     0,  1188,  1189,     0,     0,
6189      495,   496,  1190,   498,  1191,  1192,   500,   501,   502,   503,
6190      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
6191     1194,     0,   512,   513,   514,   515,   516,   517,  1195,     0,
6192      519,   802,   520,   521,   522,   523,     0,     0,   524,     0,
6193        0,   525,   526,   527,   528,   529,   530,   531,  1196,  1197,
6194     1198,  1199,  1200,  1201,  1202,  1203,   540,   541,   542,     0,
6195        0,     0,     0,     0,     0,     0,  2547,  2548,     0,     0,
6196        0,     0,     0,     0,     0,  2549,   779,  1138,   600,  1139,
6197     1140,  1141,   654,  1142,     0,     0,     0,     0,     0,     0,
6198        0,   223,   224,   225,   226,   227,   228,   229,   230,     0,
6199      232,   233,   234,     0,     0,     0,     0,  1143,     0,     0,
6200      235,   236,     0,   237,   238,   780,   239,   240,   241, -2422,
6201     1144,   781,  1145,  1146,     0,   246,   247,   248,   249,   250,
6202     1147,  1148,   251,   252,  1149,  1150,   255,     0,   256,   257,
6203      258,   259,  1151,     0,  1152,     0,   261,   262,   263,   264,
6204      783,   265,   266,   267,     0,   268,   269,   270,   271,   272,
6205      273,     0,   784,   274,   275,  4873,  1153,  1154,  1155,  1156,
6206     1157,  1158,  1159,   277,   278,   279,   280,   281,   282,  1160,
6207     1161,   285,     0,   286,     0,   287,   288,   289,   290,   291,
6208      292,     0,   293,   294,   295,     0,     0,   296,   297,  1001,
6209      299,   300,     0,   301,   302,   303,     0,   304,   305,   306,
6210        0,   307,   308,   309,   310,  1162,   312,   313,   314,  1163,
6211     1164,   316,     0,   317,   318,  1165,   320,     0,   321,     0,
6212      322,   786,     0,   787,   323,   324,   325,     0,   326,  1166,
6213        0,  1167,   329,     0,   330,   331,   332,   333,   334, -2422,
6214      335,   336,   337,   338,     0,   339,   340,   341,   342,   343,
6215      344,     0,   345,   789,   346,   347,   348,   349,   350,  1168,
6216     1169,     0,  1170,     0,   354,     0,     0,   355,   792,   356,
6217      357,   358,   359,   360,     0,     0,   361,  1171,   793,   363,
6218    -2422,     0,   364,   365,   366,  1172,  1173,   367,   368,   369,
6219      370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
6220      380,   381,   382,  1174,   795,  1175,   385,   386,   387,  1176,
6221      388,   389,     0,   390,  1177,  1178,   392,  1179,   394,   395,
6222      396,     0,   397,     0,     0,  1180,   399,   400,     0,     0,
6223      401,   402,   797,   403,   798,  1181,   405,   406,   407,   408,
6224      409,   410,   411,   412,     0,   413,   414,  1182,   416,   417,
6225      418,   419,   420,     0,   421,   422,   423,   424,   425,   426,
6226      427,   428,  1183,   430,   431,   432,   433,     0,   434,   435,
6227      436,   437,   438,   439,   440,   441,   442,   443,   444,     0,
6228      445,   446,   799,   447,   448,   449,  1184,   451,   452,   453,
6229      454,   455,   456,   457,   458,     0,   459,   460,   461,   462,
6230      463,  1185,   464,   465,   466,   467,   468, -2422,   469,   470,
6231     1186,   472,     0,   473,   474,   475,   476,   477,   478,   479,
6232      480,   481,   482,   483,  1187,     0,   485,   486,     0,   487,
6233      801,   488,   489,   490,   491,   492,     0,  1188,  1189,     0,
6234        0,   495,   496,  1190,   498,  1191,  1192,   500,   501,   502,
6235      503,  4874,   505,   506,     0,  1193,   507,   508,   509,   510,
6236      511,  1194,     0,   512,   513,   514,   515,   516,   517,  1195,
6237        0,   519,   802,   520,   521,   522,   523,     0,     0,   524,
6238        0,     0,   525,   526,   527,   528,   529,   530,   531,  1196,
6239     1197,  1198,  1199,  1200,  1201,  1202,  1203,   540,   541,   542,
6240    -2422,     0,     0,     0,     0,     0,     0,  1205,  1206,     0,
6241        0,   779,  1138,   600,  1139,  1140,  1208,   654,  1142,     0,
6242        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
6243      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
6244        0,     0,  1143,     0,     0,   235,   236,     0,   237,   238,
6245      780,   239,   240,   241,   242,  1144,   781,  1145,  1146,     0,
6246      246,   247,   248,   249,   250,  1147,  1148,   251,   252,  1149,
6247     1150,   255,     0,   256,   257,   258,   259,  1151,     0,  1152,
6248        0,   261,   262,   263,   264,   783,   265,   266,   267,     0,
6249      268,   269,   270,   271,   272,   273,     0,   784,   274,   275,
6250      276,  1153,  1154,  1155,  1156,  1157,  1158,  1159,   277,   278,
6251      279,   280,   281,   282,  1160,  1161,   285,     0,   286,     0,
6252      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
6253        0,     0,   296,   297,  1001,   299,   300,     0,   301,   302,
6254      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
6255     1162,   312,   313,   314,  1163,  1164,   316,     0,   317,   318,
6256     1165,   320,     0,   321,     0,   322,   786,     0,   787,   323,
6257      324,   325,     0,   326,  1166,     0,  1167,   329,     0,   330,
6258      331,   332,   333,   334,   788,   335,   336,   337,   338,     0,
6259      339,   340,   341,   342,   343,   344,     0,   345,   789,   346,
6260      347,   348,   349,   350,  1168,  1169,     0,  1170,     0,   354,
6261      790,   791,   355,   792,   356,   357,   358,   359,   360,     0,
6262        0,   361,  1171,   793,   363,   794,     0,   364,   365,   366,
6263     1172,  1173,   367,   368,   369,   370,   371,   372,   373,   374,
6264      375,   376,   377,   378,   379,   380,   381,   382,  1174,   795,
6265     1175,   385,   386,   387,     0,   388,   389,   796,   390,  1177,
6266     1178,   392,  1179,   394,   395,   396,     0,   397,     0,     0,
6267      398,   399,   400,     0,     0,   401,   402,   797,   403,   798,
6268     1181,   405,   406,   407,   408,   409,   410,   411,   412,     0,
6269      413,   414,  1182,   416,   417,   418,   419,   420,     0,   421,
6270      422,   423,   424,   425,   426,   427,   428,  1183,   430,   431,
6271      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
6272      441,   442,   443,   444,     0,   445,   446,   799,   447,   448,
6273      449,  2679,  2680,   452,   453,   454,   455,   456,   457,   458,
6274        0,   459,   460,   461,   462,   463,  1185,   464,   465,   466,
6275      467,   468,   800,   469,   470,  1186,   472,     0,   473,   474,
6276      475,   476,   477,   478,   479,   480,   481,   482,   483,  1187,
6277        0,   485,   486,     0,   487,   801,   488,   489,   490,   491,
6278      492,     0,  1188,  1189,     0,     0,   495,   496,  1190,   498,
6279     1191,  1192,   500,   501,   502,   503,   504,   505,   506,     0,
6280        0,   507,   508,   509,   510,   511,  1194,     0,   512,   513,
6281      514,   515,   516,   517,  1195,     0,   519,   802,   520,   521,
6282      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
6283      528,   529,   530,   531,  1196,  1197,  1198,  1199,  1200,  1201,
6284     1202,  1203,   540,   541,   542,     0,     0,     0,     0,     0,
6285        0,     0,  2681,  2682,     0,     0,     0,     0,     0,     0,
6286        0,  2549,   779,  1138,   600,  1139,  1140,  1141,   654,  1142,
6287        0,     0,     0,     0,     0,     0,     0,   223,   224,   225,
6288      226,   227,   228,   229,   230,     0,   232,   233,   234,     0,
6289        0,     0,     0,  1143,     0,     0,   235,   236,     0,   237,
6290      238,   780,   239,   240,   241,   242,  1144,   781,  1145,  1146,
6291        0,   246,   247,   248,   249,   250,  1147,  1148,   251,   252,
6292     1149,  1150,   255,     0,   256,   257,   258,   259,  1151,     0,
6293     1152,     0,   261,   262,   263,   264,   783,   265,   266,   267,
6294        0,   268,   269,   270,   271,   272,   273,     0,   784,   274,
6295      275,   276,  1153,  1154,  1155,  1156,  1157,  1158,  1159,   277,
6296      278,   279,   280,   281,   282,  1160,  1161,   285,     0,   286,
6297        0,   287,   288,   289,   290,   291,   292,     0,   293,   294,
6298      295,     0,     0,   296,   297,  1001,   299,   300,     0,   301,
6299      302,   303,     0,   304,   305,   306,     0,   307,   308,   309,
6300      310,  1162,   312,   313,   314,  1163,  1164,   316,     0,   317,
6301      318,  1165,   320,     0,   321,     0,   322,   786,     0,   787,
6302      323,   324,   325,     0,   326,  1166,     0,  1167,   329,     0,
6303      330,   331,   332,   333,   334,   788,   335,   336,   337,   338,
6304        0,   339,   340,   341,   342,   343,   344,     0,   345,   789,
6305      346,   347,   348,   349,   350,  1168,  1169,     0,  1170,     0,
6306      354,     0,   791,   355,   792,   356,   357,   358,   359,   360,
6307        0,     0,   361,  1171,   793,   363,   794,     0,   364,   365,
6308      366,  1172,  1173,   367,   368,   369,   370,   371,   372,   373,
6309      374,   375,   376,   377,   378,   379,   380,   381,   382,  1174,
6310      795,  1175,   385,   386,   387,     0,   388,   389,   796,   390,
6311     1177,  1178,   392,  1179,   394,   395,   396,     0,   397,     0,
6312        0,  1180,   399,   400,     0,     0,   401,   402,   797,   403,
6313      798,  1181,   405,   406,   407,   408,   409,   410,   411,   412,
6314        0,   413,   414,  1182,   416,   417,   418,   419,   420,     0,
6315      421,   422,   423,   424,   425,   426,   427,   428,  1183,   430,
6316      431,   432,   433,     0,   434,   435,   436,   437,   438,   439,
6317      440,   441,   442,   443,   444,     0,   445,   446,   799,   447,
6318      448,   449,  2546,   451,   452,   453,   454,   455,   456,   457,
6319      458,     0,   459,   460,   461,   462,   463,  1185,   464,   465,
6320      466,   467,   468,   800,   469,   470,  1186,   472,     0,   473,
6321      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
6322     1187,     0,   485,   486,     0,   487,   801,   488,   489,   490,
6323      491,   492,     0,  1188,  1189,     0,     0,   495,   496,  1190,
6324      498,  1191,  1192,   500,   501,   502,   503,   504,   505,   506,
6325        0,     0,   507,   508,   509,   510,   511,  1194,     0,   512,
6326      513,   514,   515,   516,   517,  1195,     0,   519,   802,   520,
6327      521,   522,   523,     0,     0,   524,     0,     0,   525,   526,
6328      527,   528,   529,   530,   531,  1196,  1197,  1198,  1199,  1200,
6329     1201,  1202,  1203,   540,   541,   542,     0,     0,     0,     0,
6330        0,     0,     0,  2547,  2548,     0,     0,   779,  1138,   600,
6331     1139,  1140,  2549,   654,  1142,     0,     0,     0,     0,     0,
6332        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
6333        0,   232,   233,   234,     0,     0,     0,     0,  1143,     0,
6334        0,   235,   236,     0,   237,   238,   780,   239,   240,   241,
6335      242,  1144,   781,  1145,  1146,     0,   246,   247,   248,   249,
6336      250,  1147,  1148,   251,   252,  1149,  1150,   255,     0,   256,
6337      257,   258,   259,  1151,     0,  1152,     0,   261,   262,   263,
6338      264,   783,   265,   266,   267,     0,   268,   269,   270,   271,
6339      272,   273,     0,   784,   274,   275,   276,  1153,  1154,  1155,
6340     1156,  1157,  1158,  1159,   277,   278,   279,   280,   281,   282,
6341     1160,  1161,   285,     0,   286,     0,   287,   288,   289,   290,
6342      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
6343     1001,   299,   300,     0,   301,   302,   303,     0,   304,   305,
6344      306,     0,   307,   308,   309,   310,  1162,   312,   313,   314,
6345     1163,  1164,   316,     0,   317,   318,  1165,   320,     0,   321,
6346        0,   322,   786,     0,   787,   323,   324,   325,     0,   326,
6347     1166,     0,  1167,   329,     0,   330,   331,   332,   333,   334,
6348      788,   335,   336,   337,   338,     0,   339,   340,   341,   342,
6349      343,   344,     0,   345,   789,   346,   347,   348,   349,   350,
6350     1168,  1169,     0,  1170,     0,   354,   790,   791,   355,   792,
6351      356,   357,   358,   359,   360,     0,     0,   361,  1171,   793,
6352      363,   794,     0,   364,   365,   366,  1172,  1173,   367,   368,
6353      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
6354      379,   380,   381,   382,  1174,   795,  1175,   385,   386,   387,
6355        0,   388,   389,   796,   390,  1177,  1178,   392,  1179,   394,
6356      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
6357        0,   401,   402,   797,   403,   798,  1181,   405,   406,   407,
6358      408,   409,   410,   411,   412,     0,   413,   414,  1182,   416,
6359      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
6360      426,   427,   428,  1183,   430,   431,   432,   433,     0,   434,
6361      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
6362        0,   445,   446,   799,   447,   448,   449,  2546,   451,   452,
6363      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
6364      462,   463,  1185,   464,   465,   466,   467,   468,   800,   469,
6365      470,  1186,   472,     0,   473,   474,   475,   476,   477,   478,
6366      479,   480,   481,   482,   483,  1187,     0,   485,   486,     0,
6367      487,   801,   488,   489,   490,   491,   492,     0,  1188,  1189,
6368        0,     0,   495,   496,  1190,   498,  1191,  1192,   500,   501,
6369      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
6370      510,   511,  1194,     0,   512,   513,   514,   515,   516,   517,
6371     1195,     0,   519,   802,   520,   521,   522,   523,     0,     0,
6372      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
6373     1196,  1197,  1198,  1199,  1200,  1201,  1202,  1203,   540,   541,
6374      542,     0,     0,   779,  1138,   600,  1139,  1140,     0,   654,
6375     1142,     0,     0,     0,     0,     0,     0,  2549,   223,   224,
6376      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
6377        0,     0,     0,     0,  1143,     0,     0,   235,   236,     0,
6378      237,   238,   780,   239,   240,   241,   242,  1144,   781,  1145,
6379     1146,     0,  3793,   247,   248,   249,   250,  1147,  1148,   251,
6380      252,  1149,  1150,   255,     0,   256,   257,   258,   259,  1151,
6381        0,  1152,     0,   261,   262,   263,   264,   783,   265,   266,
6382      267,     0,   268,   269,   270,   271,   272,   273,     0,   784,
6383      274,   275,   276,  1153,  1154,  1155,  1156,  1157,  1158,  1159,
6384      277,   278,   279,   280,   281,   282,  1160,  1161,   285,     0,
6385      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
6386      294,   295,     0,     0,   296,   297,  1001,   299,   300,     0,
6387      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
6388      309,   310,  1162,   312,   313,   314,  1163,  1164,   316,     0,
6389      317,   318,  1165,   320,     0,   321,     0,   322,   786,     0,
6390      787,   323,   324,   325,     0,   326,  1166,     0,  1167,   329,
6391        0,   330,   331,   332,   333,   334,   788,   335,   336,   337,
6392      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
6393      789,   346,   347,   348,   349,   350,  1168,  1169,     0,  1170,
6394        0,   354,   790,   791,   355,   792,   356,   357,   358,   359,
6395      360,     0,     0,   361,  1171,   793,   363,   794,     0,   364,
6396      365,   366,  1172,  1173,   367,   368,   369,   370,   371,   372,
6397      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
6398     1174,   795,  1175,   385,   386,   387,     0,   388,   389,   796,
6399      390,  1177,  1178,   392,  1179,   394,   395,   396,     0,   397,
6400        0,     0,   398,   399,   400,     0,     0,   401,   402,   797,
6401      403,   798,  1181,   405,   406,   407,   408,   409,   410,   411,
6402      412,     0,   413,   414,  1182,   416,   417,   418,   419,   420,
6403        0,   421,   422,   423,   424,   425,   426,   427,   428,  1183,
6404      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
6405      439,   440,   441,   442,   443,   444,     0,   445,   446,   799,
6406      447,   448,   449,  2546,   451,   452,   453,   454,   455,   456,
6407      457,   458,     0,   459,   460,   461,   462,   463,  1185,   464,
6408      465,   466,   467,   468,   800,   469,   470,  1186,   472,     0,
6409      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
6410      483,  1187,     0,   485,   486,     0,   487,   801,   488,   489,
6411      490,   491,   492,     0,  1188,  1189,     0,     0,   495,   496,
6412     1190,   498,  1191,  1192,   500,   501,   502,   503,   504,   505,
6413      506,     0,     0,   507,   508,   509,   510,   511,  1194,     0,
6414      512,   513,   514,   515,   516,   517,  1195,     0,   519,   802,
6415      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
6416      526,   527,   528,   529,   530,   531,  1196,  1197,  1198,  1199,
6417     1200,  1201,  1202,  1203,   540,   541,   542,     0,     0,   779,
6418     1138,   600,  1139,  1140,  1141,   654,  1142,     0,     0,     0,
6419        0,     0,     0,  2549,   223,   224,   225,   226,   227,   228,
6420      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
6421     1143,     0,     0,   235,   236,     0,   237,   238,   780,   239,
6422      240,   241,     0,  1144,   781,  1145,  1146,     0,   246,   247,
6423      248,   249,   250,  1147,  1148,   251,   252,  1149,  1150,   255,
6424        0,   256,   257,   258,   259,  1151,     0,  1152,     0,   261,
6425      262,   263,   264,   783,   265,   266,   267,     0,   268,   269,
6426      270,   271,   272,   273,     0,   784,   274,   275,   276,  1153,
6427     1154,  1155,  1156,  1157,  1158,  1159,   277,   278,   279,   280,
6428      281,   282,  1160,  1161,   285,     0,   286,     0,   287,   288,
6429      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
6430      296,   297,  1001,   299,   300,     0,   301,   302,   303,     0,
6431      304,     0,   306,     0,   307,   308,   309,   310,  1162,   312,
6432      313,   314,  1163,  1164,   316,     0,   317,   318,  1165,   320,
6433        0,   321,     0,   322,   786,     0,   787,   323,   324,   325,
6434        0,   326,  1166,     0,  1167,   329,     0,   330,   331,   332,
6435      333,   334,     0,   335,   336,   337,   338,     0,   339,   340,
6436      341,   342,   343,   344,     0,   345,   789,   346,   347,   348,
6437      349,   350,  1168,  1169,     0,  1170,     0,   354,     0,     0,
6438      355,   792,   356,   357,   358,   359,   360,     0,     0,   361,
6439     1171,   793,   363,     0,     0,   364,   365,   366,  1172,  1173,
6440      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
6441      377,   378,   379,   380,   381,   382,  1174,   795,  1175,   385,
6442      386,   387,  1176,   388,   389,     0,   390,  1177,  1178,   392,
6443     1179,   394,   395,   396,     0,   397,     0,     0,  1180,   399,
6444      400,     0,     0,   401,   402,   797,   403,   798,  1181,   405,
6445      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
6446     1182,   416,   417,   418,   419,   420,     0,   421,   422,   423,
6447      424,   425,   426,   427,   428,  1183,   430,   431,   432,   433,
6448        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
6449      443,   444,     0,   445,   446,   799,   447,   448,   449,  1184,
6450      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
6451      460,   461,   462,   463,  1185,   464,   465,   466,   467,   468,
6452        0,   469,   470,  1186,   472,     0,   473,   474,   475,   476,
6453      477,   478,   479,   480,   481,   482,   483,  1187,     0,   485,
6454      486,     0,   487,   801,   488,   489,   490,   491,   492,     0,
6455     1188,  1189,     0,     0,   495,   496,  1190,   498,  1191,  1192,
6456      500,   501,   502,   503,   504,   505,   506,     0,  1193,   507,
6457      508,   509,   510,   511,  1194,     0,   512,   513,   514,   515,
6458      516,   517,  1195,     0,   519,   802,   520,   521,   522,   523,
6459        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
6460      530,   531,  1196,  1197,  1198,  1199,  1200,  1201,  1202,  1203,
6461      540,   541,   542,     0,     0,   779,     0,     0,     0,     0,
6462     1205,  1206,     0,     0,     0,     0,     0,     0,     0,  1208,
6463      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
6464      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
6465      236,     0,   237,   238,   780,   239,   240,   241,   242,   243,
6466      781,   244,   245,     0,   246,   247,   248,   249,   250,     0,
6467     1148,   251,   252,   253,   254,   255,     0,   256,   257,   258,
6468      259,  1151,     0,  1152,     0,   261,   262,   263,   264,   783,
6469      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
6470        0,   784,   274,   275,   276,  1153,  1154,  1155,  1156,  1157,
6471     1158,  1159,   277,   278,   279,   280,   281,   282,   283,   284,
6472      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
6473        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
6474      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
6475      307,   308,   309,   310,   311,   312,   313,   314,  1163,     0,
6476      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
6477      786,     0,   787,   323,   324,   325,     0,   326,  1166,     0,
6478      328,   329,     0,   330,   331,   332,   333,   334,   788,   335,
6479      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
6480        0,   345,   789,   346,   347,   348,   349,   350,   351,   352,
6481        0,   353,     0,   354,   790,   791,   355,   792,   356,   357,
6482      358,   359,   360,  3312,     0,   361,  1171,   793,   363,   794,
6483        0,   364,   365,   366,  1172,  1173,   367,   368,   369,   370,
6484      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
6485      381,   382,   383,   795,   384,   385,   386,   387,     0,   388,
6486      389,   796,   390,     0,  1178,   392,   393,   394,   395,   396,
6487        0,   397,     0,   743,   398,   399,   400,     0,     0,   401,
6488      402,   797,   403,   798,  1181,   405,   406,   407,   408,   409,
6489      410,   411,   412,     0,   413,   414,  1182,   416,   417,   418,
6490      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
6491      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
6492      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
6493      446,   799,   447,   448,   449,   450,  3313,   452,   453,   454,
6494      455,   456,   457,   458,    39,   459,   460,   461,   462,   463,
6495     1185,   464,   465,   466,   467,   468,   800,   469,   470,   471,
6496      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
6497      481,   482,   483,  1187,     0,   485,   486,    43,   487,   801,
6498      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
6499      495,   496,  1190,   498,  1191,     0,   500,   501,   502,   503,
6500      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
6501     1194,     0,   512,   513,   514,   515,   516,  1074,   518,     0,
6502      519,   802,   520,   521,   522,   523,     0,     0,   524,     0,
6503       48,   525,   526,   527,   528,   529,   530,   531,  1196,  1197,
6504     1198,  1199,  1200,  1201,  1202,  1203,   540,   541,   542,     0,
6505        0,    49,   779,     0,     0,     0,     0,     0,     0,     0,
6506        0,     0,     0,     0,     0,  3314,     0,   223,   224,   225,
6507      226,   227,   228,   229,   230,     0,   232,   233,   234,     0,
6508        0,     0,     0,     0,     0,     0,   235,   236,     0,   237,
6509      238,   780,   239,   240,   241,   242,   243,   781,   244,   245,
6510        0,   246,   247,   248,   249,   250,     0,  1148,   251,   252,
6511      253,   254,   255,     0,   256,   257,   258,   259,  1151,     0,
6512     1152,     0,   261,   262,   263,   264,   783,   265,   266,   267,
6513        0,   268,   269,   270,   271,   272,   273,     0,   784,   274,
6514      275,   276,  1153,  1154,  1155,  1156,  1157,  1158,  1159,   277,
6515      278,   279,   280,   281,   282,   283,   284,   285,     0,   286,
6516        0,   287,   288,   289,   290,   291,   292,     0,   293,   294,
6517      295,     0,     0,   296,   297,   298,   299,   300,     0,   301,
6518      302,   303,     0,   304,   305,   306,     0,   307,   308,   309,
6519      310,   311,   312,   313,   314,  1163,     0,   316,     0,   317,
6520      318,   319,   320,     0,   321,     0,   322,   786,     0,   787,
6521      323,   324,   325,     0,   326,  1166,     0,   328,   329,     0,
6522      330,   331,   332,   333,   334,   788,   335,   336,   337,   338,
6523        0,   339,   340,   341,   342,   343,   344,     0,   345,   789,
6524      346,   347,   348,   349,   350,   351,   352,     0,   353,     0,
6525      354,   790,   791,   355,   792,   356,   357,   358,   359,   360,
6526     3312,     0,   361,  1171,   793,   363,   794,     0,   364,   365,
6527      366,  1172,  1173,   367,   368,   369,   370,   371,   372,   373,
6528      374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
6529      795,   384,   385,   386,   387,     0,   388,   389,   796,   390,
6530        0,  1178,   392,   393,   394,   395,   396,     0,   397,     0,
6531      743,   398,   399,   400,     0,     0,   401,   402,   797,   403,
6532      798,  1181,   405,   406,   407,   408,   409,   410,   411,   412,
6533        0,   413,   414,  1182,   416,   417,   418,   419,   420,     0,
6534      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
6535      431,   432,   433,     0,   434,   435,   436,   437,   438,   439,
6536      440,   441,   442,   443,   444,     0,   445,   446,   799,   447,
6537      448,   449,   450,  3313,   452,   453,   454,   455,   456,   457,
6538      458,     0,   459,   460,   461,   462,   463,  1185,   464,   465,
6539      466,   467,   468,   800,   469,   470,   471,   472,     0,   473,
6540      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
6541     1187,     0,   485,   486,     0,   487,   801,   488,   489,   490,
6542      491,   492,     0,   493,   494,     0,     0,   495,   496,  1190,
6543      498,  1191,     0,   500,   501,   502,   503,   504,   505,   506,
6544        0,     0,   507,   508,   509,   510,   511,  1194,     0,   512,
6545      513,   514,   515,   516,   517,   518,     0,   519,   802,   520,
6546      521,   522,   523,     0,     0,   524,     0,     0,   525,   526,
6547      527,   528,   529,   530,   531,  1196,  1197,  1198,  1199,  1200,
6548     1201,  1202,  1203,   540,   541,   542,     0,     0,   779,     0,
6549        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6550        0,     0,  3314,   223,   224,   225,   226,   227,   228,   229,
6551      230,     0,   232,   233,   234,     0,     0,     0,     0,     0,
6552        0,     0,   235,   236,     0,   237,   238,   780,   239,   240,
6553      241,   242,   243,   781,   244,   245,     0,   246,   247,   248,
6554      249,   250,     0,  1148,   251,   252,   253,   254,   255,     0,
6555      256,   257,   258,   259,  1151,     0,  1152,     0,   261,   262,
6556      263,   264,   783,   265,   266,   267,     0,   268,   269,   270,
6557      271,   272,   273,     0,   784,   274,   275,   276,  1153,  1154,
6558     1155,  1156,  1157,  1158,  1159,   277,   278,   279,   280,   281,
6559      282,   283,   284,   285,     0,   286,     0,   287,   288,   289,
6560      290,   291,   292,     0,   293,   294,   295,     0,     0,   296,
6561      297,   298,   299,   300,     0,   301,   302,   303,     0,   304,
6562      305,   306,     0,   307,   308,   309,   310,   311,   312,   313,
6563      314,  1163,     0,   316,     0,   317,   318,   319,   320,     0,
6564      321,     0,   322,   786,     0,   787,   323,   324,   325,     0,
6565      326,  1166,     0,   328,   329,     0,   330,   331,   332,   333,
6566      334,   788,   335,   336,   337,   338,     0,   339,   340,   341,
6567      342,   343,   344,     0,   345,   789,   346,   347,   348,   349,
6568      350,   351,   352,     0,   353,     0,   354,   790,   791,   355,
6569      792,   356,   357,   358,   359,   360,     0,     0,   361,  1171,
6570      793,   363,   794,     0,   364,   365,   366,  1172,  1173,   367,
6571      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
6572      378,   379,   380,   381,   382,   383,   795,   384,   385,   386,
6573      387,     0,   388,   389,   796,   390,     0,  1178,   392,   393,
6574      394,   395,   396,     0,   397,     0,     0,   398,   399,   400,
6575        0,     0,   401,   402,   797,   403,   798,  1181,   405,   406,
6576      407,   408,   409,   410,   411,   412,     0,   413,   414,  1182,
6577      416,   417,   418,   419,   420,     0,   421,   422,   423,   424,
6578      425,   426,   427,   428,   429,   430,   431,   432,   433,     0,
6579      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
6580      444,     0,   445,   446,   799,   447,   448,   449,   450,  3313,
6581      452,   453,   454,   455,   456,   457,   458,     0,   459,   460,
6582      461,   462,   463,  1185,   464,   465,   466,   467,   468,   800,
6583      469,   470,   471,   472,     0,   473,   474,   475,   476,   477,
6584      478,   479,   480,   481,   482,   483,  1187,     0,   485,   486,
6585        0,   487,   801,   488,   489,   490,   491,   492,     0,   493,
6586      494,     0,     0,   495,   496,  1190,   498,  1191,     0,   500,
6587      501,   502,   503,   504,   505,   506,     0,     0,   507,   508,
6588      509,   510,   511,  1194,     0,   512,   513,   514,   515,   516,
6589      517,   518,     0,   519,   802,   520,   521,   522,   523,     0,
6590        0,   524,     0,     0,   525,   526,   527,   528,   529,   530,
6591      531,  1196,  1197,  1198,  1199,  1200,  1201,  1202,  1203,   540,
6592      541,   542,     0,     0,   779,     0,     0,     0,     0,     0,
6593        0,     0,     0,     0,     0,     0,     0,     0,    50,   223,
6594      224,   225,   226,   227,   228,   229,   230,     0,   232,   233,
6595      234,     0,     0,     0,     0,     0,     0,     0,   235,   236,
6596        0,   237,   238,   780,   239,   240,   241,   242,   243,   781,
6597      244,   245,     0,   246,   247,   248,   249,   250,     0,  1148,
6598      251,   252,   253,   254,   255,     0,   256,   257,   258,   259,
6599     1151,     0,  1152,     0,   261,   262,   263,   264,   783,   265,
6600      266,   267,     0,   268,   269,   270,   271,   272,   273,     0,
6601      784,   274,   275,   276,  1153,  1154,  1155,  1156,  1157,  1158,
6602     1159,   277,   278,   279,   280,   281,   282,   283,   284,   285,
6603        0,   286,     0,   287,   288,   289,   290,   291,   292,     0,
6604      293,   294,   295,     0,     0,   296,   297,   298,   299,   300,
6605        0,   301,   302,   303,     0,   304,   305,   306,     0,   307,
6606      308,   309,   310,   311,   312,   313,   314,  1163,     0,   316,
6607        0,   317,   318,   319,   320,     0,   321,     0,   322,   786,
6608        0,   787,   323,   324,   325,     0,   326,  1166,     0,   328,
6609      329,     0,   330,   331,   332,   333,   334,   788,   335,   336,
6610      337,   338,     0,   339,   340,   341,   342,   343,   344,     0,
6611      345,   789,   346,   347,   348,   349,   350,   351,   352,     0,
6612      353,     0,   354,   790,   791,   355,   792,   356,   357,   358,
6613      359,   360,     0,     0,   361,  1171,   793,   363,   794,     0,
6614      364,   365,   366,  1172,  1173,   367,   368,   369,   370,   371,
6615      372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
6616      382,   383,   795,   384,   385,   386,   387,     0,   388,   389,
6617      796,   390,     0,  1178,   392,   393,   394,   395,   396,     0,
6618      397,     0,     0,   398,   399,   400,     0,     0,   401,   402,
6619      797,   403,   798,  1181,   405,   406,   407,   408,   409,   410,
6620      411,   412,     0,   413,   414,  1182,   416,   417,   418,   419,
6621      420,     0,   421,   422,   423,   424,   425,   426,   427,   428,
6622      429,   430,   431,   432,   433,     0,   434,   435,   436,   437,
6623      438,   439,   440,   441,   442,   443,   444,     0,   445,   446,
6624      799,   447,   448,   449,   450,   451,   452,   453,   454,   455,
6625      456,   457,   458,     0,   459,   460,   461,   462,   463,  1185,
6626      464,   465,   466,   467,   468,   800,   469,   470,   471,   472,
6627        0,   473,   474,   475,   476,   477,   478,   479,   480,   481,
6628      482,   483,  1187,     0,   485,   486,     0,   487,   801,   488,
6629      489,   490,   491,   492,     0,   493,   494,     0,     0,   495,
6630      496,  1190,   498,  1191,     0,   500,   501,   502,   503,   504,
6631      505,   506,     0,     0,   507,   508,   509,   510,   511,  1194,
6632        0,   512,   513,   514,   515,   516,   517,   518,     0,   519,
6633      802,   520,   521,   522,   523,     0,     0,   524,     0,     0,
6634      525,   526,   527,   528,   529,   530,   531,  1196,  1197,  1198,
6635     1199,  1200,  1201,  1202,  1203,   540,   541,   542,     0,     0,
6636      823,  1412,   600,     0,     0,     0,   654,     0,     0,     0,
6637        0,     0,     0,     0,  3916,   223,   224,   225,   226,   227,
6638      228,   229,   230,     0,   232,   233,   234,     0,     0,     0,
6639        0,     0,     0,     0,   235,   236,     0,   237,   238,   780,
6640      239,   240,   241,   242,   243,   781,   244,   245,     0,   246,
6641      247,   248,   249,   250,     0,     0,   251,   252,   253,   254,
6642      255,     0,   256,   257,   258,   259,   260,     0,   782,     0,
6643      261,   262,   263,   264,   783,   265,   266,   267,     0,   268,
6644      269,   270,   271,   272,   273,     0,   784,   274,   275,   276,
6645        0,     0,     0,   785,     0,     0,     0,   277,   278,   279,
6646      280,   281,   282,   283,   284,   285,     0,   286,     0,   287,
6647      288,   289,   290,   291,   292,     0,   293,   294,   295,     0,
6648        0,   296,   297,   298,   299,   300,     0,   301,   302,   303,
6649        0,   304,   305,   306,     0,   307,   308,   309,   310,   311,
6650      312,   313,   314,   315,  1683,   316,     0,   317,   318,   319,
6651      320,     0,   321,     0,   322,   786,     0,   787,   323,   324,
6652      325,     0,   326,   327,     0,   328,   329,     0,   330,   331,
6653      332,   333,   334,   788,   335,   336,   337,   338,     0,   339,
6654      340,   341,   342,   343,   344,     0,   345,   789,   346,   347,
6655      348,   349,   350,   351,   352,     0,   353,     0,   354,   790,
6656      791,   355,   792,   356,   357,   358,   359,   360,     0,     0,
6657      361,   362,   793,   363,   794,     0,   364,   365,   366,     0,
6658        0,   367,   368,   369,   370,   371,   372,   373,   374,   375,
6659      376,   377,   378,   379,   380,   381,   382,   383,   795,   384,
6660      385,   386,   387,     0,   388,   389,   796,   390,     0,   391,
6661      392,   393,   394,   395,   396,     0,   397,  1684,     0,   398,
6662      399,   400,     0,     0,   401,   402,   797,   403,   798,   404,
6663      405,   406,   407,   408,   409,   410,   411,   412,     0,   413,
6664      414,   415,   416,   417,   418,   419,   420,     0,   421,   422,
6665      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
6666      433,     0,   434,   435,   436,   437,   438,   439,   440,   441,
6667      442,   443,   444,     0,   445,   446,   799,   447,   448,   449,
6668      450,   451,   452,   453,   454,   455,   456,   457,   458,     0,
6669      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
6670      468,   800,   469,   470,   471,   472,     0,   473,   474,   475,
6671      476,   477,   478,   479,   480,   481,   482,   483,   484,     0,
6672      485,   486,     0,   487,   801,   488,   489,   490,   491,   492,
6673        0,   493,   494,     0,     0,   495,   496,   497,   498,   499,
6674     1685,   500,   501,   502,   503,   504,   505,   506,     0,     0,
6675      507,   508,   509,   510,   511,     0,     0,   512,   513,   514,
6676      515,   516,   517,   518,     0,   519,   802,   520,   521,   522,
6677      523,     0,     0,   524,     0,     0,   525,   526,   527,   528,
6678      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
6679      539,   540,   541,   542,     0,     0,   823,     0,     0,     0,
6680        0,  1413,  1414,  4715,     0,     0,     0,     0,     0,     0,
6681     4716,   223,   224,   225,   226,   227,   228,   229,   230,     0,
6682      232,   233,   234,     3,     4,     0,     0,     0,     0,     0,
6683      235,   236,     0,   237,   238,   780,   239,   240,   241,   242,
6684      243,   781,   244,   245,     0,   246,   247,   248,   249,   250,
6685        0,     0,   251,   252,   253,   254,   255,     0,   256,   257,
6686      258,   259,   260,     0,   782,     0,   261,   262,   263,   264,
6687      783,   265,   266,   267,     0,   268,   269,   270,   271,   272,
6688      273,     0,   784,   274,   275,   276,     0,     0,     0,   785,
6689        0,     0,     0,   277,   278,   279,   280,   281,   282,   283,
6690      284,   285,     0,   286,     0,   287,   288,   289,   290,   291,
6691      292,     0,   293,   294,   295,     0,     0,   296,   297,   298,
6692      299,   300,     0,   301,   302,   303,     0,   304,   305,   306,
6693        0,   307,   308,   309,   310,   311,   312,   313,   314,   315,
6694        0,   316,     0,   317,   318,   319,   320,     0,   321,     0,
6695      322,   786,     0,   787,   323,   324,   325,     0,   326,   327,
6696        0,   328,   329,     0,   330,   331,   332,   333,   334,   788,
6697      335,   336,   337,   338,     0,   339,   340,   341,   342,   343,
6698      344,     0,   345,   789,   346,   347,   348,   349,   350,   351,
6699      352,     0,   353,     0,   354,   790,   791,   355,   792,   356,
6700      357,   358,   359,   360,     0,     0,   361,   362,   793,   363,
6701      794,     0,   364,   365,   366,     0,     0,   367,   368,   369,
6702      370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
6703      380,   381,   382,   383,   795,   384,   385,   386,   387,     0,
6704      388,   389,   796,   390,     0,   391,   392,   393,   394,   395,
6705      396,     0,   397,     0,     0,   398,   399,   400,     0,     0,
6706      401,   402,   797,   403,   798,   404,   405,   406,   407,   408,
6707      409,   410,   411,   412,     0,   413,   414,   415,   416,   417,
6708      418,   419,   420,     0,   421,   422,   423,   424,   425,   426,
6709      427,   428,   429,   430,   431,   432,   433,     0,   434,   435,
6710      436,   437,   438,   439,   440,   441,   442,   443,   444,     0,
6711      445,   446,   799,   447,   448,   449,   450,   451,   452,   453,
6712      454,   455,   456,   457,   458,    39,   459,   460,   461,   462,
6713      463,     0,   464,   465,   466,   467,   468,   800,   469,   470,
6714      471,   472,     0,   473,   474,   475,   476,   477,   478,   479,
6715      480,   481,   482,   483,   484,     0,   485,   486,    43,   487,
6716      801,   488,   489,   490,   491,   492,     0,   493,   494,     0,
6717        0,   495,   496,   497,   498,   499,     0,   500,   501,   502,
6718      503,   504,   505,   506,     0,     0,   507,   508,   509,   510,
6719      511,     0,     0,   512,   513,   514,   515,   516,  1074,   518,
6720        0,   519,   802,   520,   521,   522,   523,     0,     0,   524,
6721        0,    48,   525,   526,   527,   528,   529,   530,   531,   532,
6722      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
6723        0,     0,    49,   779,     0,     0,     0,     0,     0,     0,
6724        0,     0,     0,     0,     0,     0,    50,     0,   223,   224,
6725      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
6726        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
6727      237,   238,   780,   239,   240,   241,   242,   243,   781,   244,
6728      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
6729      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
6730        0,   782,     0,   261,   262,   263,   264,   783,   265,   266,
6731      267,     0,   268,   269,   270,   271,   272,   273,     0,   784,
6732      274,   275,   276,     0,     0,     0,   785,     0,     0,     0,
6733      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
6734      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
6735      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
6736      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
6737      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
6738      317,   318,   319,   320,     0,   321,     0,   322,   786,     0,
6739      787,   323,   324,   325,     0,   326,   327,     0,   328,   329,
6740        0,   330,   331,   332,   333,   334,   788,   335,   336,   337,
6741      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
6742      789,   346,   347,   348,   349,   350,   351,   352,     0,   353,
6743        0,   354,   790,   791,   355,   792,   356,   357,   358,   359,
6744      360,     0,     0,   361,   362,   793,   363,   794,     0,   364,
6745      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
6746      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
6747      383,   795,   384,   385,   386,   387,     0,   388,   389,   796,
6748      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
6749        0,     0,   398,   399,   400,     0,     0,   401,   402,   797,
6750      403,   798,   404,   405,   406,   407,   408,   409,   410,   411,
6751      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
6752        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
6753      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
6754      439,   440,   441,   442,   443,   444,     0,   445,   446,   799,
6755      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
6756      457,   458,     0,   459,   460,   461,   462,   463,     0,   464,
6757      465,   466,   467,   468,   800,   469,   470,   471,   472,     0,
6758      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
6759      483,   484,     0,   485,   486,     0,   487,   801,   488,   489,
6760      490,   491,   492,     0,   493,   494,     0,     0,   495,   496,
6761      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
6762      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
6763      512,   513,   514,   515,   516,   517,   518,     0,   519,   802,
6764      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
6765      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
6766      536,   537,   538,   539,   540,   541,   542,     0,     0,   222,
6767        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6768        0,     0,     0,  4531,   223,   224,   225,   226,   227,   228,
6769      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
6770        0,     0,     0,   235,   236,     0,   237,   238,     0,   239,
6771      240,   241,   242,   243,     0,   244,   245,     0,   246,   247,
6772      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
6773        0,   256,   257,   258,   259,   260,     0,     0,     0,   261,
6774      262,   263,   264,     0,   265,   266,   267,     0,   268,   269,
6775      270,   271,   272,   273,     0,     0,   274,   275,   276,     0,
6776        0,     0,     0,     0,     0,     0,   277,   278,   279,   280,
6777      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
6778      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
6779      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
6780      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
6781      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
6782        0,   321,     0,   322,     0,     0,     0,   323,   324,   325,
6783        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
6784      333,   334,     0,   335,   336,   337,   338,     0,   339,   340,
6785      341,   342,   343,   344,     0,   345,     0,   346,   347,   348,
6786      349,   350,   351,   352,     0,   353,     0,   354,     0,     0,
6787      355,     0,   356,   357,   358,   359,   360,     0,     0,   361,
6788      362,     0,   363,     0,     0,   364,   365,   366,     0,     0,
6789      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
6790      377,   378,   379,   380,   381,   382,   383,     0,   384,   385,
6791      386,   387,     0,   388,   389,     0,   390,     0,   391,   392,
6792      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
6793      400,     0,     0,   401,   402,     0,   403,     0,   404,   405,
6794      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
6795      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
6796      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
6797        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
6798      443,   444,     0,   445,   446,     0,   447,   448,   449,   450,
6799      451,   452,   453,   454,   455,   456,   457,   458,    39,   459,
6800      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
6801        0,   469,   470,   471,   472,     0,   473,   474,   475,   476,
6802      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
6803      486,    43,   487,     0,   488,   489,   490,   491,   492,     0,
6804      493,   494,     0,     0,   495,   496,   497,   498,   499,     0,
6805      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
6806      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
6807      516,  1074,   518,     0,   519,     0,   520,   521,   522,   523,
6808        0,     0,   524,     0,    48,   525,   526,   527,   528,   529,
6809      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
6810      540,   541,   542,     0,     0,    49,   222,     0,     0,     0,
6811        0,     0,     0,     0,     0,     0,     0,     0,     0,    50,
6812        0,   223,   224,   225,   226,   227,   228,   229,   230,     0,
6813      232,   233,   234,     0,     0,     0,     0,     0,     0,     0,
6814      235,   236,     0,   237,   238,     0,   239,   240,   241,   242,
6815      243,     0,   244,   245,     0,   246,   247,   248,   249,   250,
6816        0,     0,   251,   252,   253,   254,   255,     0,   256,   257,
6817      258,   259,   260,     0,     0,     0,   261,   262,   263,   264,
6818        0,   265,   266,   267,     0,   268,   269,   270,   271,   272,
6819      273,     0,     0,   274,   275,   276,     0,     0,     0,     0,
6820        0,     0,     0,   277,   278,   279,   280,   281,   282,   283,
6821      284,   285,     0,   286,     0,   287,   288,   289,   290,   291,
6822      292,     0,   293,   294,   295,     0,     0,   296,   297,   298,
6823      299,   300,     0,   301,   302,   303,     0,   304,   305,   306,
6824        0,   307,   308,   309,   310,   311,   312,   313,   314,   315,
6825        0,   316,     0,   317,   318,   319,   320,     0,   321,     0,
6826      322,     0,     0,     0,   323,   324,   325,     0,   326,   327,
6827        0,   328,   329,     0,   330,   331,   332,   333,   334,     0,
6828      335,   336,   337,   338,     0,   339,   340,   341,   342,   343,
6829      344,     0,   345,     0,   346,   347,   348,   349,   350,   351,
6830      352,     0,   353,     0,   354,     0,     0,   355,     0,   356,
6831      357,   358,   359,   360,     0,     0,   361,   362,     0,   363,
6832        0,     0,   364,   365,   366,     0,     0,   367,   368,   369,
6833      370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
6834      380,   381,   382,   383,     0,   384,   385,   386,   387,     0,
6835      388,   389,     0,   390,     0,   391,   392,   393,   394,   395,
6836      396,     0,   397,     0,     0,   398,   399,   400,     0,     0,
6837      401,   402,     0,   403,     0,   404,   405,   406,   407,   408,
6838      409,   410,   411,   412,     0,   413,   414,   415,   416,   417,
6839      418,   419,   420,     0,   421,   422,   423,   424,   425,   426,
6840      427,   428,   429,   430,   431,   432,   433,     0,   434,   435,
6841      436,   437,   438,   439,   440,   441,   442,   443,   444,     0,
6842      445,   446,     0,   447,   448,   449,   450,   451,   452,   453,
6843      454,   455,   456,   457,   458,     0,   459,   460,   461,   462,
6844      463,     0,   464,   465,   466,   467,   468,     0,   469,   470,
6845      471,   472,     0,   473,   474,   475,   476,   477,   478,   479,
6846      480,   481,   482,   483,   484,     0,   485,   486,     0,   487,
6847        0,   488,   489,   490,   491,   492,     0,   493,   494,     0,
6848        0,   495,   496,   497,   498,   499,     0,   500,   501,   502,
6849      503,   504,   505,   506,     0,     0,   507,   508,   509,   510,
6850      511,     0,     0,   512,   513,   514,   515,   516,   517,   518,
6851        0,   519,     0,   520,   521,   522,   523,     0,     0,   524,
6852        0,     0,   525,   526,   527,   528,   529,   530,   531,   532,
6853      533,   534,   535,   536,   537,   538,   539,   540,   541,   542,
6854        0,     0,   222,     0,     0,     0,     0,     0,     0,     0,
6855        0,     0,     0,     0,     0,     0,  1266,   223,   224,   225,
6856      226,   227,   228,   229,   230,     0,   232,   233,   234,     0,
6857        0,     0,     0,     0,     0,     0,   235,   236,     0,   237,
6858      238,     0,   239,   240,   241,   242,   243,     0,   244,   245,
6859        0,   246,   247,   248,   249,   250,     0,     0,   251,   252,
6860      253,   254,   255,     0,   256,   257,   258,   259,   260,     0,
6861        0,     0,   261,   262,   263,   264,     0,   265,   266,   267,
6862        0,   268,   269,   270,   271,   272,   273,     0,     0,   274,
6863      275,   276,     0,     0,     0,     0,     0,     0,     0,   277,
6864      278,   279,   280,   281,   282,   283,   284,   285,     0,   286,
6865        0,   287,   288,   289,   290,   291,   292,     0,   293,   294,
6866      295,     0,     0,   296,   297,   298,   299,   300,     0,   301,
6867      302,   303,     0,   304,   305,   306,     0,   307,   308,   309,
6868      310,   311,   312,   313,   314,   315,     0,   316,     0,   317,
6869      318,   319,   320,     0,   321,     0,   322,     0,     0,     0,
6870      323,   324,   325,     0,   326,   327,     0,   328,   329,     0,
6871      330,   331,   332,   333,   334,     0,   335,   336,   337,   338,
6872        0,   339,   340,   341,   342,   343,   344,     0,   345,     0,
6873      346,   347,   348,   349,   350,   351,   352,     0,   353,     0,
6874      354,     0,     0,   355,     0,   356,   357,   358,   359,   360,
6875        0,     0,   361,   362,     0,   363,     0,     0,   364,   365,
6876      366,     0,     0,   367,   368,   369,   370,   371,   372,   373,
6877      374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
6878        0,   384,   385,   386,   387,     0,   388,   389,     0,   390,
6879        0,   391,   392,   393,   394,   395,   396,     0,   397,     0,
6880        0,   398,   399,   400,     0,     0,   401,   402,     0,   403,
6881        0,   404,   405,   406,   407,   408,   409,   410,   411,   412,
6882        0,   413,   414,   415,   416,   417,   418,   419,   420,     0,
6883      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
6884      431,   432,   433,     0,   434,   435,   436,   437,   438,   439,
6885      440,   441,   442,   443,   444,     0,   445,   446,     0,   447,
6886      448,   449,   450,   451,   452,   453,   454,   455,   456,   457,
6887      458,     0,   459,   460,   461,   462,   463,     0,   464,   465,
6888      466,   467,   468,     0,   469,   470,   471,   472,     0,   473,
6889      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
6890      484,     0,   485,   486,     0,   487,     0,   488,   489,   490,
6891      491,   492,     0,   493,   494,     0,     0,   495,   496,   497,
6892      498,   499,     0,   500,   501,   502,   503,   504,   505,   506,
6893        0,     0,   507,   508,   509,   510,   511,     0,     0,   512,
6894      513,   514,   515,   516,   517,   518,     0,   519,     0,   520,
6895      521,   522,   523,     0,     0,   524,     0,     0,   525,   526,
6896      527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
6897      537,   538,   539,   540,   541,   542,     0,     0,   222,     0,
6898        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6899        0,     0,  2711,   223,   224,   225,   226,   227,   228,   229,
6900      230,     0,   232,   233,   234,     0,     0,     0,     0,     0,
6901        0,     0,   235,   236,     0,   237,   238,     0,   239,   240,
6902      241,   242,   243,     0,   244,   245,     0,   246,   247,   248,
6903      249,   250,     0,     0,   251,   252,   253,   254,   255,     0,
6904      256,   257,   258,   259,   260,     0,     0,     0,   261,   262,
6905      263,   264,     0,   265,   266,   267,     0,   268,   269,   270,
6906      271,   272,   273,     0,     0,   274,   275,   276,     0,     0,
6907        0,     0,     0,     0,     0,   277,   278,   279,   280,   281,
6908      282,   283,   284,   285,     0,   286,     0,   287,   288,   289,
6909      290,   291,   292,     0,   293,   294,   295,     0,     0,   296,
6910      297,   298,   299,   300,     0,   301,   302,   303,     0,   304,
6911      305,   306,     0,   307,   308,   309,   310,   311,   312,   313,
6912      314,   315,     0,   316,     0,   317,   318,   319,   320,     0,
6913      321,     0,   322,     0,     0,     0,   323,   324,   325,     0,
6914      326,   327,     0,   328,   329,     0,   330,   331,   332,   333,
6915      334,     0,   335,   336,   337,   338,     0,   339,   340,   341,
6916      342,   343,   344,     0,   345,     0,   346,   347,   348,   349,
6917      350,   351,   352,     0,   353,     0,   354,     0,     0,   355,
6918        0,   356,   357,   358,   359,   360,     0,     0,   361,   362,
6919        0,   363,     0,     0,   364,   365,   366,     0,     0,   367,
6920      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
6921      378,   379,   380,   381,   382,   383,     0,   384,   385,   386,
6922      387,     0,   388,   389,     0,   390,     0,   391,   392,   393,
6923      394,   395,   396,     0,   397,     0,     0,   398,   399,   400,
6924        0,     0,   401,   402,     0,   403,     0,   404,   405,   406,
6925      407,   408,   409,   410,   411,   412,     0,   413,   414,   415,
6926      416,   417,   418,   419,   420,     0,   421,   422,   423,   424,
6927      425,   426,   427,   428,   429,   430,   431,   432,   433,     0,
6928      434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
6929      444,     0,   445,   446,     0,   447,   448,   449,   450,   451,
6930      452,   453,   454,   455,   456,   457,   458,     0,   459,   460,
6931      461,   462,   463,     0,   464,   465,   466,   467,   468,     0,
6932      469,   470,   471,   472,     0,   473,   474,   475,   476,   477,
6933      478,   479,   480,   481,   482,   483,   484,     0,   485,   486,
6934        0,   487,     0,   488,   489,   490,   491,   492,     0,   493,
6935      494,     0,     0,   495,   496,   497,   498,   499,     0,   500,
6936      501,   502,   503,   504,   505,   506,     0,     0,   507,   508,
6937      509,   510,   511,     0,     0,   512,   513,   514,   515,   516,
6938      517,   518,     0,   519,     0,   520,   521,   522,   523,     0,
6939        0,   524,     0,     0,   525,   526,   527,   528,   529,   530,
6940      531,   532,   533,   534,   535,   536,   537,   538,   539,   540,
6941      541,   542,     0,     0,   222,     0,     0,     0,     0,     0,
6942        0,     0,     0,     0,     0,     0,     0,     0,  3828,   223,
6943      224,   225,   226,   227,   228,   229,   230,     0,   232,   233,
6944      234,     0,     0,     0,     0,     0,     0,     0,   235,   236,
6945        0,   237,   238,     0,   239,   240,   241,   242,   243,     0,
6946      244,   245,     0,   246,   247,   248,   249,   250,     0,     0,
6947      251,   252,   253,   254,   255,     0,   256,   257,   258,   259,
6948      260,     0,     0,     0,   261,   262,   263,   264,     0,   265,
6949      266,   267,     0,   268,   269,   270,   271,   272,   273,     0,
6950        0,   274,   275,   276,     0,     0,     0,     0,     0,     0,
6951        0,   277,   278,   279,   280,   281,   282,   283,   284,   285,
6952        0,   286,     0,   287,   288,   289,   290,   291,   292,     0,
6953      293,   294,   295,     0,     0,   296,   297,   298,   299,   300,
6954        0,   301,   302,   303,     0,   304,   305,   306,     0,   307,
6955      308,   309,   310,   311,   312,   313,   314,   315,     0,   316,
6956        0,   317,   318,   319,   320,     0,   321,     0,   322,     0,
6957        0,     0,   323,   324,   325,     0,   326,   327,     0,   328,
6958      329,     0,   330,   331,   332,   333,   334,     0,   335,   336,
6959      337,   338,     0,   339,   340,   341,   342,   343,   344,     0,
6960      345,     0,   346,   347,   348,   349,   350,   351,   352,     0,
6961      353,     0,   354,     0,     0,   355,     0,   356,   357,   358,
6962      359,   360,     0,     0,   361,   362,     0,   363,     0,     0,
6963      364,   365,   366,     0,     0,   367,   368,   369,   370,   371,
6964      372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
6965      382,   383,     0,   384,   385,   386,   387,     0,   388,   389,
6966        0,   390,     0,   391,   392,   393,   394,   395,   396,     0,
6967      397,     0,     0,   398,   399,   400,     0,     0,   401,   402,
6968        0,   403,     0,   404,   405,   406,   407,   408,   409,   410,
6969      411,   412,     0,   413,   414,   415,   416,   417,   418,   419,
6970      420,     0,   421,   422,   423,   424,   425,   426,   427,   428,
6971      429,   430,   431,   432,   433,     0,   434,   435,   436,   437,
6972      438,   439,   440,   441,   442,   443,   444,     0,   445,   446,
6973        0,   447,   448,   449,   450,   451,   452,   453,   454,   455,
6974      456,   457,   458,     0,   459,   460,   461,   462,   463,     0,
6975      464,   465,   466,   467,   468,     0,   469,   470,   471,   472,
6976        0,   473,   474,   475,   476,   477,   478,   479,   480,   481,
6977      482,   483,   484,     0,   485,   486,     0,   487,     0,   488,
6978      489,   490,   491,   492,     0,   493,   494,     0,     0,   495,
6979      496,   497,   498,   499,     0,   500,   501,   502,   503,   504,
6980      505,   506,     0,     0,   507,   508,   509,   510,   511,     0,
6981        0,   512,   513,   514,   515,   516,   517,   518,     0,   519,
6982        0,   520,   521,   522,   523,     0,     0,   524,     0,     0,
6983      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
6984      535,   536,   537,   538,   539,   540,   541,   542,     0,     0,
6985        0,     0,     0,   993,  1412,   600,     0,     0,   837,   654,
6986        0,     0,     0,     0,  4235,   838,   839,   840,   223,   224,
6987      225,   226,   227,   228,   229,   230,  1871,   232,   233,   234,
6988     1872,  1873,  1874,  1875,  1876,  1877,  1878,   235,   236,  1879,
6989      237,   238,   780,   239,   240,   241,     0,   994,   781,   995,
6990      996,  1880,   246,   247,   248,   249,   250,  1881,  1882,   251,
6991      252,   997,   998,   255,  1883,   256,   257,   258,   259,     0,
6992     1884,   782,  1885,   261,   262,   263,   264,   783,   265,   266,
6993      267,  1886,   268,   269,   270,   271,   272,   273,  1887,   784,
6994      274,   275,   276,  1888,  1889,  1890,   785,  1891,  1892,  1893,
6995      277,   278,   279,   280,   281,   282,   999,  1000,   285,  1894,
6996      286,  1895,   287,   288,   289,   290,   291,   292,  1896,   293,
6997      294,   295,  1897,  1898,   296,   297,  1001,   299,   300,  1899,
6998      301,   302,   303,  1900,   304,   305,   306,  1901,   307,   308,
6999      309,   310,     0,   312,   313,   314,     0,  1902,   316,  1903,
7000      317,   318,  1002,   320,  1904,   321,  1905,   322,   786,  1906,
7001      787,   323,   324,   325,  1907,   326,     0,  1908,     0,   329,
7002     1909,   330,   331,   332,   333,   334,   788,   335,   336,   337,
7003      338,  1910,   339,   340,   341,   342,   343,   344,  1911,   345,
7004      789,     0,   347,   348,   349,   350,  1004,  1005,  1912,  1006,
7005     1913,   354,   790,   791,   355,   792,   356,   357,   358,   359,
7006      360,  1914,  1915,   361,     0,   793,   363,   794,  1916,   364,
7007      365,   366,  1917,  1918,   367,   368,   369,   370,   371,   372,
7008      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
7009     1007,   795,  1008,   385,   386,  4324,  1919,   388,   389,   796,
7010      390,  1920,     0,   392,  1009,   394,   395,   396,  1921,   397,
7011     1922,  1923,  3579,   399,   400,  1924,  1925,   401,     0,   797,
7012      403,   798,     0,   405,   406,   407,   408,   409,   410,   411,
7013      412,  1926,   413,   414,     0,   416,     0,   418,   419,   420,
7014     1927,   421,   422,   423,   424,   425,   426,   427,   428,  1010,
7015      430,   431,   432,   433,  1928,   434,   435,   436,   437,   438,
7016      439,   440,   441,   442,   443,   444,  1929,   445,   446,   799,
7017      447,   448,   449,     0,   451,   452,   453,   454,   455,   456,
7018      457,   458,  1930,   459,   460,   461,   462,   463,  1931,   464,
7019      465,  2014,   467,   468,   800,   469,   470,  1012,   472,  1932,
7020      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
7021      483,     0,  1933,   485,   486,  1934,   487,   801,   488,   489,
7022      490,   491,   492,  1935,  1013,  1014,  1936,  1937,   495,   496,
7023        0,   498,     0,  1938,   500,   501,   502,   503,   504,   505,
7024      506,  1939,  1940,   507,   508,   509,   510,   511,  1941,  1942,
7025      512,   513,   514,   515,   516,     0,  1015,  1943,   519,   802,
7026      520,   521,   522,   523,  1944,  1945,   524,  1946,  1947,   525,
7027      526,   527,   528,   529,   530,     0,     0,     0,     0,     0,
7028        0,     0,     0,     0,   540,   541,   542,     0,     0,     0,
7029      843,   844,   845,     0,  3580,  3581,   848,   849,   850,   851,
7030      993,  1412,   600,     0,     0,   837,   654,     0,     0,     0,
7031        0,     0,   838,   839,   840,   223,   224,   225,   226,   227,
7032      228,   229,   230,  1871,   232,   233,   234,  1872,  1873,  1874,
7033     1875,  1876,  1877,  1878,   235,   236,  1879,   237,   238,   780,
7034      239,   240,   241,     0,   994,   781,   995,   996,  1880,   246,
7035      247,   248,   249,   250,  1881,  1882,   251,   252,   997,   998,
7036      255,  1883,   256,   257,   258,   259,     0,  1884,   782,  1885,
7037      261,   262,   263,   264,   783,   265,   266,   267,  1886,   268,
7038      269,   270,   271,   272,   273,  1887,   784,   274,   275,   276,
7039     1888,  1889,  1890,   785,  1891,  1892,  1893,   277,   278,   279,
7040      280,   281,   282,   999,  1000,   285,  1894,   286,  1895,   287,
7041      288,   289,   290,   291,   292,  1896,   293,   294,   295,  1897,
7042     1898,   296,   297,  1001,   299,   300,  1899,   301,   302,   303,
7043     1900,   304,   305,   306,  1901,   307,   308,   309,   310,     0,
7044      312,   313,   314,     0,  1902,   316,  1903,   317,   318,  1002,
7045      320,  1904,   321,  1905,   322,   786,  1906,   787,   323,   324,
7046      325,  1907,   326,     0,  1908,     0,   329,  1909,   330,   331,
7047      332,   333,   334,   788,   335,   336,   337,   338,  1910,   339,
7048      340,   341,   342,   343,   344,  1911,   345,   789,     0,   347,
7049      348,   349,   350,  1004,  1005,  1912,  1006,  1913,   354,   790,
7050      791,   355,   792,   356,   357,   358,   359,   360,  1914,  1915,
7051      361,     0,   793,   363,   794,  1916,   364,   365,   366,  1917,
7052     1918,   367,   368,   369,   370,   371,   372,   373,   374,   375,
7053      376,   377,   378,   379,   380,   381,   382,  1007,   795,  1008,
7054      385,   386,     0,  1919,   388,   389,   796,   390,  1920,     0,
7055      392,  1009,   394,   395,   396,  1921,   397,  1922,  1923,  3579,
7056      399,   400,  1924,  1925,   401,     0,   797,   403,   798,     0,
7057      405,   406,   407,   408,   409,   410,   411,   412,  1926,   413,
7058      414,     0,   416,     0,   418,   419,   420,  1927,   421,   422,
7059      423,   424,   425,   426,   427,   428,  1010,   430,   431,   432,
7060      433,  1928,   434,   435,   436,   437,   438,   439,   440,   441,
7061      442,   443,   444,  1929,   445,   446,   799,   447,   448,   449,
7062        0,   451,   452,   453,   454,   455,   456,   457,   458,  1930,
7063      459,   460,   461,   462,   463,  1931,   464,   465,  2014,   467,
7064      468,   800,   469,   470,  1012,   472,  1932,   473,   474,   475,
7065      476,   477,   478,   479,   480,   481,   482,   483,     0,  1933,
7066      485,   486,  1934,   487,   801,   488,   489,   490,   491,   492,
7067     1935,  1013,  1014,  1936,  1937,   495,   496,     0,   498,     0,
7068     1938,   500,   501,   502,   503,   504,   505,   506,  1939,  1940,
7069      507,   508,   509,   510,   511,  1941,  1942,   512,   513,   514,
7070      515,   516,     0,  1015,  1943,   519,   802,   520,   521,   522,
7071      523,  1944,  1945,   524,  1946,  1947,   525,   526,   527,   528,
7072      529,   530,     0,     0,     0,     0,     0,     0,     0,     0,
7073        0,   540,   541,   542,     0,   222,     0,   843,   844,   845,
7074      837,  3580,  3581,   848,   849,   850,   851,   838,   839,   840,
7075      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
7076      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
7077      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
7078        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
7079        0,   251,   252,   253,   254,   255,     0,   256,   841,   258,
7080      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
7081      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
7082        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
7083        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
7084      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
7085        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
7086      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
7087      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
7088      842,     0,   317,   318,   319,   320,     0,   321,     0,   322,
7089        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
7090      328,   329,     0,   330,   331,   332,   333,   334,     0,   335,
7091      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
7092        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
7093        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
7094      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
7095        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
7096      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
7097      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
7098      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
7099        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
7100      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
7101      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
7102      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
7103      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
7104      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
7105      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
7106      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
7107        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
7108      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
7109      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
7110      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
7111      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
7112      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
7113        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
7114      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
7115        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
7116      534,   535,   536,   537,   538,   539,   540,   541,   542,     0,
7117      222,     0,   843,   844,   845,   837,   846,   847,   848,   849,
7118      850,   851,   838,   839,   840,   223,   224,   225,   226,   227,
7119      228,   229,   230,     0,   232,   233,   234,     0,     0,     0,
7120        0,     0,     0,     0,   235,   236,     0,   237,   238,     0,
7121      239,   240,   241,   242,   243,     0,   244,   245,     0,   246,
7122      247,   248,   249,   250,     0,     0,   251,   252,   253,   254,
7123      255,     0,   256,   950,   258,   259,   260,     0,     0,     0,
7124      261,   262,   263,   264,     0,   265,   266,   267,     0,   268,
7125      269,   270,   271,   272,   273,     0,     0,   274,   275,   276,
7126        0,     0,     0,     0,     0,     0,     0,   277,   278,   279,
7127      280,   281,   282,   283,   284,   285,     0,   286,     0,   287,
7128      288,   289,   290,   291,   292,     0,   293,   294,   295,     0,
7129        0,   296,   297,   298,   299,   300,     0,   301,   302,   303,
7130        0,   304,   305,   306,     0,   307,   308,   309,   310,   311,
7131      312,   313,   314,   315,     0,   951,     0,   317,   318,   319,
7132      320,     0,   321,     0,   322,     0,     0,     0,   323,   324,
7133      325,     0,   326,   327,     0,   328,   329,     0,   330,   331,
7134      332,   333,   334,     0,   335,   336,   337,   338,     0,   339,
7135      340,   341,   342,   343,   344,     0,   345,     0,   346,   347,
7136      348,   349,   350,   351,   352,     0,   353,     0,   354,     0,
7137        0,   355,     0,   356,   357,   358,   359,   360,     0,     0,
7138      361,   362,     0,   363,     0,     0,   364,   365,   366,     0,
7139        0,   367,   368,   369,   370,   371,   372,   373,   374,   375,
7140      376,   377,   378,   379,   380,   381,   382,   383,     0,   384,
7141      385,   386,   387,     0,   388,   389,     0,   390,     0,   391,
7142      392,   393,   394,   395,   396,     0,   397,     0,     0,   398,
7143      399,   400,     0,     0,   401,   402,     0,   403,     0,   404,
7144      405,   406,   407,   408,   409,   410,   411,   412,     0,   413,
7145      414,   415,   416,   417,   418,   419,   420,     0,   421,   422,
7146      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
7147      433,     0,   434,   435,   436,   437,   438,   439,   440,   441,
7148      442,   443,   444,     0,   445,   446,     0,   447,   448,   449,
7149      450,   451,   452,   453,   454,   455,   456,   457,   458,     0,
7150      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
7151      468,     0,   469,   470,   471,   472,     0,   473,   474,   475,
7152      476,   477,   478,   479,   480,   481,   482,   483,   484,     0,
7153      485,   486,     0,   487,     0,   488,   489,   490,   491,   492,
7154        0,   493,   494,     0,     0,   495,   496,   497,   498,   499,
7155        0,   500,   501,   502,   503,   504,   505,   506,     0,     0,
7156      507,   508,   509,   510,   511,     0,     0,   512,   513,   514,
7157      515,   516,   517,   518,     0,   519,     0,   520,   521,   522,
7158      523,     0,     0,   524,     0,     0,   525,   526,   527,   528,
7159      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
7160      539,   540,   541,   542,     0,   222,     0,   843,   844,   845,
7161      837,   846,   847,   848,   849,   850,   851,   838,   839,   840,
7162      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
7163      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
7164      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
7165        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
7166        0,   251,   252,   253,   254,   255,     0,   256,  1042,   258,
7167      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
7168      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
7169        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
7170        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
7171      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
7172        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
7173      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
7174      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
7175     1043,     0,   317,   318,   319,   320,     0,   321,     0,   322,
7176        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
7177      328,   329,     0,   330,   331,   332,   333,  1044,     0,   335,
7178      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
7179        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
7180        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
7181      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
7182        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
7183      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
7184      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
7185      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
7186        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
7187      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
7188      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
7189      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
7190      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
7191      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
7192      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
7193      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
7194        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
7195      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
7196      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
7197      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
7198      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
7199      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
7200        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
7201      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
7202        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
7203      534,   535,   536,   537,   538,   539,   540,   541,   542,     0,
7204      222,     0,   843,   844,   845,   837,   846,   847,   848,   849,
7205      850,   851,   838,   839,   840,   223,   224,   225,   226,   227,
7206      228,   229,   230,     0,   232,   233,   234,     0,     0,     0,
7207        0,     0,     0,     0,   235,   236,     0,   237,   238,     0,
7208      239,   240,   241,   242,   243,     0,   244,   245,     0,   246,
7209      247,   248,   249,   250,     0,     0,   251,   252,   253,   254,
7210      255,     0,   256,  1512,   258,   259,   260,     0,     0,     0,
7211      261,   262,   263,   264,     0,   265,   266,   267,     0,   268,
7212      269,   270,   271,   272,   273,     0,     0,   274,   275,   276,
7213        0,     0,     0,     0,     0,     0,     0,   277,   278,   279,
7214      280,   281,   282,   283,   284,   285,     0,   286,     0,   287,
7215      288,   289,   290,   291,   292,     0,   293,   294,   295,     0,
7216        0,   296,   297,   298,   299,   300,     0,   301,   302,   303,
7217        0,   304,   305,   306,     0,   307,   308,   309,   310,   311,
7218      312,   313,   314,   315,     0,  1513,     0,   317,   318,   319,
7219      320,     0,   321,     0,   322,     0,     0,     0,   323,   324,
7220      325,     0,   326,   327,     0,   328,   329,     0,   330,   331,
7221      332,   333,   334,     0,   335,   336,   337,   338,     0,   339,
7222      340,   341,   342,   343,   344,     0,   345,     0,   346,   347,
7223      348,   349,   350,   351,   352,     0,   353,     0,   354,     0,
7224        0,   355,     0,   356,   357,   358,   359,   360,     0,     0,
7225      361,   362,     0,   363,     0,     0,   364,   365,   366,     0,
7226        0,   367,   368,   369,   370,   371,   372,   373,   374,   375,
7227      376,   377,   378,   379,   380,   381,   382,   383,     0,   384,
7228      385,   386,   387,     0,   388,   389,     0,   390,     0,   391,
7229      392,   393,   394,   395,   396,     0,   397,     0,     0,   398,
7230      399,   400,     0,     0,   401,   402,     0,   403,     0,   404,
7231      405,   406,   407,   408,   409,   410,   411,   412,     0,   413,
7232      414,   415,   416,   417,   418,   419,   420,     0,   421,   422,
7233      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
7234      433,     0,   434,   435,   436,   437,   438,   439,   440,   441,
7235      442,   443,   444,     0,   445,   446,     0,   447,   448,   449,
7236      450,   451,   452,   453,   454,   455,   456,   457,   458,     0,
7237      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
7238      468,     0,   469,   470,   471,   472,     0,   473,   474,   475,
7239      476,   477,   478,   479,   480,   481,   482,   483,   484,     0,
7240      485,   486,     0,   487,     0,   488,   489,   490,   491,   492,
7241        0,   493,   494,     0,     0,   495,   496,   497,   498,   499,
7242        0,   500,   501,   502,   503,   504,   505,   506,     0,     0,
7243      507,   508,   509,   510,   511,     0,     0,   512,   513,   514,
7244      515,   516,   517,   518,     0,   519,     0,   520,   521,   522,
7245      523,     0,     0,   524,     0,     0,   525,   526,   527,   528,
7246      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
7247      539,   540,   541,   542,     0,   222,     0,   843,   844,   845,
7248      837,   846,   847,   848,   849,   850,   851,   838,   839,   840,
7249      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
7250      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
7251      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
7252        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
7253        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
7254      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
7255      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
7256        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
7257        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
7258      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
7259        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
7260      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
7261      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
7262      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
7263        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
7264      328,   329,     0,   330,   331,   332,   333,   334,     0,   335,
7265      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
7266        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
7267        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
7268      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
7269        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
7270      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
7271      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
7272      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
7273        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
7274      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
7275      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
7276      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
7277      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
7278      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
7279      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
7280      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
7281        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
7282      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
7283      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
7284      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
7285      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
7286      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
7287        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
7288      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
7289        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
7290      534,   535,   536,   537,   538,   539,   540,   541,   542,     0,
7291      222,     0,   843,   844,   845,   837,   846,   847,   848,   849,
7292      850,   851,   838,   839,   840,   223,   224,   225,   226,   227,
7293      228,   229,   230,     0,   232,   233,   234,     0,     0,     0,
7294        0,     0,     0,     0,   235,   236,     0,   237,   238,     0,
7295      239,   240,   241,   242,   243,     0,   244,   245,     0,   246,
7296      247,   248,   249,   250,     0,     0,   251,   252,   253,   254,
7297      255,     0,   256,  2790,   258,   259,   260,     0,     0,     0,
7298      261,   262,   263,   264,     0,   265,   266,   267,     0,   268,
7299      269,   270,   271,   272,   273,     0,     0,   274,   275,   276,
7300        0,     0,     0,     0,     0,     0,     0,   277,   278,   279,
7301      280,   281,   282,   283,   284,   285,     0,   286,     0,   287,
7302      288,   289,   290,   291,   292,     0,   293,   294,   295,     0,
7303        0,   296,   297,   298,   299,   300,     0,   301,   302,   303,
7304        0,   304,   305,   306,     0,   307,   308,   309,   310,   311,
7305      312,   313,   314,   315,     0,  2791,     0,   317,   318,   319,
7306      320,     0,   321,     0,   322,     0,     0,     0,   323,   324,
7307      325,     0,   326,   327,     0,   328,   329,     0,   330,   331,
7308      332,   333,   334,     0,   335,   336,   337,   338,     0,   339,
7309      340,   341,   342,   343,   344,     0,   345,     0,   346,   347,
7310      348,   349,   350,   351,   352,     0,   353,     0,   354,     0,
7311        0,   355,     0,   356,   357,   358,   359,   360,     0,     0,
7312      361,   362,     0,   363,     0,     0,   364,   365,   366,     0,
7313        0,   367,   368,   369,   370,   371,   372,   373,   374,   375,
7314      376,   377,   378,   379,   380,   381,   382,   383,     0,   384,
7315      385,   386,   387,     0,   388,   389,     0,   390,     0,   391,
7316      392,   393,   394,   395,   396,     0,   397,     0,     0,   398,
7317      399,   400,     0,     0,   401,   402,     0,   403,     0,   404,
7318      405,   406,   407,   408,   409,   410,   411,   412,     0,   413,
7319      414,   415,   416,   417,   418,   419,   420,     0,   421,   422,
7320      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
7321      433,     0,   434,   435,   436,   437,   438,   439,   440,   441,
7322      442,   443,   444,     0,   445,   446,     0,   447,   448,   449,
7323      450,   451,   452,   453,   454,   455,   456,   457,   458,     0,
7324      459,   460,   461,   462,   463,     0,   464,   465,   466,   467,
7325      468,     0,   469,   470,   471,   472,     0,   473,   474,   475,
7326      476,   477,   478,   479,   480,   481,   482,   483,   484,     0,
7327      485,   486,     0,   487,     0,   488,   489,   490,   491,   492,
7328        0,   493,   494,     0,     0,   495,   496,   497,   498,   499,
7329        0,   500,   501,   502,   503,   504,   505,   506,     0,     0,
7330      507,   508,   509,   510,   511,     0,     0,   512,   513,   514,
7331      515,   516,   517,   518,     0,   519,     0,   520,   521,   522,
7332      523,     0,     0,   524,     0,     0,   525,   526,   527,   528,
7333      529,   530,   531,   532,   533,   534,   535,   536,   537,   538,
7334      539,   540,   541,   542,     0,   222,     0,   843,   844,   845,
7335      837,   846,   847,   848,   849,   850,   851,   838,   839,   840,
7336      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
7337      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
7338      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
7339        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
7340        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
7341      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
7342      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
7343        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
7344        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
7345      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
7346        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
7347      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
7348      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
7349      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
7350        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
7351      328,   329,     0,   330,   331,   332,   333,   334,     0,   335,
7352      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
7353        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
7354        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
7355      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
7356        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
7357      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
7358      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
7359      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
7360        0,   397,     0,     0,  4511,   399,   400,     0,     0,   401,
7361      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
7362      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
7363      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
7364      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
7365      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
7366      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
7367      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
7368        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
7369      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
7370      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
7371      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
7372      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
7373      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
7374        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
7375      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
7376        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
7377      534,   535,   536,   537,   538,   539,   540,   541,   542,  1870,
7378        0,     0,   843,   844,   845,     0,   846,   847,   848,   849,
7379      850,   851,     0,     0,   223,   224,   225,   226,   227,   228,
7380      229,   230,  1871,   232,   233,   234,  1872,  1873,  1874,  1875,
7381     1876,  1877,  1878,   235,   236,  1879,   237,   238,   780,   239,
7382      240,   241,   242,   243,   781,   244,   245,  1880,   246,   247,
7383      248,   249,   250,  1881,  1882,   251,   252,   253,   254,   255,
7384     1883,   256,   257,   258,   259,   260,  1884,   782,  1885,   261,
7385      262,   263,   264,   783,   265,   266,   267,  1886,   268,   269,
7386      270,   271,   272,   273,  1887,   784,   274,   275,   276,  1888,
7387     1889,  1890,   785,  1891,  1892,  1893,   277,   278,   279,   280,
7388      281,   282,   283,   284,   285,  1894,   286,  1895,   287,   288,
7389      289,   290,   291,   292,  1896,   293,   294,   295,  1897,  1898,
7390      296,   297,   298,   299,   300,  1899,   301,   302,   303,  1900,
7391      304,   305,   306,  1901,   307,   308,   309,   310,   311,   312,
7392      313,   314,   315,  1902,   316,  1903,   317,   318,   319,   320,
7393     1904,   321,  1905,   322,   786,  1906,   787,   323,   324,   325,
7394     1907,   326,   327,  1908,   328,   329,  1909,   330,   331,   332,
7395      333,   334,   788,   335,   336,   337,   338,  1910,   339,   340,
7396      341,   342,   343,   344,  1911,   345,   789,   346,   347,   348,
7397      349,   350,   351,   352,  1912,   353,  1913,   354,   790,   791,
7398      355,   792,   356,   357,   358,   359,   360,  1914,  1915,   361,
7399      362,   793,   363,   794,  1916,   364,   365,   366,  1917,  1918,
7400      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
7401      377,   378,   379,   380,   381,   382,   383,   795,   384,   385,
7402      386,   387,  1919,   388,   389,   796,   390,  1920,   391,   392,
7403      393,   394,   395,   396,  1921,   397,  1922,  1923,   398,   399,
7404      400,  1924,  1925,   401,   402,   797,   403,   798,   404,   405,
7405      406,   407,   408,   409,   410,   411,   412,  1926,   413,   414,
7406      415,   416,   417,   418,   419,   420,  1927,   421,   422,   423,
7407      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
7408     1928,   434,   435,   436,   437,   438,   439,   440,   441,   442,
7409      443,   444,  1929,   445,   446,   799,   447,   448,   449,   450,
7410      451,   452,   453,   454,   455,   456,   457,   458,  1930,   459,
7411      460,   461,   462,   463,  1931,   464,   465,   466,   467,   468,
7412      800,   469,   470,   471,   472,  1932,   473,   474,   475,   476,
7413      477,   478,   479,   480,   481,   482,   483,   484,  1933,   485,
7414      486,  1934,   487,   801,   488,   489,   490,   491,   492,  1935,
7415      493,   494,  1936,  1937,   495,   496,   497,   498,   499,  1938,
7416      500,   501,   502,   503,   504,   505,   506,  1939,  1940,   507,
7417      508,   509,   510,   511,  1941,  1942,   512,   513,   514,   515,
7418      516,   517,   518,  1943,   519,   802,   520,   521,   522,   523,
7419     1944,  1945,   524,  1946,  1947,   525,   526,   527,   528,   529,
7420      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
7421      540,   541,   542,   222,     0,     0,     0,     0,     0,     0,
7422        0,     0,  1948,     0,     0,     0,     0,     0,   223,   224,
7423      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
7424        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
7425      237,   238,     0,   239,   240,   241,   242,   243,     0,   244,
7426      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
7427      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
7428        0,     0,     0,   261,   262,   263,   264,     0,   265,   266,
7429      267,     0,   268,   269,   270,   271,   272,   273,     0,     0,
7430      274,   275,   276,     0,     0,     0,     0,     0,     0,     0,
7431      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
7432      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
7433      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
7434      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
7435      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
7436      317,   318,   319,   320,     0,   321,     0,   322,     0,     0,
7437        0,   323,   324,   325,     0,   326,   327,     0,   328,   329,
7438        0,   330,   331,   332,   333,   334,     0,   335,   336,   337,
7439      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
7440        0,   346,   347,   348,   349,   350,   351,   352,     0,   353,
7441        0,   354,     0,     0,   355,     0,   356,   357,   358,   359,
7442      360,     0,     0,   361,   362,     0,   363,     0,     0,   364,
7443      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
7444      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
7445      383,     0,   384,   385,   386,   387,     0,   388,   389,     0,
7446      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
7447        0,     0,   398,   399,   400,     0,     0,   401,   402,     0,
7448      403,     0,   404,   405,   406,   407,   408,   409,   410,   411,
7449      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
7450        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
7451      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
7452      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
7453      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
7454      457,   458,     0,   459,   460,   461,   462,   463,     0,   464,
7455      465,   466,   467,   468,     0,   469,   470,   471,   472,     0,
7456      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
7457      483,   484,     0,   485,   486,     0,   487,     0,   488,   489,
7458      490,   491,   492,     0,   493,   494,     0,     0,   495,   496,
7459      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
7460      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
7461      512,   513,   514,   515,   516,   517,   518,     0,   519,     0,
7462      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
7463      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
7464      536,   537,   538,   539,   540,   541,   542,   993,     0,     0,
7465        0,     0,     0,     0,     0,     0,   748,     0,     0,     0,
7466        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
7467        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
7468        0,   235,   236,     0,   237,   238,   780,   239,   240,   241,
7469        0,   994,   781,   995,   996,     0,   246,   247,   248,   249,
7470      250,     0,     0,   251,   252,   997,   998,   255,     0,   256,
7471      257,   258,   259,     0,     0,   782,     0,   261,   262,   263,
7472      264,   783,   265,   266,   267,     0,   268,   269,   270,   271,
7473      272,   273,     0,   784,   274,   275,   276,     0,     0,     0,
7474      785,     0,     0,     0,   277,   278,   279,   280,   281,   282,
7475      999,  1000,   285,     0,   286,     0,   287,   288,   289,   290,
7476      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
7477     1001,   299,   300,     0,   301,   302,   303,     0,   304,   305,
7478      306,     0,   307,   308,   309,   310,     0,   312,   313,   314,
7479        0,     0,   316,     0,   317,   318,  1002,   320,     0,   321,
7480        0,   322,   786,     0,   787,   323,   324,   325,     0,   326,
7481        0,     0,     0,   329,     0,   330,   331,   332,   333,   334,
7482      788,   335,   336,   337,   338,  2010,   339,   340,   341,   342,
7483      343,   344,     0,   345,   789,  2011,   347,   348,   349,   350,
7484     1004,  1005,     0,  1006,     0,   354,   790,   791,   355,   792,
7485      356,   357,   358,   359,   360,     0,     0,   361,     0,   793,
7486      363,   794,     0,   364,   365,   366,     0,     0,   367,   368,
7487      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
7488      379,   380,   381,   382,  1007,   795,  1008,   385,   386,     0,
7489        0,   388,   389,   796,   390,     0,     0,   392,  1009,   394,
7490      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
7491     2012,   401,  2013,   797,   403,   798,     0,   405,   406,   407,
7492      408,   409,   410,   411,   412,     0,   413,   414,     0,   416,
7493        0,   418,   419,   420,     0,   421,   422,   423,   424,   425,
7494      426,   427,   428,  1010,   430,   431,   432,   433,     0,   434,
7495      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
7496        0,   445,   446,   799,   447,   448,   449,     0,   451,   452,
7497      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
7498      462,   463,     0,   464,   465,  2014,   467,   468,   800,   469,
7499      470,  1012,   472,     0,   473,   474,   475,   476,   477,   478,
7500      479,   480,   481,   482,   483,     0,     0,   485,   486,     0,
7501      487,   801,   488,   489,   490,   491,   492,     0,  1013,  1014,
7502        0,     0,   495,   496,     0,   498,     0,     0,   500,   501,
7503      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
7504      510,   511,     0,     0,   512,   513,   514,   515,   516,     0,
7505     1015,  2015,   519,   802,   520,   521,   522,   523,     0,     0,
7506      524,     0,     0,   525,   526,   527,   528,   529,   530,     0,
7507        0,     0,     0,     0,     0,     0,  2288,     0,   540,   541,
7508      542,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7509     2016,   223,   224,   225,   226,   227,   228,   229,   230,     0,
7510      232,   233,   234,     0,     0,     0,     0,     0,     0,     0,
7511      235,   236,     0,   237,   238,   780,   239,   240,   241,     0,
7512      994,   781,   995,   996,     0,   246,   247,   248,   249,   250,
7513        0,     0,   251,   252,   997,   998,   255,     0,   256,   257,
7514      258,   259,     0,     0,   782,     0,   261,   262,   263,   264,
7515      783,   265,   266,   267,     0,   268,   269,   270,   271,   272,
7516      273,     0,   784,   274,   275,   276,     0,     0,     0,   785,
7517        0,     0,     0,   277,   278,   279,   280,   281,   282,   999,
7518     1000,   285,     0,   286,     0,   287,   288,   289,   290,   291,
7519      292,     0,   293,   294,   295,     0,     0,   296,   297,  1001,
7520      299,   300,     0,   301,   302,   303,     0,   304,   305,   306,
7521        0,   307,   308,   309,   310,     0,   312,   313,   314,     0,
7522        0,   316,     0,   317,   318,  1002,   320,     0,   321,     0,
7523      322,   786,     0,   787,   323,   324,   325,     0,   326,     0,
7524        0,     0,   329,     0,   330,   331,   332,   333,   334,   788,
7525      335,   336,   337,   338,  2010,   339,   340,   341,   342,   343,
7526      344,     0,   345,   789,  2011,   347,   348,   349,   350,  1004,
7527     1005,     0,  1006,     0,   354,   790,   791,   355,   792,   356,
7528      357,   358,   359,   360,     0,     0,   361,     0,   793,   363,
7529      794,     0,   364,   365,   366,     0,     0,   367,   368,   369,
7530      370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
7531      380,   381,   382,  1007,   795,  1008,   385,   386,     0,     0,
7532      388,   389,   796,   390,     0,     0,   392,  1009,   394,   395,
7533      396,     0,   397,     0,     0,   398,   399,   400,     0,  2012,
7534      401,  2013,   797,   403,   798,     0,   405,   406,   407,   408,
7535      409,   410,   411,   412,     0,   413,   414,     0,   416,     0,
7536      418,   419,   420,     0,   421,   422,   423,   424,   425,   426,
7537      427,   428,  1010,   430,   431,   432,   433,     0,   434,   435,
7538      436,   437,   438,   439,   440,   441,   442,   443,   444,     0,
7539      445,   446,   799,   447,   448,   449,     0,   451,   452,   453,
7540      454,   455,   456,   457,   458,     0,   459,   460,   461,   462,
7541      463,     0,   464,   465,  2014,   467,   468,   800,   469,   470,
7542     1012,   472,     0,   473,   474,   475,   476,   477,   478,   479,
7543      480,   481,   482,   483,     0,     0,   485,   486,     0,   487,
7544      801,   488,   489,   490,   491,   492,     0,  1013,  1014,     0,
7545        0,   495,   496,     0,   498,     0,     0,   500,   501,   502,
7546      503,   504,   505,   506,     0,     0,   507,   508,   509,   510,
7547      511,     0,     0,   512,   513,   514,   515,   516,     0,  1015,
7548     2015,   519,   802,   520,   521,   522,   523,     0,     0,   524,
7549        0,     0,   525,   526,   527,   528,   529,   530,     0,     0,
7550        0,     0,     0,     0,     0,   222,     0,   540,   541,   542,
7551        0,     0,     0,     0,     0,     0,     0,     0,     0,  2016,
7552      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
7553      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
7554      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
7555        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
7556        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
7557      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
7558      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
7559        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
7560        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
7561      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
7562        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
7563      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
7564      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
7565      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
7566        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
7567      328,   329,     0,   330,   331,   332,   333,   334,     0,   335,
7568      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
7569        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
7570        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
7571      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
7572        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
7573      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
7574      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
7575      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
7576        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
7577      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
7578      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
7579      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
7580      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
7581      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
7582      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
7583      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
7584        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
7585      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
7586      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
7587      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
7588      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
7589      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
7590        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
7591      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
7592        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
7593      534,   535,   536,   537,   538,   539,   540,   541,   542,   823,
7594     1412,   600,     0,     0,     0,   654,     0,     0,  4835,     0,
7595        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
7596      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
7597        0,     0,     0,   235,   236,     0,   237,   238,   780,   239,
7598      240,   241,   242,   243,   781,   244,   245,     0,   246,   247,
7599      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
7600        0,   256,   257,   258,   259,   260,     0,   782,     0,   261,
7601      262,   263,   264,   783,   265,   266,   267,     0,   268,   269,
7602      270,   271,   272,   273,     0,   784,   274,   275,   276,     0,
7603        0,     0,   785,     0,     0,     0,   277,   278,   279,   280,
7604      281,   282,   283,   284,   285,  1859,   286,     0,   287,   288,
7605      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
7606      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
7607      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
7608      313,   314,   315,  1683,   316,     0,   317,   318,   319,   320,
7609        0,   321,     0,   322,   786,     0,   787,   323,   324,   325,
7610        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
7611      333,   334,   788,   335,   336,   337,   338,     0,   339,   340,
7612      341,   342,   343,   344,     0,   345,   789,   346,   347,   348,
7613      349,   350,   351,   352,     0,   353,     0,   354,   790,   791,
7614      355,   792,   356,   357,   358,   359,   360,     0,     0,   361,
7615      362,   793,   363,   794,     0,   364,   365,   366,     0,     0,
7616      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
7617      377,   378,   379,   380,   381,   382,   383,   795,   384,   385,
7618      386,   387,     0,   388,   389,   796,   390,     0,   391,   392,
7619      393,   394,   395,   396,     0,   397,  1684,     0,   398,   399,
7620      400,     0,     0,   401,   402,   797,   403,   798,   404,   405,
7621      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
7622      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
7623      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
7624        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
7625      443,   444,     0,   445,   446,   799,   447,   448,   449,   450,
7626      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
7627      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
7628      800,   469,   470,   471,   472,     0,   473,   474,   475,   476,
7629      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
7630      486,     0,   487,   801,   488,   489,   490,   491,   492,     0,
7631      493,   494,     0,     0,   495,   496,   497,   498,   499,  1685,
7632      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
7633      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
7634      516,   517,   518,     0,   519,   802,   520,   521,   522,   523,
7635        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
7636      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
7637      540,   541,   542,   823,  1412,   600,     0,     0,     0,   654,
7638     1413,  1414,     0,     0,     0,     0,     0,     0,   223,   224,
7639      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
7640        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
7641      237,   238,   780,   239,   240,   241,   242,   243,   781,   244,
7642      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
7643      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
7644        0,   782,     0,   261,   262,   263,   264,   783,   265,   266,
7645      267,     0,   268,   269,   270,   271,   272,   273,     0,   784,
7646      274,   275,   276,     0,     0,     0,   785,     0,     0,     0,
7647      277,   278,   279,   280,   281,   282,   283,   284,   285,  1864,
7648      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
7649      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
7650      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
7651      309,   310,   311,   312,   313,   314,   315,  1683,   316,     0,
7652      317,   318,   319,   320,     0,   321,     0,   322,   786,     0,
7653      787,   323,   324,   325,     0,   326,   327,     0,   328,   329,
7654        0,   330,   331,   332,   333,   334,   788,   335,   336,   337,
7655      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
7656      789,   346,   347,   348,   349,   350,   351,   352,     0,   353,
7657        0,   354,   790,   791,   355,   792,   356,   357,   358,   359,
7658      360,     0,     0,   361,   362,   793,   363,   794,     0,   364,
7659      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
7660      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
7661      383,   795,   384,   385,   386,   387,     0,   388,   389,   796,
7662      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
7663     1684,     0,   398,   399,   400,     0,     0,   401,   402,   797,
7664      403,   798,   404,   405,   406,   407,   408,   409,   410,   411,
7665      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
7666        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
7667      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
7668      439,   440,   441,   442,   443,   444,     0,   445,   446,   799,
7669      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
7670      457,   458,     0,   459,   460,   461,   462,   463,     0,   464,
7671      465,   466,   467,   468,   800,   469,   470,   471,   472,     0,
7672      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
7673      483,   484,     0,   485,   486,     0,   487,   801,   488,   489,
7674      490,   491,   492,     0,   493,   494,     0,     0,   495,   496,
7675      497,   498,   499,  1685,   500,   501,   502,   503,   504,   505,
7676      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
7677      512,   513,   514,   515,   516,   517,   518,     0,   519,   802,
7678      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
7679      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
7680      536,   537,   538,   539,   540,   541,   542,   823,  1412,   600,
7681        0,     0,     0,   654,  1413,  1414,     0,     0,     0,     0,
7682        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
7683        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
7684        0,   235,   236,     0,   237,   238,   780,   239,   240,   241,
7685      242,   243,   781,   244,   245,     0,   246,   247,   248,   249,
7686      250,     0,     0,   251,   252,   253,   254,   255,     0,   256,
7687      257,   258,   259,   260,     0,   782,     0,   261,   262,   263,
7688      264,   783,   265,   266,   267,     0,   268,   269,   270,   271,
7689      272,   273,     0,   784,   274,   275,   276,     0,     0,     0,
7690      785,     0,     0,     0,   277,   278,   279,   280,   281,   282,
7691      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
7692      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
7693      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
7694      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
7695      315,  1683,   316,     0,   317,   318,   319,   320,     0,   321,
7696        0,   322,   786,     0,   787,   323,   324,   325,     0,   326,
7697      327,     0,   328,   329,     0,   330,   331,   332,   333,   334,
7698      788,   335,   336,   337,   338,     0,   339,   340,   341,   342,
7699      343,   344,     0,   345,   789,   346,   347,   348,   349,   350,
7700      351,   352,     0,   353,     0,   354,   790,   791,   355,   792,
7701      356,   357,   358,   359,   360,     0,     0,   361,   362,   793,
7702      363,   794,     0,   364,   365,   366,     0,     0,   367,   368,
7703      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
7704      379,   380,   381,   382,   383,   795,   384,   385,   386,   387,
7705        0,   388,   389,   796,   390,     0,   391,   392,   393,   394,
7706      395,   396,     0,   397,  1684,     0,   398,   399,   400,     0,
7707        0,   401,   402,   797,   403,   798,   404,   405,   406,   407,
7708      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
7709      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
7710      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
7711      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
7712        0,   445,   446,   799,   447,   448,   449,   450,   451,   452,
7713      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
7714      462,   463,     0,   464,   465,   466,   467,   468,   800,   469,
7715      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
7716      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
7717      487,   801,   488,   489,   490,   491,   492,     0,   493,   494,
7718        0,     0,   495,   496,   497,   498,   499,  1685,   500,   501,
7719      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
7720      510,   511,     0,     0,   512,   513,   514,   515,   516,   517,
7721      518,     0,   519,   802,   520,   521,   522,   523,     0,     0,
7722      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
7723      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
7724      542,   823,     0,   600,     0,     0,     0,   654,  1413,  1414,
7725        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
7726      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
7727        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
7728      780,   239,   240,   241,   242,   243,   781,   244,   245,     0,
7729      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
7730      254,   255,     0,   256,   257,   258,   259,   260,     0,   782,
7731        0,   261,   262,   263,   264,   783,   265,   266,   267,     0,
7732      268,   269,   270,   271,   272,   273,     0,   784,   274,   275,
7733      276,     0,     0,     0,   785,     0,     0,     0,   277,   278,
7734      279,   280,   281,   282,   283,   284,   285,  2744,   286,     0,
7735      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
7736        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
7737      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
7738      311,   312,   313,   314,   315,  1683,   316,     0,   317,   318,
7739      319,   320,     0,   321,     0,   322,   786,     0,   787,   323,
7740      324,   325,     0,   326,   327,     0,   328,   329,     0,   330,
7741      331,   332,   333,   334,   788,   335,   336,   337,   338,     0,
7742      339,   340,   341,   342,   343,   344,     0,   345,   789,   346,
7743      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
7744      790,   791,   355,   792,   356,   357,   358,   359,   360,     0,
7745        0,   361,   362,   793,   363,   794,     0,   364,   365,   366,
7746        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
7747      375,   376,   377,   378,   379,   380,   381,   382,   383,   795,
7748      384,   385,   386,   387,     0,   388,   389,   796,   390,     0,
7749      391,   392,   393,   394,   395,   396,     0,   397,  1684,     0,
7750      398,   399,   400,     0,     0,   401,   402,   797,   403,   798,
7751      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
7752      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
7753      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
7754      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
7755      441,   442,   443,   444,     0,   445,   446,   799,   447,   448,
7756      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
7757        0,   459,   460,   461,   462,   463,     0,   464,   465,   466,
7758      467,   468,   800,   469,   470,   471,   472,     0,   473,   474,
7759      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
7760        0,   485,   486,     0,   487,   801,   488,   489,   490,   491,
7761      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
7762      499,  1685,   500,   501,   502,   503,   504,   505,   506,     0,
7763        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
7764      514,   515,   516,   517,   518,     0,   519,   802,   520,   521,
7765      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
7766      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
7767      538,   539,   540,   541,   542,   222,     0,     0,     0,     0,
7768        0,   654,   666,   667,     0,     0,     0,     0,     0,     0,
7769      223,   655,   225,   226,   227,   228,   229,   230,   656,   232,
7770      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
7771      236,     0,   237,   238,     0,   657,   240,   241,   242,   243,
7772        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
7773        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
7774      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
7775      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
7776        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
7777        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
7778      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
7779        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
7780      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
7781      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
7782      316,     0,   317,   658,   319,   320,     0,   321,     0,   659,
7783        0,   660,     0,   323,   324,   325,     0,   326,   327,     0,
7784      328,   329,     0,   330,   331,   332,   333,   334,     0,   335,
7785      336,   337,   338,   661,   339,   340,   341,   342,   343,   344,
7786        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
7787        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
7788      358,   359,   662,     0,     0,   361,   362,     0,   363,     0,
7789        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
7790      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
7791      381,   382,   383,     0,   384,   663,   386,   387,     0,   388,
7792      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
7793        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
7794      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
7795      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
7796      419,   420,     0,   664,   422,   423,   424,   425,   426,   427,
7797      428,   429,   430,   431,   432,   433,     0,   434,   435,   665,
7798      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
7799      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
7800      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
7801        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
7802      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
7803      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
7804      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
7805      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
7806      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
7807        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
7808      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
7809        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
7810      534,   535,   536,   537,   538,   539,   540,   541,   542,  1870,
7811     4958,   600,     0,     0,     0,   654,   666,   667,     0,     0,
7812        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
7813      229,   230,  1871,   232,   233,   234,  1872,  1873,  1874,  1875,
7814     1876,  1877,  1878,   235,   236,  1879,   237,   238,   780,   239,
7815      240,   241,   242,   243,   781,   244,   245,  1880,   246,   247,
7816      248,   249,   250,  1881,  1882,   251,   252,   253,   254,   255,
7817     1883,   256,   257,   258,   259,   260,  1884,   782,  1885,   261,
7818      262,   263,   264,   783,   265,   266,   267,  1886,   268,   269,
7819      270,   271,   272,   273,  1887,   784,   274,   275,   276,  1888,
7820     1889,  1890,   785,  1891,  1892,  1893,   277,   278,   279,   280,
7821      281,   282,   283,   284,   285,  1894,   286,  1895,   287,   288,
7822      289,   290,   291,   292,  1896,   293,   294,   295,  1897,  1898,
7823      296,   297,   298,   299,   300,  1899,   301,   302,   303,  1900,
7824      304,   305,   306,  1901,   307,   308,   309,   310,   311,   312,
7825      313,   314,   315,  1902,   316,  1903,   317,   318,   319,   320,
7826     1904,   321,  1905,   322,   786,  1906,   787,   323,   324,   325,
7827     1907,   326,   327,  1908,   328,   329,  1909,   330,   331,   332,
7828      333,   334,   788,   335,   336,   337,   338,  1910,   339,   340,
7829      341,   342,   343,   344,  1911,   345,   789,   346,   347,   348,
7830      349,   350,   351,   352,  1912,   353,  1913,   354,   790,   791,
7831      355,   792,   356,   357,   358,   359,   360,  1914,  1915,   361,
7832      362,   793,   363,   794,  1916,   364,   365,   366,  1917,  1918,
7833      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
7834      377,   378,   379,   380,   381,   382,   383,   795,   384,   385,
7835      386,   387,  1919,   388,   389,   796,   390,  1920,   391,   392,
7836      393,   394,   395,   396,  1921,   397,  1922,  1923,   398,   399,
7837      400,  1924,  1925,   401,   402,   797,   403,   798,   404,   405,
7838      406,   407,   408,   409,   410,   411,   412,  1926,   413,   414,
7839      415,   416,   417,   418,   419,   420,  1927,   421,   422,   423,
7840      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
7841     1928,   434,   435,   436,   437,   438,   439,   440,   441,   442,
7842      443,   444,  1929,   445,   446,   799,   447,   448,   449,   450,
7843      451,   452,   453,   454,   455,   456,   457,   458,  1930,   459,
7844      460,   461,   462,   463,  1931,   464,   465,   466,   467,   468,
7845      800,   469,   470,   471,   472,  1932,   473,   474,   475,   476,
7846      477,   478,   479,   480,   481,   482,   483,   484,  1933,   485,
7847      486,  1934,   487,   801,   488,   489,   490,   491,   492,  1935,
7848      493,   494,  1936,  1937,   495,   496,   497,   498,   499,  1938,
7849      500,   501,   502,   503,   504,   505,   506,  1939,  1940,   507,
7850      508,   509,   510,   511,  1941,  1942,   512,   513,   514,   515,
7851      516,   517,   518,  1943,   519,   802,   520,   521,   522,   523,
7852     1944,  1945,   524,  1946,  1947,   525,   526,   527,   528,   529,
7853      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
7854      540,   541,   542,  1870,     0,     0,     0,     0,     0,     0,
7855        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
7856      225,   226,   227,   228,   229,   230,  1871,   232,   233,   234,
7857     1872,  1873,  1874,  1875,  1876,  1877,  1878,   235,   236,  1879,
7858      237,   238,   780,   239,   240,   241,   242,   243,   781,   244,
7859      245,  1880,   246,   247,   248,   249,   250,  1881,  1882,   251,
7860      252,   253,   254,   255,  1883,   256,   257,   258,   259,   260,
7861     1884,   782,  1885,   261,   262,   263,   264,   783,   265,   266,
7862      267,  1886,   268,   269,   270,   271,   272,   273,  1887,   784,
7863      274,   275,   276,  1888,  1889,  1890,   785,  1891,  1892,  1893,
7864      277,   278,   279,   280,   281,   282,   283,   284,   285,  1894,
7865      286,  1895,   287,   288,   289,   290,   291,   292,  1896,   293,
7866      294,   295,  1897,  1898,   296,   297,   298,   299,   300,  1899,
7867      301,   302,   303,  1900,   304,   305,   306,  1901,   307,   308,
7868      309,   310,   311,   312,   313,   314,   315,  1902,   316,  1903,
7869      317,   318,   319,   320,  1904,   321,  1905,   322,   786,  1906,
7870      787,   323,   324,   325,  1907,   326,   327,  1908,   328,   329,
7871     1909,   330,   331,   332,   333,   334,   788,   335,   336,   337,
7872      338,  1910,   339,   340,   341,   342,   343,   344,  1911,   345,
7873      789,   346,   347,   348,   349,   350,   351,   352,  1912,   353,
7874     1913,   354,   790,   791,   355,   792,   356,   357,   358,   359,
7875      360,  1914,  1915,   361,   362,   793,   363,   794,  1916,   364,
7876      365,   366,  1917,  1918,   367,   368,   369,   370,   371,   372,
7877      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
7878      383,   795,   384,   385,   386,   387,  1919,   388,   389,   796,
7879      390,  1920,   391,   392,   393,   394,   395,   396,  1921,   397,
7880     1922,  1923,   398,   399,   400,  1924,  1925,   401,   402,   797,
7881      403,   798,   404,   405,   406,   407,   408,   409,   410,   411,
7882      412,  1926,   413,   414,   415,   416,   417,   418,   419,   420,
7883     1927,   421,   422,   423,   424,   425,   426,   427,   428,   429,
7884      430,   431,   432,   433,  1928,   434,   435,   436,   437,   438,
7885      439,   440,   441,   442,   443,   444,  1929,   445,   446,   799,
7886      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
7887      457,   458,  1930,   459,   460,   461,   462,   463,  1931,   464,
7888      465,   466,   467,   468,   800,   469,   470,   471,   472,  1932,
7889      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
7890      483,   484,  1933,   485,   486,  1934,   487,   801,   488,   489,
7891      490,   491,   492,  1935,   493,   494,  1936,  1937,   495,   496,
7892      497,   498,   499,  1938,   500,   501,   502,   503,   504,   505,
7893      506,  1939,  1940,   507,   508,   509,   510,   511,  1941,  1942,
7894      512,   513,   514,   515,   516,   517,   518,  1943,   519,   802,
7895      520,   521,   522,   523,  1944,  1945,   524,  1946,  1947,   525,
7896      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
7897      536,   537,   538,   539,   540,   541,   542,  1870,     0,     0,
7898        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7899        0,     0,   223,   224,   225,   226,  2858,   228,   229,   230,
7900     1871,   232,   233,   234,  1872,  1873,  1874,  1875,  1876,  1877,
7901     1878,   235,   236,  1879,   237,   238,   780,   239,   240,   241,
7902      242,   243,   781,   244,   245,  1880,   246,   247,   248,   249,
7903      250,  1881,  1882,   251,   252,   253,   254,   255,  1883,   256,
7904      257,   258,   259,   260,  1884,   782,  1885,   261,   262,   263,
7905      264,   783,   265,   266,   267,  1886,   268,   269,   270,   271,
7906      272,   273,  1887,   784,   274,   275,   276,  1888,  1889,  1890,
7907      785,  1891,  1892,  1893,   277,   278,   279,   280,   281,   282,
7908      283,   284,   285,  1894,   286,  1895,   287,   288,   289,   290,
7909      291,   292,  1896,   293,   294,   295,  1897,  1898,   296,   297,
7910      298,  2859,   300,  1899,   301,   302,   303,  1900,   304,   305,
7911      306,  1901,   307,   308,   309,   310,   311,   312,   313,   314,
7912      315,  1902,   316,  1903,   317,   318,   319,   320,  1904,   321,
7913     1905,   322,   786,  1906,   787,   323,   324,   325,  1907,   326,
7914      327,  1908,   328,   329,  1909,   330,   331,   332,   333,   334,
7915      788,   335,   336,   337,   338,  1910,   339,   340,   341,   342,
7916      343,   344,  1911,   345,   789,   346,   347,   348,   349,   350,
7917      351,   352,  1912,   353,  1913,   354,   790,   791,   355,   792,
7918      356,   357,   358,   359,   360,  1914,  1915,   361,   362,   793,
7919      363,   794,  1916,   364,   365,   366,  1917,  1918,   367,   368,
7920      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
7921      379,   380,   381,   382,   383,   795,   384,   385,   386,   387,
7922     1919,   388,   389,   796,   390,  1920,   391,   392,   393,   394,
7923      395,   396,  1921,   397,  1922,  1923,   398,   399,   400,  1924,
7924     1925,   401,   402,   797,   403,   798,   404,   405,   406,   407,
7925      408,   409,   410,   411,   412,  1926,   413,   414,   415,   416,
7926      417,   418,   419,   420,  1927,   421,   422,   423,   424,   425,
7927      426,   427,   428,   429,   430,   431,   432,   433,  1928,   434,
7928      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
7929     1929,   445,   446,   799,   447,   448,   449,   450,   451,   452,
7930      453,   454,   455,   456,   457,   458,  1930,   459,   460,   461,
7931      462,   463,  1931,  2860,   465,   466,   467,   468,   800,   469,
7932      470,   471,   472,  1932,   473,   474,   475,   476,   477,   478,
7933      479,   480,   481,   482,   483,   484,  1933,   485,   486,  1934,
7934      487,   801,   488,   489,   490,   491,   492,  1935,   493,   494,
7935     1936,  1937,   495,   496,   497,   498,   499,  1938,   500,   501,
7936      502,   503,   504,   505,   506,  1939,  1940,   507,   508,   509,
7937      510,   511,  1941,  1942,   512,   513,   514,   515,   516,   517,
7938      518,  1943,   519,   802,   520,   521,   522,   523,  1944,  1945,
7939      524,  1946,  1947,   525,   526,   527,   528,   529,   530,   531,
7940      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
7941      542,   779,     0,     0,     0,     0,     0,     0,     0,     0,
7942        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
7943      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
7944        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
7945      780,   239,   240,   241,   242,   243,   781,   244,   245,     0,
7946      246,   247,   248,   249,   250,     0,  1148,   251,   252,   253,
7947      254,   255,     0,   256,   257,   258,   259,  1151,     0,  1152,
7948        0,   261,   262,   263,   264,   783,   265,   266,   267,     0,
7949      268,   269,   270,   271,   272,   273,     0,   784,   274,   275,
7950      276,  1153,  1154,  1155,  1156,  1157,  1158,  1159,   277,   278,
7951      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
7952      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
7953        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
7954      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
7955      311,   312,   313,   314,  1163,     0,   316,     0,   317,   318,
7956      319,   320,     0,   321,     0,   322,   786,     0,   787,   323,
7957      324,   325,     0,   326,  1166,     0,   328,   329,     0,   330,
7958      331,   332,   333,   334,   788,   335,   336,   337,   338,     0,
7959      339,   340,   341,   342,   343,   344,     0,   345,   789,   346,
7960      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
7961      790,   791,   355,   792,   356,   357,   358,   359,   360,     0,
7962        0,   361,  1171,   793,   363,   794,     0,   364,   365,   366,
7963     1172,  1173,   367,   368,   369,   370,   371,   372,   373,   374,
7964      375,   376,   377,   378,   379,   380,   381,   382,   383,   795,
7965      384,   385,   386,   387,     0,   388,   389,   796,   390,     0,
7966     1178,   392,   393,   394,   395,   396,     0,   397,     0,     0,
7967      398,   399,   400,     0,     0,   401,   402,   797,   403,   798,
7968     1181,   405,   406,   407,   408,   409,   410,   411,   412,     0,
7969      413,   414,  1182,   416,   417,   418,   419,   420,     0,   421,
7970      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
7971      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
7972      441,   442,   443,   444,     0,   445,   446,   799,   447,   448,
7973      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
7974        0,   459,   460,   461,   462,   463,  1185,   464,   465,   466,
7975      467,   468,   800,   469,   470,   471,   472,     0,   473,   474,
7976      475,   476,   477,   478,   479,   480,   481,   482,   483,  1187,
7977        0,   485,   486,     0,   487,   801,   488,   489,   490,   491,
7978      492,     0,   493,   494,     0,     0,   495,   496,  1190,   498,
7979     1191,     0,   500,   501,   502,   503,   504,   505,   506,     0,
7980        0,   507,   508,   509,   510,   511,  1194,     0,   512,   513,
7981      514,   515,   516,   517,   518,     0,   519,   802,   520,   521,
7982      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
7983      528,   529,   530,   531,  1196,  1197,  1198,  1199,  1200,  1201,
7984     1202,  1203,   540,   541,   542,   823,     0,   600,     0,     0,
7985        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7986      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
7987      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
7988      236,     0,   237,   238,   780,   239,   240,   241,   242,   243,
7989      781,   244,   245,     0,   246,   247,   248,   249,   250,     0,
7990        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
7991      259,   260,     0,   782,     0,   261,   262,   263,   264,   783,
7992      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
7993        0,   784,   274,   275,   276,     0,     0,     0,   785,     0,
7994        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
7995      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
7996        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
7997      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
7998      307,   308,   309,   310,   311,   312,   313,   314,   315,  1683,
7999      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
8000      786,     0,   787,   323,   324,   325,     0,   326,   327,     0,
8001      328,   329,     0,   330,   331,   332,   333,   334,   788,   335,
8002      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
8003        0,   345,   789,   346,   347,   348,   349,   350,   351,   352,
8004        0,   353,     0,   354,   790,   791,   355,   792,   356,   357,
8005      358,   359,   360,     0,     0,   361,   362,   793,   363,   794,
8006        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
8007      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
8008      381,   382,   383,   795,   384,   385,   386,   387,     0,   388,
8009      389,   796,   390,     0,   391,   392,   393,   394,   395,   396,
8010        0,   397,  1684,     0,   398,   399,   400,     0,     0,   401,
8011      402,   797,   403,   798,   404,   405,   406,   407,   408,   409,
8012      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
8013      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
8014      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
8015      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
8016      446,   799,   447,   448,   449,   450,   451,   452,   453,   454,
8017      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
8018        0,   464,   465,   466,   467,   468,   800,   469,   470,   471,
8019      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
8020      481,   482,   483,   484,     0,   485,   486,     0,   487,   801,
8021      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
8022      495,   496,   497,   498,   499,  1685,   500,   501,   502,   503,
8023      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
8024        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
8025      519,   802,   520,   521,   522,   523,     0,     0,   524,     0,
8026        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
8027      534,   535,   536,   537,   538,   539,   540,   541,   542,   823,
8028        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8029        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
8030      229,   230,   858,   232,   233,   234,     0,     0,     0,     0,
8031        0,     0,     0,   235,   236,     0,   237,   238,   780,   239,
8032      240,   241,   242,   243,   781,   244,   245,     0,   246,   247,
8033      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
8034        0,   256,   257,   258,   259,   260,     0,   782,     0,   261,
8035      262,   263,   264,   783,   265,   266,   267,     0,   268,   269,
8036      270,   271,   272,   273,     0,   784,   274,   275,   276,     0,
8037        0,     0,   785,     0,     0,   824,   277,   278,   279,   280,
8038      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
8039      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
8040      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
8041      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
8042      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
8043        0,   321,     0,   322,   786,     0,   787,   323,   324,   325,
8044        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
8045      333,   334,   788,   335,   336,   337,   338,     0,   339,   340,
8046      341,   342,   343,   344,     0,   345,   789,   346,   347,   348,
8047      349,   350,   351,   352,     0,   353,     0,   354,   790,   791,
8048      355,   792,   356,   357,   358,   359,   360,     0,     0,   361,
8049      362,   793,   363,   794,     0,   364,   365,   366,     0,     0,
8050      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
8051      377,   378,   379,   380,   381,   382,   383,   795,   384,   385,
8052      386,   387,     0,   388,   389,   796,   390,     0,   391,   392,
8053      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
8054      400,     0,     0,   401,   402,   797,   403,   798,   404,   405,
8055      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
8056      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
8057      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
8058        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
8059      443,   444,     0,   445,   446,   799,   447,   448,   449,   450,
8060      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
8061      460,   461,   462,   463,   825,   464,   465,   466,   467,   468,
8062      800,   469,   470,   471,   472,     0,   473,   474,   475,   476,
8063      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
8064      486,     0,   487,   801,   488,   489,   490,   491,   492,     0,
8065      493,   494,     0,     0,   495,   496,   497,   498,   499,     0,
8066      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
8067      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
8068      516,   517,   518,     0,   519,   802,   520,   521,   522,   523,
8069        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
8070      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
8071      540,   541,   542,   823,     0,     0,     0,     0,     0,     0,
8072        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
8073      225,   226,   227,   228,   229,   230,   875,   232,   233,   234,
8074        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
8075      237,   238,   780,   239,   240,   241,   242,   243,   781,   244,
8076      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
8077      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
8078        0,   782,     0,   261,   262,   263,   264,   783,   265,   266,
8079      267,     0,   268,   269,   270,   271,   272,   273,     0,   784,
8080      274,   275,   276,     0,     0,     0,   785,     0,     0,   824,
8081      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
8082      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
8083      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
8084      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
8085      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
8086      317,   318,   319,   320,     0,   321,     0,   322,   786,     0,
8087      787,   323,   324,   325,     0,   326,   327,     0,   328,   329,
8088        0,   330,   331,   332,   333,   334,   788,   335,   336,   337,
8089      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
8090      789,   346,   347,   348,   349,   350,   351,   352,     0,   353,
8091        0,   354,   790,   791,   355,   792,   356,   357,   358,   359,
8092      360,     0,     0,   361,   362,   793,   363,   794,     0,   364,
8093      365,   366,     0,     0,   367,   368,   369,   370,   876,   372,
8094      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
8095      383,   795,   384,   385,   386,   387,     0,   388,   389,   796,
8096      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
8097        0,     0,   398,   399,   400,     0,     0,   401,   402,   797,
8098      403,   798,   404,   405,   406,   407,   408,   409,   410,   411,
8099      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
8100        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
8101      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
8102      439,   440,   441,   442,   443,   444,     0,   445,   446,   799,
8103      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
8104      457,   458,     0,   459,   460,   461,   462,   463,   825,   464,
8105      465,   466,   467,   468,   800,   469,   470,   471,   472,     0,
8106      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
8107      483,   484,     0,   485,   486,     0,   487,   801,   488,   489,
8108      490,   491,   492,     0,   493,   494,     0,     0,   495,   496,
8109      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
8110      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
8111      512,   513,   514,   515,   516,   517,   518,     0,   519,   802,
8112      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
8113      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
8114      536,   537,   538,   539,   540,   541,   542,   823,     0,     0,
8115        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8116        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
8117        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
8118        0,   235,   236,     0,   237,   238,   780,   239,   240,   241,
8119      242,   243,   781,   244,   245,     0,   246,   247,   248,   249,
8120      250,     0,     0,   251,   252,   253,   254,   255,     0,   256,
8121      257,   258,   259,   260,     0,   782,     0,   261,   262,   263,
8122      264,   783,   265,   266,   267,     0,   268,   269,   270,   271,
8123      272,   273,     0,   784,   274,   275,   276,     0,     0,     0,
8124      785,     0,     0,   824,   277,   278,   279,   280,   281,   282,
8125      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
8126      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
8127      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
8128      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
8129      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
8130        0,   322,   786,     0,   787,   323,   324,   325,     0,   326,
8131      327,     0,   328,   329,     0,   330,   331,   332,   333,   334,
8132      788,   335,   336,   337,   338,     0,   339,   340,   341,   342,
8133      343,   344,     0,   345,   789,   346,   347,   348,   349,   350,
8134      351,   352,     0,   353,     0,   354,   790,   791,   355,   792,
8135      356,   357,   358,   359,   360,     0,     0,   361,   362,   793,
8136      363,   794,     0,   364,   365,   366,     0,     0,   367,   368,
8137      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
8138      379,   380,   381,   382,   383,   795,   384,   385,   386,   387,
8139        0,   388,   389,   796,   390,     0,   391,   392,   393,   394,
8140      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
8141        0,   401,   402,   797,   403,   798,   404,   405,   406,   407,
8142      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
8143      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
8144      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
8145      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
8146        0,   445,   446,   799,   447,   448,   449,   450,   451,   452,
8147      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
8148      462,   463,   825,   464,   465,   466,   467,   468,   800,   469,
8149      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
8150      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
8151      487,   801,   488,   489,   490,   491,   492,     0,   493,   494,
8152        0,     0,   495,   496,   497,   498,   499,     0,   500,   501,
8153      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
8154      510,   511,  2243,     0,   512,   513,   514,   515,   516,   517,
8155      518,     0,   519,   802,   520,   521,   522,   523,     0,     0,
8156      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
8157      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
8158      542,   823,     0,     0,     0,     0,     0,     0,     0,     0,
8159        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
8160      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
8161        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
8162      780,   239,   240,   241,   242,   243,   781,   244,   245,     0,
8163      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
8164      254,   255,     0,   256,   257,   258,   259,   260,     0,   782,
8165        0,   261,   262,   263,   264,   783,   265,   266,   267,     0,
8166      268,   269,   270,   271,   272,   273,     0,   784,   274,   275,
8167      276,     0,     0,     0,   785,     0,     0,   824,   277,   278,
8168      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
8169      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
8170        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
8171      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
8172      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
8173      319,   320,     0,   321,     0,   322,   786,     0,   787,   323,
8174      324,   325,     0,   326,   327,  3161,   328,   329,     0,   330,
8175      331,   332,   333,   334,   788,   335,   336,   337,   338,     0,
8176      339,   340,   341,   342,   343,   344,     0,   345,   789,   346,
8177      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
8178      790,   791,   355,   792,   356,   357,   358,   359,   360,     0,
8179        0,   361,   362,   793,   363,   794,     0,   364,   365,   366,
8180        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
8181      375,   376,   377,   378,   379,   380,   381,   382,   383,   795,
8182      384,   385,   386,   387,     0,   388,   389,   796,   390,     0,
8183      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
8184      398,   399,   400,     0,     0,   401,   402,   797,   403,   798,
8185      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
8186      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
8187      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
8188      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
8189      441,   442,   443,   444,     0,   445,   446,   799,   447,   448,
8190      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
8191        0,   459,   460,   461,   462,   463,   825,   464,   465,   466,
8192      467,   468,   800,   469,   470,   471,   472,     0,   473,   474,
8193      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
8194        0,   485,   486,     0,   487,   801,   488,   489,   490,   491,
8195      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
8196      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
8197        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
8198      514,   515,   516,   517,   518,     0,   519,   802,   520,   521,
8199      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
8200      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
8201      538,   539,   540,   541,   542,   823,     0,     0,     0,     0,
8202        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8203      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
8204      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
8205      236,     0,   237,   238,   780,   239,   240,   241,   242,   243,
8206      781,   244,   245,     0,   246,   247,   248,   249,   250,     0,
8207        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
8208      259,   260,     0,   782,     0,   261,   262,   263,   264,   783,
8209      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
8210        0,   784,   274,   275,   276,     0,     0,     0,   785,     0,
8211        0,   824,   277,   278,   279,   280,   281,   282,   283,   284,
8212      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
8213        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
8214      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
8215      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
8216      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
8217      786,     0,   787,   323,   324,   325,     0,   326,   327,     0,
8218      328,   329,     0,   330,   331,   332,   333,   334,   788,   335,
8219      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
8220        0,   345,   789,   346,   347,   348,   349,   350,   351,   352,
8221        0,   353,     0,   354,   790,   791,   355,   792,   356,   357,
8222      358,   359,   360,     0,     0,   361,   362,   793,   363,   794,
8223        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
8224      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
8225      381,   382,   383,   795,   384,   385,   386,   387,     0,   388,
8226      389,   796,   390,     0,   391,   392,   393,   394,   395,   396,
8227        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
8228      402,   797,   403,   798,   404,   405,   406,   407,   408,   409,
8229      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
8230      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
8231      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
8232      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
8233      446,   799,   447,   448,   449,   450,   451,   452,   453,   454,
8234      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
8235      825,   464,   465,   466,   467,   468,   800,   469,   470,   471,
8236      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
8237      481,   482,   483,   484,     0,   485,   486,     0,   487,   801,
8238      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
8239      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
8240      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
8241        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
8242      519,   802,   520,   521,   522,   523,     0,     0,   524,     0,
8243        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
8244      534,   535,   536,   537,   538,   539,   540,   541,   542,   823,
8245        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8246        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
8247      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
8248        0,     0,     0,   235,   236,     0,   237,   238,   780,   239,
8249      240,   241,   242,   243,   781,   244,   245,     0,   246,   247,
8250      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
8251        0,   256,   257,   258,   259,   260,     0,   782,     0,   261,
8252      262,   263,   264,   783,   265,   266,   267,     0,   268,   269,
8253      270,   271,   272,   273,     0,   784,   274,   275,   276,     0,
8254        0,     0,   785,     0,     0,   824,   277,   278,   279,   280,
8255      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
8256      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
8257      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
8258      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
8259      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
8260        0,   321,     0,   322,   786,     0,   787,   323,   324,   325,
8261        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
8262      333,   334,   788,   335,   336,   337,   338,     0,   339,   340,
8263      341,   342,   343,   344,     0,   345,   789,   346,   347,   348,
8264      349,   350,   351,   352,     0,   353,     0,   354,   790,   791,
8265      355,   792,   356,   357,   358,   359,   360,     0,     0,   361,
8266      362,   793,   363,   794,     0,   364,   365,   366,     0,     0,
8267      367,   368,   369,   370,   964,   372,   373,   374,   375,   376,
8268      377,   378,   379,   380,   381,   382,   383,   795,   384,   385,
8269      386,   387,     0,   388,   389,   796,   390,     0,   391,   392,
8270      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
8271      400,     0,     0,   401,   402,   797,   403,   798,   404,   405,
8272      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
8273      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
8274      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
8275        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
8276      443,   444,     0,   445,   446,   799,   447,   448,   449,   450,
8277      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
8278      460,   461,   462,   463,   825,   464,   465,   466,   467,   468,
8279      800,   469,   470,   471,   472,     0,   473,   474,   475,   476,
8280      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
8281      486,     0,   487,   801,   488,   489,   490,   491,   492,     0,
8282      493,   494,     0,     0,   495,   496,   497,   498,   499,     0,
8283      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
8284      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
8285      516,   517,   518,     0,   519,   802,   520,   521,   522,   523,
8286        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
8287      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
8288      540,   541,   542,   823,     0,     0,     0,     0,     0,     0,
8289        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
8290      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
8291        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
8292      237,   238,   780,   239,   240,   241,   242,   243,   781,   244,
8293      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
8294      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
8295        0,   782,     0,   261,   262,   263,   264,   783,   265,   266,
8296      267,     0,   268,   269,   270,   271,   272,   273,     0,   784,
8297      274,   275,   276,     0,     0,     0,   785,     0,     0,   824,
8298      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
8299      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
8300      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
8301      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
8302      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
8303      317,   318,   319,   320,     0,   321,     0,   322,   786,     0,
8304      787,   323,   324,   325,     0,   326,   327,     0,   328,   329,
8305        0,   330,   331,   332,   333,  1037,   788,   335,   336,   337,
8306      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
8307      789,   346,   347,   348,   349,   350,   351,   352,     0,   353,
8308        0,   354,   790,   791,   355,   792,   356,   357,   358,   359,
8309      360,     0,     0,   361,   362,   793,   363,   794,     0,   364,
8310      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
8311      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
8312      383,   795,   384,   385,   386,   387,     0,   388,   389,   796,
8313      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
8314        0,     0,   398,   399,   400,     0,     0,   401,   402,   797,
8315      403,   798,   404,   405,   406,   407,   408,   409,   410,   411,
8316      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
8317        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
8318      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
8319      439,   440,   441,   442,   443,   444,     0,   445,   446,   799,
8320      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
8321      457,   458,     0,   459,   460,   461,   462,   463,   825,   464,
8322      465,   466,   467,   468,   800,   469,   470,   471,   472,     0,
8323      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
8324      483,   484,     0,   485,   486,     0,   487,   801,   488,   489,
8325      490,   491,   492,     0,   493,   494,     0,     0,   495,   496,
8326      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
8327      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
8328      512,   513,   514,   515,   516,   517,   518,     0,   519,   802,
8329      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
8330      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
8331      536,   537,   538,   539,   540,   541,   542,   823,     0,     0,
8332        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8333        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
8334        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
8335        0,   235,   236,     0,   237,   238,   780,   239,   240,   241,
8336      242,   243,   781,   244,   245,     0,   246,   247,   248,   249,
8337      250,     0,     0,   251,   252,   253,   254,   255,     0,   256,
8338      257,   258,   259,   260,     0,   782,     0,   261,   262,   263,
8339      264,   783,   265,   266,   267,     0,   268,   269,   270,   271,
8340      272,   273,     0,   784,   274,   275,   276,     0,     0,     0,
8341      785,     0,     0,   824,   277,   278,   279,   280,   281,   282,
8342      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
8343      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
8344      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
8345      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
8346      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
8347        0,   322,   786,     0,   787,   323,   324,   325,     0,   326,
8348      327,     0,   328,   329,     0,   330,   331,   332,   333,  1049,
8349      788,   335,   336,   337,   338,     0,   339,   340,   341,   342,
8350      343,   344,     0,   345,   789,   346,   347,   348,   349,   350,
8351      351,   352,     0,   353,     0,   354,   790,   791,   355,   792,
8352      356,   357,   358,   359,   360,     0,     0,   361,   362,   793,
8353      363,   794,     0,   364,   365,   366,     0,     0,   367,   368,
8354      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
8355      379,   380,   381,   382,   383,   795,   384,   385,   386,   387,
8356        0,   388,   389,   796,   390,     0,   391,   392,   393,   394,
8357      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
8358        0,   401,   402,   797,   403,   798,   404,   405,   406,   407,
8359      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
8360      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
8361      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
8362      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
8363        0,   445,   446,   799,   447,   448,   449,   450,   451,   452,
8364      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
8365      462,   463,   825,   464,   465,   466,   467,   468,   800,   469,
8366      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
8367      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
8368      487,   801,   488,   489,   490,   491,   492,     0,   493,   494,
8369        0,     0,   495,   496,   497,   498,   499,     0,   500,   501,
8370      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
8371      510,   511,     0,     0,   512,   513,   514,   515,   516,   517,
8372      518,     0,   519,   802,   520,   521,   522,   523,     0,     0,
8373      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
8374      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
8375      542,   823,     0,     0,     0,     0,     0,     0,     0,     0,
8376        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
8377      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
8378        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
8379      780,   239,   240,   241,   242,   243,   781,   244,   245,     0,
8380      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
8381      254,   255,     0,   256,   257,   258,   259,   260,     0,   782,
8382        0,   261,   262,   263,   264,   783,   265,   266,   267,     0,
8383      268,   269,   270,   271,   272,   273,     0,   784,   274,   275,
8384      276,     0,     0,     0,   785,     0,     0,   824,   277,   278,
8385      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
8386      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
8387        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
8388      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
8389      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
8390      319,   320,     0,   321,     0,   322,   786,     0,   787,   323,
8391      324,   325,     0,   326,   327,     0,   328,   329,     0,   330,
8392      331,   332,   333,  1063,   788,   335,   336,   337,   338,     0,
8393      339,   340,   341,   342,   343,   344,     0,   345,   789,   346,
8394      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
8395      790,   791,   355,   792,   356,   357,   358,   359,   360,     0,
8396        0,   361,   362,   793,   363,   794,     0,   364,   365,   366,
8397        0,     0,   367,   368,   369,   370,  1064,   372,   373,   374,
8398      375,   376,   377,   378,   379,   380,   381,   382,   383,   795,
8399      384,   385,   386,   387,     0,   388,   389,   796,   390,     0,
8400      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
8401      398,   399,   400,     0,     0,   401,   402,   797,   403,   798,
8402      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
8403      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
8404      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
8405      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
8406      441,   442,   443,   444,     0,   445,   446,   799,   447,   448,
8407      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
8408        0,   459,   460,   461,   462,   463,   825,   464,   465,   466,
8409      467,   468,   800,   469,   470,   471,   472,     0,   473,   474,
8410      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
8411        0,   485,   486,     0,   487,   801,   488,   489,   490,   491,
8412      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
8413      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
8414        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
8415      514,   515,   516,   517,   518,     0,   519,   802,   520,   521,
8416      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
8417      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
8418      538,   539,   540,   541,   542,   823,     0,   600,     0,     0,
8419        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8420      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
8421      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
8422      236,     0,   237,   238,   780,   239,   240,   241,   242,   243,
8423      781,   244,   245,     0,   246,   247,   248,   249,   250,     0,
8424        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
8425      259,   260,     0,   782,     0,   261,   262,   263,   264,   783,
8426      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
8427        0,   784,   274,   275,   276,     0,     0,     0,   785,     0,
8428        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
8429      285,  1844,   286,     0,   287,   288,   289,   290,   291,   292,
8430        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
8431      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
8432      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
8433      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
8434      786,     0,   787,   323,   324,   325,     0,   326,   327,     0,
8435      328,   329,     0,   330,   331,   332,   333,   334,   788,   335,
8436      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
8437        0,   345,   789,   346,   347,   348,   349,   350,   351,   352,
8438        0,   353,     0,   354,   790,   791,   355,   792,   356,   357,
8439      358,   359,   360,     0,     0,   361,   362,   793,   363,   794,
8440        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
8441      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
8442      381,   382,   383,   795,   384,   385,   386,   387,     0,   388,
8443      389,   796,   390,     0,   391,   392,   393,   394,   395,   396,
8444        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
8445      402,   797,   403,   798,   404,   405,   406,   407,   408,   409,
8446      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
8447      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
8448      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
8449      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
8450      446,   799,   447,   448,   449,   450,   451,   452,   453,   454,
8451      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
8452        0,   464,   465,   466,   467,   468,   800,   469,   470,   471,
8453      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
8454      481,   482,   483,   484,     0,   485,   486,     0,   487,   801,
8455      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
8456      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
8457      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
8458        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
8459      519,   802,   520,   521,   522,   523,     0,     0,   524,     0,
8460        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
8461      534,   535,   536,   537,   538,   539,   540,   541,   542,   823,
8462        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8463        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
8464      229,   230,     0,   232,   233,   234,     3,     4,     0,     0,
8465        0,     0,     0,   235,   236,     0,   237,   238,   780,   239,
8466      240,   241,   242,   243,   781,   244,   245,     0,   246,   247,
8467      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
8468        0,   256,   257,   258,   259,   260,     0,   782,     0,   261,
8469      262,   263,   264,   783,   265,   266,   267,     0,   268,   269,
8470      270,   271,   272,   273,     0,   784,   274,   275,   276,     0,
8471        0,     0,   785,     0,     0,     0,   277,   278,   279,   280,
8472      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
8473      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
8474      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
8475      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
8476      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
8477        0,   321,     0,   322,   786,     0,   787,   323,   324,   325,
8478        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
8479      333,   334,   788,   335,   336,   337,   338,     0,   339,   340,
8480      341,   342,   343,   344,     0,   345,   789,   346,   347,   348,
8481      349,   350,   351,   352,     0,   353,     0,   354,   790,   791,
8482      355,   792,   356,   357,   358,   359,   360,     0,     0,   361,
8483      362,   793,   363,   794,     0,   364,   365,   366,     0,     0,
8484      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
8485      377,   378,   379,   380,   381,   382,   383,   795,   384,   385,
8486      386,   387,     0,   388,   389,   796,   390,     0,   391,   392,
8487      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
8488      400,     0,     0,   401,   402,   797,   403,   798,   404,   405,
8489      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
8490      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
8491      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
8492        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
8493      443,   444,     0,   445,   446,   799,   447,   448,   449,   450,
8494      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
8495      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
8496      800,   469,   470,   471,   472,     0,   473,   474,   475,   476,
8497      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
8498      486,     0,   487,   801,   488,   489,   490,   491,   492,     0,
8499      493,   494,     0,     0,   495,   496,   497,   498,   499,     0,
8500      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
8501      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
8502      516,   517,   518,     0,   519,   802,   520,   521,   522,   523,
8503        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
8504      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
8505      540,   541,   542,   823,     0,   600,     0,     0,     0,     0,
8506        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
8507      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
8508        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
8509      237,   238,   780,   239,   240,   241,   242,   243,   781,   244,
8510      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
8511      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
8512        0,   782,     0,   261,   262,   263,   264,   783,   265,   266,
8513      267,     0,   268,   269,   270,   271,   272,   273,     0,   784,
8514      274,   275,   276,     0,     0,     0,   785,     0,     0,     0,
8515      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
8516      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
8517      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
8518      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
8519      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
8520      317,   318,   319,   320,     0,   321,     0,   322,   786,     0,
8521      787,   323,   324,   325,     0,   326,   327,     0,   328,   329,
8522        0,   330,   331,   332,   333,   334,   788,   335,   336,   337,
8523      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
8524      789,   346,   347,   348,   349,   350,   351,   352,     0,   353,
8525        0,   354,   790,   791,   355,   792,   356,   357,   358,   359,
8526      360,     0,     0,   361,   362,   793,   363,   794,     0,   364,
8527      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
8528      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
8529      383,   795,   384,   385,   386,   387,     0,   388,   389,   796,
8530      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
8531        0,     0,   398,   399,   400,     0,     0,   401,   402,   797,
8532      403,   798,   404,   405,   406,   407,   408,   409,   410,   411,
8533      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
8534        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
8535      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
8536      439,   440,   441,   442,   443,   444,     0,   445,   446,   799,
8537      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
8538      457,   458,     0,   459,   460,   461,   462,   463,     0,   464,
8539      465,   466,   467,   468,   800,   469,   470,   471,   472,     0,
8540      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
8541      483,   484,     0,   485,   486,     0,   487,   801,   488,   489,
8542      490,   491,   492,     0,   493,   494,     0,     0,   495,   496,
8543      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
8544      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
8545      512,   513,   514,   515,   516,   517,   518,     0,   519,   802,
8546      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
8547      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
8548      536,   537,   538,   539,   540,   541,   542,   823,     0,   600,
8549        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8550        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
8551        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
8552        0,   235,   236,     0,   237,   238,   780,   239,   240,   241,
8553      242,   243,   781,   244,   245,     0,   246,   247,   248,   249,
8554      250,     0,     0,   251,   252,   253,   254,   255,     0,   256,
8555      257,   258,   259,   260,     0,   782,     0,   261,   262,   263,
8556      264,   783,   265,   266,   267,     0,   268,   269,   270,   271,
8557      272,   273,     0,   784,   274,   275,   276,     0,     0,     0,
8558      785,     0,     0,     0,   277,   278,   279,   280,   281,   282,
8559      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
8560      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
8561      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
8562      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
8563      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
8564        0,   322,   786,     0,   787,   323,   324,   325,     0,   326,
8565      327,     0,   328,   329,     0,   330,   331,   332,   333,  1673,
8566      788,   335,   336,   337,   338,     0,   339,   340,   341,   342,
8567      343,   344,     0,   345,   789,   346,   347,   348,   349,   350,
8568      351,   352,     0,   353,     0,   354,   790,   791,   355,   792,
8569      356,   357,   358,   359,   360,     0,     0,   361,   362,   793,
8570      363,   794,     0,   364,   365,   366,     0,     0,   367,   368,
8571      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
8572      379,   380,   381,   382,   383,   795,   384,   385,   386,   387,
8573        0,   388,   389,   796,   390,     0,   391,   392,   393,   394,
8574      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
8575        0,   401,   402,   797,   403,   798,   404,   405,   406,   407,
8576      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
8577      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
8578      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
8579      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
8580        0,   445,   446,   799,   447,   448,   449,   450,   451,   452,
8581      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
8582      462,   463,     0,   464,   465,   466,   467,   468,   800,   469,
8583      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
8584      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
8585      487,   801,   488,   489,   490,   491,   492,     0,   493,   494,
8586        0,     0,   495,   496,   497,   498,   499,     0,   500,   501,
8587      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
8588      510,   511,     0,     0,   512,   513,   514,   515,   516,   517,
8589      518,     0,   519,   802,   520,   521,   522,   523,     0,     0,
8590      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
8591      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
8592      542,   779,     0,     0,     0,     0,     0,     0,     0,     0,
8593        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
8594      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
8595        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
8596      780,   239,   240,   241,   242,   243,   781,   244,   245,     0,
8597      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
8598      254,   255,     0,   256,   257,   258,   259,   260,     0,   782,
8599        0,   261,   262,   263,   264,   783,   265,   266,   267,     0,
8600      268,   269,   270,   271,   272,   273,     0,   784,   274,   275,
8601      276,     0,     0,     0,   785,     0,     0,     0,   277,   278,
8602      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
8603      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
8604        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
8605      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
8606      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
8607      319,   320,     0,   321,     0,   322,   786,     0,   787,   323,
8608      324,   325,     0,   326,   327,     0,   328,   329,     0,   330,
8609      331,   332,   333,   334,   788,   335,   336,   337,   338,     0,
8610      339,   340,   341,   342,   343,   344,     0,   345,   789,   346,
8611      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
8612      790,   791,   355,   792,   356,   357,   358,   359,   360,     0,
8613        0,   361,   362,   793,   363,   794,     0,   364,   365,   366,
8614        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
8615      375,   376,   377,   378,   379,   380,   381,   382,   383,   795,
8616      384,   385,   386,   387,     0,   388,   389,   796,   390,     0,
8617      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
8618      398,   399,   400,     0,     0,   401,   402,   797,   403,   798,
8619      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
8620      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
8621      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
8622      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
8623      441,   442,   443,   444,     0,   445,   446,   799,   447,   448,
8624      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
8625        0,   459,   460,   461,   462,   463,     0,   464,   465,   466,
8626      467,   468,   800,   469,   470,   471,   472,     0,   473,   474,
8627      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
8628        0,   485,   486,     0,   487,   801,   488,   489,   490,   491,
8629      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
8630      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
8631        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
8632      514,   515,   516,   517,   518,     0,   519,   802,   520,   521,
8633      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
8634      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
8635      538,   539,   540,   541,   542,   779,     0,     0,     0,     0,
8636        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8637      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
8638      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
8639      236,     0,   237,   238,   780,   239,   240,   241,   242,   243,
8640      781,   244,   245,     0,   246,   247,   248,   249,   250,     0,
8641        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
8642      259,   260,     0,   782,     0,   261,   262,   263,   264,   783,
8643      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
8644        0,   784,   274,   275,   276,     0,     0,     0,   785,     0,
8645        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
8646      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
8647        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
8648      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
8649      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
8650      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
8651      786,     0,   787,   323,   324,   325,     0,   326,   327,     0,
8652      328,   329,     0,   330,   331,   332,   333,   986,   788,   335,
8653      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
8654        0,   345,   789,   346,   347,   348,   349,   350,   351,   352,
8655        0,   353,     0,   354,   790,   791,   355,   792,   356,   357,
8656      358,   359,   360,     0,     0,   361,   362,   793,   363,   794,
8657        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
8658      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
8659      381,   382,   383,   795,   384,   385,   386,   387,     0,   388,
8660      389,   796,   390,     0,   391,   392,   393,   394,   395,   396,
8661        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
8662      402,   797,   403,   798,   404,   405,   406,   407,   408,   409,
8663      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
8664      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
8665      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
8666      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
8667      446,   799,   447,   448,   449,   450,   451,   452,   453,   454,
8668      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
8669        0,   464,   465,   466,   467,   468,   800,   469,   470,   471,
8670      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
8671      481,   482,   483,   484,     0,   485,   486,     0,   487,   801,
8672      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
8673      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
8674      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
8675        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
8676      519,   802,   520,   521,   522,   523,     0,     0,   524,     0,
8677        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
8678      534,   535,   536,   537,   538,   539,   540,   541,   542,   779,
8679        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8680        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
8681      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
8682        0,     0,     0,   235,   236,     0,   237,   238,   780,   239,
8683      240,   241,   242,   243,   781,   244,   245,     0,   246,   247,
8684      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
8685        0,   256,   257,   258,   259,   260,     0,   782,     0,   261,
8686      262,   263,   264,   783,   265,   266,   267,     0,   268,   269,
8687      270,   271,   272,   273,     0,   784,   274,   275,   276,     0,
8688        0,     0,   785,     0,     0,     0,   277,   278,   279,   280,
8689      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
8690      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
8691      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
8692      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
8693      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
8694        0,   321,     0,   322,   786,     0,   787,   323,   324,   325,
8695        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
8696      333,  1035,   788,   335,   336,   337,   338,     0,   339,   340,
8697      341,   342,   343,   344,     0,   345,   789,   346,   347,   348,
8698      349,   350,   351,   352,     0,   353,     0,   354,   790,   791,
8699      355,   792,   356,   357,   358,   359,   360,     0,     0,   361,
8700      362,   793,   363,   794,     0,   364,   365,   366,     0,     0,
8701      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
8702      377,   378,   379,   380,   381,   382,   383,   795,   384,   385,
8703      386,   387,     0,   388,   389,   796,   390,     0,   391,   392,
8704      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
8705      400,     0,     0,   401,   402,   797,   403,   798,   404,   405,
8706      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
8707      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
8708      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
8709        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
8710      443,   444,     0,   445,   446,   799,   447,   448,   449,   450,
8711      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
8712      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
8713      800,   469,   470,   471,   472,     0,   473,   474,   475,   476,
8714      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
8715      486,     0,   487,   801,   488,   489,   490,   491,   492,     0,
8716      493,   494,     0,     0,   495,   496,   497,   498,   499,     0,
8717      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
8718      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
8719      516,   517,   518,     0,   519,   802,   520,   521,   522,   523,
8720        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
8721      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
8722      540,   541,   542,   222,     0,     0,     0,     0,     0,     0,
8723        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
8724      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
8725        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
8726      237,   238,     0,   239,   240,   241,   242,   243,     0,   244,
8727      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
8728      252,   253,   254,   255,  2052,   256,   257,   258,   259,   260,
8729        0,     0,  2129,   261,   262,   263,   264,     0,   265,   266,
8730      267,  2053,   268,   269,   270,   271,   272,   273,     0,     0,
8731      274,   275,   276,     0,     0,     0,     0,     0,     0,     0,
8732      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
8733      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
8734      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
8735      301,   302,   303,     0,   304,   305,   306,     0,  2130,   308,
8736      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
8737      317,   318,   319,   320,     0,   321,  2055,   322,     0,     0,
8738        0,   323,   324,   325,     0,   326,   327,     0,   328,   329,
8739        0,   330,   331,   332,   333,  2131,     0,   335,   336,   337,
8740      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
8741        0,   346,   347,   348,   349,   350,   351,   352,     0,   353,
8742        0,   354,     0,     0,   355,     0,   356,   357,   358,   359,
8743      360,     0,     0,   361,   362,     0,   363,     0,     0,   364,
8744      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
8745      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
8746      383,     0,   384,   385,   386,   387,     0,   388,   389,     0,
8747      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
8748        0,     0,   398,   399,   400,     0,     0,   401,   402,     0,
8749      403,     0,   404,   405,   406,   407,   408,   409,   410,   411,
8750      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
8751     2056,   421,   422,   423,   424,   425,   426,   427,   428,   429,
8752      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
8753      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
8754      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
8755      457,   458,     0,   459,   460,   461,   462,   463,     0,   464,
8756      465,   466,   467,   468,     0,   469,   470,   471,   472,     0,
8757      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
8758      483,   484,     0,   485,   486,     0,   487,     0,   488,   489,
8759      490,   491,   492,     0,   493,   494,     0,     0,   495,   496,
8760      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
8761      506,     0,  2057,   507,   508,   509,   510,   511,     0,     0,
8762      512,   513,   514,   515,   516,   517,   518,     0,   519,     0,
8763      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
8764      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
8765      536,   537,   538,   539,   540,   541,   542,   222,     0,     0,
8766        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8767        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
8768        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
8769        0,   235,   236,     0,   237,   238,     0,   239,   240,   241,
8770      242,   243,     0,   244,   245,     0,   246,   247,   248,   249,
8771      250,     0,     0,   251,   252,   253,   254,   255,  2052,   256,
8772      257,   258,   259,   260,     0,     0,     0,   261,   262,   263,
8773      264,     0,   265,   266,   267,  2053,   268,   269,   270,   271,
8774      272,   273,     0,     0,   274,   275,   276,     0,     0,     0,
8775        0,     0,     0,     0,   277,   278,   279,   280,   281,   282,
8776      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
8777      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
8778      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
8779      306,     0,  2130,   308,   309,   310,   311,   312,   313,   314,
8780      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
8781     2055,   322,     0,     0,     0,   323,   324,   325,     0,   326,
8782      327,     0,   328,   329,     0,   330,   331,   332,   333,   334,
8783        0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
8784      343,   344,     0,   345,     0,   346,   347,   348,   349,   350,
8785      351,   352,     0,   353,     0,   354,     0,     0,   355,     0,
8786      356,   357,   358,   359,   360,     0,     0,   361,   362,     0,
8787      363,  3026,     0,   364,   365,   366,     0,     0,   367,   368,
8788      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
8789      379,   380,   381,   382,   383,     0,   384,   385,   386,   387,
8790        0,   388,   389,     0,   390,     0,   391,   392,   393,   394,
8791      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
8792        0,   401,   402,     0,   403,     0,   404,   405,   406,   407,
8793      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
8794      417,   418,   419,   420,  2056,   421,   422,   423,   424,   425,
8795      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
8796      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
8797        0,   445,   446,     0,   447,   448,   449,   450,   451,   452,
8798      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
8799      462,   463,     0,   464,   465,   466,   467,   468,     0,   469,
8800      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
8801      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
8802      487,     0,   488,   489,   490,   491,   492,     0,   493,   494,
8803        0,     0,   495,   496,   497,   498,   499,     0,   500,   501,
8804      502,   503,   504,   505,   506,     0,  2057,   507,   508,   509,
8805      510,   511,     0,     0,   512,   513,   514,   515,   516,   517,
8806      518,     0,   519,     0,   520,   521,   522,   523,     0,     0,
8807      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
8808      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
8809      542,   222,     0,     0,     0,     0,     0,     0,     0,     0,
8810        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
8811      227,   711,   229,   230,   673,   232,   233,   234,     0,     0,
8812        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
8813        0,   239,   240,   241,   242,   243,     0,   244,   245,     0,
8814      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
8815      254,   255,     0,   256,   257,   258,   259,   260,     0,     0,
8816        0,   261,   262,   263,   264,     0,   265,   266,   267,     0,
8817      268,   269,   270,   271,   272,   273,   674,     0,   274,   275,
8818      276,     0,     0,     0,     0,     0,     0,     0,   277,   278,
8819      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
8820      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
8821        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
8822      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
8823      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
8824      319,   320,     0,   321,     0,   322,     0,     0,     0,   323,
8825      324,   325,   712,   326,   327,     0,   328,   329,     0,   330,
8826      331,   332,   333,   334,     0,   335,   336,   337,   338,     0,
8827      339,   340,   341,   342,   343,   344,     0,   345,     0,   346,
8828      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
8829        0,     0,   355,     0,   356,   357,   358,   359,   360,     0,
8830        0,   361,   362,     0,   363,     0,     0,   364,   365,   366,
8831        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
8832      375,   376,   377,   378,   379,   380,   381,   382,   383,     0,
8833      384,   385,   386,   387,     0,   388,   389,     0,   390,     0,
8834      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
8835      398,   399,   400,     0,     0,   401,   402,     0,   403,     0,
8836      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
8837      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
8838      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
8839      432,   433,   675,   434,   435,   436,   437,   438,   439,   440,
8840      441,   442,   443,   444,     0,   445,   446,     0,   447,   448,
8841      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
8842      676,   459,   460,   461,   462,   463,     0,   464,   465,   466,
8843      467,   468,     0,   469,   470,   471,   472,     0,   473,   474,
8844      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
8845        0,   485,   486,     0,   487,     0,   488,   489,   490,   491,
8846      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
8847      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
8848        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
8849      514,   515,   516,   517,   518,     0,   519,     0,   520,   521,
8850      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
8851      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
8852      538,   539,   540,   541,   542,   222,     0,     0,     0,     0,
8853        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8854      223,   224,   225,   226,   227,   228,   229,   230,   673,   232,
8855      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
8856      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
8857        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
8858        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
8859      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
8860      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
8861      674,     0,   274,   275,   276,     0,     0,     0,     0,     0,
8862        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
8863      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
8864        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
8865      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
8866      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
8867      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
8868        0,     0,     0,   323,   324,   325,  2751,   326,   327,     0,
8869      328,   329,     0,   330,   331,   332,   333,   334,     0,   335,
8870      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
8871        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
8872        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
8873      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
8874        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
8875      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
8876      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
8877      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
8878        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
8879      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
8880      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
8881      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
8882      428,   429,   430,   431,   432,   433,   675,   434,   435,   436,
8883      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
8884      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
8885      455,   456,   457,   458,   676,   459,   460,   461,   462,   463,
8886        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
8887      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
8888      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
8889      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
8890      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
8891      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
8892        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
8893      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
8894        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
8895      534,   535,   536,   537,   538,   539,   540,   541,   542,   222,
8896        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8897        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
8898      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
8899        0,     0,     0,   235,   236,     0,   237,   238,     0,   239,
8900      240,   241,   242,   243,     0,   244,   245,     0,   246,   247,
8901      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
8902     2052,   256,   257,   258,   259,   260,     0,     0,     0,   261,
8903      262,   263,   264,     0,   265,   266,   267,  2053,   268,   269,
8904      270,   271,   272,   273,     0,     0,   274,   275,   276,     0,
8905        0,     0,     0,     0,     0,     0,   277,   278,   279,   280,
8906      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
8907      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
8908      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
8909      304,   305,   306,     0,  2130,   308,   309,   310,   311,   312,
8910      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
8911        0,   321,  2055,   322,     0,     0,     0,   323,   324,   325,
8912        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
8913      333,   334,     0,   335,   336,   337,   338,     0,   339,   340,
8914      341,   342,   343,   344,     0,   345,     0,   346,   347,   348,
8915      349,   350,   351,   352,     0,   353,     0,   354,     0,     0,
8916      355,     0,   356,   357,   358,   359,   360,     0,     0,   361,
8917      362,     0,   363,     0,     0,   364,   365,   366,     0,     0,
8918      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
8919      377,   378,   379,   380,   381,   382,   383,     0,   384,   385,
8920      386,   387,     0,   388,   389,     0,   390,     0,   391,   392,
8921      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
8922      400,     0,     0,   401,   402,     0,   403,     0,   404,   405,
8923      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
8924      415,   416,   417,   418,   419,   420,  2056,   421,   422,   423,
8925      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
8926        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
8927      443,   444,     0,   445,   446,     0,   447,   448,   449,   450,
8928      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
8929      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
8930        0,   469,   470,   471,   472,     0,   473,   474,   475,   476,
8931      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
8932      486,     0,   487,     0,   488,   489,   490,   491,   492,     0,
8933      493,   494,     0,     0,   495,   496,   497,   498,   499,     0,
8934      500,   501,   502,   503,   504,   505,   506,     0,  2057,   507,
8935      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
8936      516,   517,   518,     0,   519,     0,   520,   521,   522,   523,
8937        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
8938      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
8939      540,   541,   542,   222,     0,     0,     0,     0,     0,     0,
8940        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
8941      225,   226,   227,   228,   229,   230,   673,   232,   233,   234,
8942        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
8943      237,   238,     0,   239,   240,   241,   242,   243,     0,   244,
8944      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
8945      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
8946        0,     0,     0,   261,   262,   263,   264,     0,   265,   266,
8947      267,     0,   268,   269,   270,   271,   272,   273,   674,     0,
8948      274,   275,   276,     0,     0,     0,     0,     0,     0,     0,
8949      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
8950      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
8951      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
8952      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
8953      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
8954      317,   318,   319,   320,     0,   321,     0,   322,     0,     0,
8955        0,   323,   324,   325,     0,   326,   327,     0,   328,   329,
8956        0,   330,   331,   332,   333,   334,     0,   335,   336,   337,
8957      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
8958        0,   346,   347,   348,   349,   350,   351,   352,     0,   353,
8959        0,   354,     0,     0,   355,     0,   356,   357,   358,   359,
8960      360,     0,     0,   361,   362,     0,   363,     0,     0,   364,
8961      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
8962      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
8963      383,     0,   384,   385,   386,   387,     0,   388,   389,     0,
8964      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
8965        0,     0,   398,   399,   400,     0,     0,   401,   402,     0,
8966      403,     0,   404,   405,   406,   407,   408,   409,   410,   411,
8967      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
8968        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
8969      430,   431,   432,   433,   675,   434,   435,   436,   437,   438,
8970      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
8971      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
8972      457,   458,   676,   459,   460,   461,   462,   463,     0,   464,
8973      465,   466,   467,   468,     0,   469,   470,   471,   472,     0,
8974      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
8975      483,   484,     0,   485,   486,     0,   487,     0,   488,   489,
8976      490,   491,   492,     0,   493,   494,     0,     0,   495,   496,
8977      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
8978      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
8979      512,   513,   514,   515,   516,   517,   518,     0,   519,     0,
8980      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
8981      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
8982      536,   537,   538,   539,   540,   541,   542,   222,     0,     0,
8983        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8984        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
8985     1710,   232,   233,   234,     0,     0,     0,     0,     0,     0,
8986        0,   235,   236,     0,   237,   238,     0,   239,   240,   241,
8987      242,   243,     0,   244,   245,     0,   246,   247,   248,   249,
8988      250,     0,     0,   251,   252,   253,   254,   255,     0,   256,
8989      257,   258,   259,   260,     0,     0,     0,   261,   262,   263,
8990      264,     0,   265,   266,   267,     0,   268,   269,   270,   271,
8991      272,   273,     0,     0,   274,   275,   276,     0,     0,     0,
8992        0,     0,     0,     0,   277,   278,   279,  1711,   281,   282,
8993      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
8994      291,   292,     0,   293,   294,   295,     0,     0,   296,  1712,
8995      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
8996      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
8997      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
8998     1713,   322,     0,     0,     0,  1714,   324,   325,     0,   326,
8999      327,     0,   328,   329,     0,   330,   331,   332,   333,   334,
9000        0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
9001      343,   344,     0,   345,     0,   346,   347,   348,   349,   350,
9002      351,   352,     0,   353,     0,   354,     0,     0,   355,     0,
9003      356,   357,  1715,  1716,   360,     0,     0,   361,   362,     0,
9004      363,     0,     0,   364,   365,   366,     0,     0,   367,   368,
9005      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
9006      379,   380,   381,   382,   383,     0,   384,   385,   386,   387,
9007        0,   388,   389,     0,   390,     0,   391,   392,   393,   394,
9008      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
9009        0,   401,   402,     0,   403,     0,   404,   405,   406,   407,
9010      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
9011      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
9012      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
9013      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
9014        0,   445,   446,     0,   447,   448,   449,   450,   451,   452,
9015      453,  1717,   455,   456,   457,   458,     0,  1718,   460,   461,
9016      462,   463,     0,   464,   465,   466,   467,   468,     0,   469,
9017      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
9018      479,   480,   481,   482,   483,   484,     0,   485,   486,  1719,
9019      487,     0,  1720,   489,   490,   491,   492,     0,   493,   494,
9020        0,     0,   495,   496,   497,   498,   499,     0,   500,   501,
9021     1721,   503,   504,   505,   506,     0,     0,   507,   508,   509,
9022      510,   511,     0,     0,   512,   513,   514,   515,   516,   517,
9023      518,     0,   519,     0,   520,   521,   522,   523,     0,     0,
9024      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
9025      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
9026      542,   222,     0,     0,     0,     0,     0,     0,     0,     0,
9027        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
9028      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
9029        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
9030        0,   239,   240,   241,   242,   243,     0,   244,   245,     0,
9031      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
9032      254,   255,     0,   256,   257,   258,   259,   260,     0,     0,
9033        0,   261,   262,   263,   264,     0,   265,   266,   267,     0,
9034      268,   269,   270,   271,   272,   273,   674,     0,   274,   275,
9035      276,     0,     0,     0,     0,     0,     0,     0,   277,   278,
9036      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
9037      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
9038        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
9039      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
9040      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
9041      319,   320,     0,   321,     0,   322,     0,     0,     0,   323,
9042      324,   325,     0,   326,   327,     0,   328,   329,     0,   330,
9043      331,   332,   333,   334,     0,   335,   336,   337,   338,     0,
9044      339,   340,   341,   342,   343,   344,     0,   345,     0,   346,
9045      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
9046        0,     0,   355,     0,   356,   357,   358,   359,   360,     0,
9047        0,   361,   362,     0,   363,     0,     0,   364,   365,   366,
9048        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
9049      375,   376,   377,   378,   379,   380,   381,   382,   383,     0,
9050      384,   385,   386,   387,     0,   388,   389,     0,   390,     0,
9051      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
9052      398,   399,   400,     0,     0,   401,   402,     0,   403,     0,
9053      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
9054      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
9055      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
9056      432,   433,   675,   434,   435,   436,   437,   438,   439,   440,
9057      441,   442,   443,   444,     0,   445,   446,     0,   447,   448,
9058      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
9059      676,   459,   460,   461,   462,   463,     0,   464,   465,   466,
9060      467,   468,     0,   469,   470,   471,   472,     0,   473,   474,
9061      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
9062        0,   485,   486,     0,   487,     0,   488,   489,   490,   491,
9063      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
9064      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
9065        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
9066      514,   515,   516,   517,   518,     0,   519,     0,   520,   521,
9067      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
9068      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
9069      538,   539,   540,   541,   542,   222,     0,     0,     0,     0,
9070        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9071      223,   224,   225,   226,   227,   228,   229,   230,   868,   232,
9072      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
9073      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
9074        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
9075        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
9076      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
9077      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
9078        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
9079        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
9080      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
9081        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
9082      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
9083      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
9084      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
9085        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
9086      328,   329,     0,   330,   331,   332,   333,   869,     0,   335,
9087      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
9088        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
9089        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
9090      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
9091        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
9092      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
9093      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
9094      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
9095        0,   397,     0,   743,   398,   399,   400,     0,     0,   401,
9096      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
9097      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
9098      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
9099      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
9100      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
9101      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
9102      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
9103        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
9104      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
9105      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
9106      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
9107      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
9108      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
9109        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
9110      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
9111        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
9112      534,   535,   536,   537,   538,   539,   540,   541,   542,   222,
9113        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9114        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
9115      229,   230,     0,   232,   233,   234,     3,     4,     0,     0,
9116        0,     0,     0,   235,   236,     0,   237,   238,     0,   239,
9117      240,   241,   242,   243,     0,   244,   245,     0,   246,   247,
9118      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
9119        0,   256,   257,   258,   259,   260,     0,     0,     0,   261,
9120      262,   263,   264,     0,   265,   266,   267,     0,   268,   269,
9121      270,   271,   272,   273,     0,     0,   274,   275,   276,     0,
9122        0,     0,     0,     0,     0,     0,   277,   278,   279,   280,
9123      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
9124      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
9125      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
9126      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
9127      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
9128        0,   321,     0,   322,     0,     0,     0,   323,   324,   325,
9129        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
9130      333,   334,     0,   335,   336,   337,   338,     0,   339,   340,
9131      341,   342,   343,   344,     0,   345,     0,   346,   347,   348,
9132      349,   350,   351,   352,     0,   353,     0,   354,     0,     0,
9133      355,     0,   356,   357,   358,   359,   360,     0,     0,   361,
9134      362,     0,   363,     0,     0,   364,   365,   366,     0,     0,
9135      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
9136      377,   378,   379,   380,   381,   382,   383,     0,   384,   385,
9137      386,   387,     0,   388,   389,     0,   390,     0,   391,   392,
9138      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
9139      400,     0,     0,   401,   402,     0,   403,     0,   404,   405,
9140      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
9141      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
9142      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
9143        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
9144      443,   444,     0,   445,   446,     0,   447,   448,   449,   450,
9145      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
9146      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
9147        0,   469,   470,   471,   472,     0,   473,   474,   475,   476,
9148      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
9149      486,     0,   487,     0,   488,   489,   490,   491,   492,     0,
9150      493,   494,     0,     0,   495,   496,   497,   498,   499,     0,
9151      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
9152      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
9153      516,   517,   518,     0,   519,     0,   520,   521,   522,   523,
9154        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
9155      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
9156      540,   541,   542,   222,     0,     0,     0,     0,     0,     0,
9157        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
9158      225,   226,   227,   228,   229,   230,  2839,   232,   233,   234,
9159        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
9160      237,   238,     0,   239,   240,   241,   242,   243,     0,   244,
9161      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
9162      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
9163        0,     0,     0,   261,   262,   263,   264,     0,   265,   266,
9164      267,     0,   268,   269,   270,   271,   272,   273,     0,     0,
9165      274,   275,   276,     0,     0,     0,     0,     0,     0,     0,
9166      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
9167      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
9168      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
9169      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
9170      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
9171      317,   318,   319,   320,     0,   321,     0,   322,     0,     0,
9172        0,   323,   324,   325,     0,   326,   327,     0,   328,   329,
9173        0,   330,   331,   332,   333,   334,     0,   335,   336,   337,
9174      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
9175        0,   346,   347,   348,   349,   350,   351,   352,     0,   353,
9176        0,   354,     0,     0,   355,     0,   356,   357,   358,   359,
9177      360,     0,     0,   361,   362,     0,   363,     0,     0,   364,
9178      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
9179      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
9180      383,     0,   384,   385,   386,   387,     0,   388,   389,     0,
9181      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
9182        0,     0,   398,   399,   400,     0,     0,   401,   402,     0,
9183      403,     0,   404,   405,   406,   407,   408,   409,   410,   411,
9184      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
9185        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
9186      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
9187      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
9188      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
9189      457,   458,     0,   459,   460,   461,   462,   463,     0,   464,
9190      465,   466,   467,   468,     0,   469,   470,   471,   472,     0,
9191      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
9192      483,   484,     0,   485,   486,     0,   487,     0,   488,   489,
9193      490,   491,   492,     0,   493,   494,     0,     0,   495,   496,
9194      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
9195      506,     0,     0,   507,   508,   509,   510,   511,  2840,     0,
9196      512,   513,   514,   515,   516,   517,   518,     0,   519,     0,
9197      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
9198      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
9199      536,   537,   538,   539,   540,   541,   542,   222,     0,     0,
9200        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9201        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
9202     2852,   232,   233,   234,     0,     0,     0,     0,     0,     0,
9203        0,   235,   236,     0,   237,   238,     0,   239,   240,   241,
9204      242,   243,     0,   244,   245,     0,   246,   247,   248,   249,
9205      250,     0,     0,   251,   252,   253,   254,   255,     0,   256,
9206      257,   258,   259,   260,     0,     0,     0,   261,   262,   263,
9207      264,     0,   265,   266,   267,     0,   268,   269,   270,   271,
9208      272,   273,     0,     0,   274,   275,   276,     0,     0,     0,
9209        0,     0,     0,     0,   277,   278,   279,   280,   281,   282,
9210      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
9211      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
9212      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
9213      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
9214      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
9215        0,   322,     0,     0,     0,   323,   324,   325,     0,   326,
9216      327,     0,   328,   329,     0,   330,   331,   332,   333,   334,
9217        0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
9218      343,   344,     0,   345,     0,   346,   347,   348,   349,   350,
9219      351,   352,     0,   353,     0,   354,     0,     0,   355,     0,
9220      356,   357,   358,   359,   360,     0,     0,   361,   362,     0,
9221      363,     0,     0,   364,   365,   366,     0,     0,   367,   368,
9222      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
9223      379,   380,   381,   382,   383,     0,   384,   385,   386,   387,
9224        0,   388,   389,     0,   390,     0,   391,   392,   393,   394,
9225      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
9226        0,   401,   402,     0,   403,     0,   404,   405,   406,   407,
9227      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
9228      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
9229      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
9230      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
9231        0,   445,   446,     0,   447,   448,   449,   450,   451,   452,
9232      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
9233      462,   463,     0,   464,   465,   466,   467,   468,     0,   469,
9234      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
9235      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
9236      487,     0,   488,   489,   490,   491,   492,     0,   493,   494,
9237        0,     0,   495,   496,   497,   498,   499,     0,   500,   501,
9238      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
9239      510,   511,  2853,     0,   512,   513,   514,   515,   516,   517,
9240      518,     0,   519,     0,   520,   521,   522,   523,     0,     0,
9241      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
9242      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
9243      542,   222,     0,     0,     0,     0,     0,     0,     0,     0,
9244        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
9245      227,   228,   229,   230,   231,   232,   233,   234,     0,     0,
9246        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
9247        0,   239,   240,   241,   242,   243,     0,   244,   245,     0,
9248      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
9249      254,   255,     0,   256,   257,   258,   259,   260,     0,     0,
9250        0,   261,   262,   263,   264,     0,   265,   266,   267,     0,
9251      268,   269,   270,   271,   272,   273,     0,     0,   274,   275,
9252      276,     0,     0,     0,     0,     0,     0,     0,   277,   278,
9253      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
9254      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
9255        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
9256      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
9257      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
9258      319,   320,     0,   321,     0,   322,     0,     0,     0,   323,
9259      324,   325,     0,   326,   327,     0,   328,   329,     0,   330,
9260      331,   332,   333,   334,     0,   335,   336,   337,   338,     0,
9261      339,   340,   341,   342,   343,   344,     0,   345,     0,   346,
9262      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
9263        0,     0,   355,     0,   356,   357,   358,   359,   360,     0,
9264        0,   361,   362,     0,   363,     0,     0,   364,   365,   366,
9265        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
9266      375,   376,   377,   378,   379,   380,   381,   382,   383,     0,
9267      384,   385,   386,   387,     0,   388,   389,     0,   390,     0,
9268      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
9269      398,   399,   400,     0,     0,   401,   402,     0,   403,     0,
9270      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
9271      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
9272      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
9273      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
9274      441,   442,   443,   444,     0,   445,   446,     0,   447,   448,
9275      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
9276        0,   459,   460,   461,   462,   463,     0,   464,   465,   466,
9277      467,   468,     0,   469,   470,   471,   472,     0,   473,   474,
9278      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
9279        0,   485,   486,     0,   487,     0,   488,   489,   490,   491,
9280      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
9281      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
9282        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
9283      514,   515,   516,   517,   518,     0,   519,     0,   520,   521,
9284      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
9285      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
9286      538,   539,   540,   541,   542,   222,     0,     0,     0,     0,
9287        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9288      223,   224,   225,   226,   227,   228,   229,   230,   591,   232,
9289      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
9290      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
9291        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
9292        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
9293      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
9294      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
9295        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
9296        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
9297      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
9298        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
9299      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
9300      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
9301      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
9302        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
9303      328,   329,     0,   330,   331,   332,   333,   334,     0,   335,
9304      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
9305        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
9306        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
9307      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
9308        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
9309      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
9310      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
9311      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
9312        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
9313      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
9314      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
9315      592,   420,     0,   421,   422,   423,   424,   425,   426,   427,
9316      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
9317      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
9318      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
9319      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
9320        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
9321      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
9322      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
9323      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
9324      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
9325      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
9326        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
9327      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
9328        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
9329      534,   535,   536,   537,   538,   539,   540,   541,   542,   222,
9330        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9331        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
9332      229,   230,   703,   232,   233,   234,     0,     0,     0,     0,
9333        0,     0,     0,   235,   236,     0,   237,   238,     0,   239,
9334      240,   241,   242,   243,     0,   244,   245,     0,   246,   247,
9335      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
9336        0,   256,   257,   258,   259,   260,     0,     0,     0,   261,
9337      262,   263,   264,     0,   265,   266,   267,     0,   268,   269,
9338      270,   271,   272,   273,     0,     0,   274,   275,   276,     0,
9339        0,     0,     0,     0,     0,     0,   277,   278,   279,   280,
9340      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
9341      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
9342      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
9343      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
9344      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
9345        0,   321,     0,   322,     0,     0,     0,   323,   324,   325,
9346        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
9347      333,   334,     0,   335,   336,   337,   338,     0,   339,   340,
9348      341,   342,   343,   344,     0,   345,     0,   346,   347,   348,
9349      349,   350,   351,   352,     0,   353,     0,   354,     0,     0,
9350      355,     0,   356,   357,   358,   359,   360,     0,     0,   361,
9351      362,     0,   363,     0,     0,   364,   365,   366,     0,     0,
9352      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
9353      377,   378,   379,   380,   381,   382,   383,     0,   384,   385,
9354      386,   387,     0,   388,   389,     0,   390,     0,   391,   392,
9355      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
9356      400,     0,     0,   401,   402,     0,   403,     0,   404,   405,
9357      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
9358      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
9359      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
9360        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
9361      443,   444,     0,   445,   446,     0,   447,   448,   449,   450,
9362      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
9363      460,   461,   462,   704,     0,   464,   465,   466,   467,   468,
9364        0,   469,   470,   471,   472,     0,   473,   474,   475,   476,
9365      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
9366      486,     0,   487,     0,   488,   489,   490,   491,   492,     0,
9367      705,   494,     0,     0,   706,   496,   497,   498,   499,     0,
9368      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
9369      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
9370      516,   517,   518,     0,   519,     0,   520,   521,   522,   523,
9371        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
9372      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
9373      540,   541,   542,   222,     0,     0,     0,     0,     0,     0,
9374        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
9375      225,   226,   227,   228,   229,   230,   737,   232,   233,   234,
9376        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
9377      237,   238,     0,   239,   240,   241,   242,   243,     0,   244,
9378      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
9379      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
9380        0,     0,     0,   261,   262,   263,   264,     0,   265,   266,
9381      267,     0,   268,   269,   270,   271,   272,   273,     0,     0,
9382      274,   275,   276,     0,     0,     0,     0,     0,     0,     0,
9383      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
9384      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
9385      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
9386      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
9387      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
9388      317,   318,   319,   320,     0,   321,     0,   322,     0,     0,
9389        0,   323,   324,   325,     0,   326,   327,     0,   328,   329,
9390        0,   330,   331,   332,   333,   334,     0,   335,   336,   337,
9391      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
9392        0,   346,   347,   348,   349,   350,   351,   352,     0,   353,
9393        0,   354,     0,     0,   355,     0,   356,   357,   358,   359,
9394      360,     0,     0,   361,   362,     0,   363,     0,     0,   364,
9395      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
9396      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
9397      383,     0,   384,   385,   386,   387,     0,   388,   389,     0,
9398      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
9399        0,     0,   398,   399,   400,     0,     0,   401,   402,     0,
9400      403,     0,   404,   405,   406,   407,   408,   409,   410,   411,
9401      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
9402        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
9403      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
9404      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
9405      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
9406      457,   458,     0,   459,   460,   461,   462,   738,     0,   464,
9407      465,   466,   467,   468,     0,   469,   470,   471,   472,     0,
9408      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
9409      483,   484,     0,   485,   486,     0,   487,     0,   488,   489,
9410      490,   491,   492,     0,   739,   494,     0,     0,   740,   496,
9411      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
9412      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
9413      512,   513,   514,   515,   516,   517,   518,     0,   519,     0,
9414      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
9415      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
9416      536,   537,   538,   539,   540,   541,   542,   222,     0,     0,
9417        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9418        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
9419        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
9420        0,   235,   236,     0,   237,   238,     0,   239,   240,   241,
9421      242,   243,     0,   244,   245,     0,   246,   247,   248,   249,
9422      250,     0,     0,   251,   252,   253,   254,   255,     0,   256,
9423      257,   258,   259,   260,     0,     0,     0,   261,   262,   263,
9424      264,     0,   265,   266,   267,     0,   268,   269,   270,   271,
9425      272,   273,     0,     0,   274,   275,   276,     0,     0,     0,
9426        0,     0,     0,     0,   277,   278,   279,   280,   281,   282,
9427      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
9428      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
9429      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
9430      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
9431      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
9432        0,   322,     0,     0,     0,   323,   324,   325,     0,   326,
9433      327,     0,   328,   329,     0,   330,   331,   332,   333,   334,
9434        0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
9435      343,   344,     0,   345,     0,   346,   347,   348,   349,   350,
9436      351,   352,     0,   353,     0,   354,     0,     0,   355,     0,
9437      356,   357,   358,   359,   360,     0,     0,   361,   362,     0,
9438      363,     0,     0,   364,   365,   366,     0,     0,   367,   368,
9439      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
9440      379,   380,   381,   382,   383,     0,   384,   385,   386,   387,
9441        0,   388,   389,     0,   390,     0,   391,   392,   393,   394,
9442      395,   396,     0,   397,     0,   743,   398,   399,   400,     0,
9443        0,   401,   402,     0,   403,     0,   404,   405,   406,   407,
9444      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
9445      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
9446      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
9447      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
9448        0,   445,   446,     0,   447,   448,   449,   450,   451,   452,
9449      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
9450      462,   463,     0,   464,   465,   466,   467,   468,     0,   469,
9451      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
9452      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
9453      487,     0,   488,   489,   490,   491,   492,     0,   493,   494,
9454        0,     0,   495,   496,   497,   498,   499,     0,   500,   501,
9455      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
9456      510,   511,     0,     0,   512,   513,   514,   515,   516,   517,
9457      518,     0,   519,     0,   520,   521,   522,   523,     0,     0,
9458      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
9459      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
9460      542,   222,     0,     0,     0,     0,     0,     0,     0,     0,
9461        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
9462      227,   228,   229,   230,   832,   232,   233,   234,     0,     0,
9463        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
9464        0,   239,   240,   241,   242,   243,     0,   244,   245,     0,
9465      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
9466      254,   255,     0,   256,   257,   258,   259,   260,     0,     0,
9467        0,   261,   262,   263,   264,     0,   265,   266,   267,     0,
9468      268,   269,   270,   271,   272,   273,     0,     0,   274,   275,
9469      276,     0,     0,     0,     0,     0,     0,     0,   277,   278,
9470      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
9471      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
9472        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
9473      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
9474      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
9475      319,   320,     0,   321,     0,   322,     0,     0,     0,   323,
9476      324,   325,     0,   326,   327,     0,   328,   329,     0,   330,
9477      331,   332,   333,   833,     0,   335,   336,   337,   338,     0,
9478      339,   340,   341,   342,   343,   344,     0,   345,     0,   346,
9479      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
9480        0,     0,   355,     0,   356,   357,   358,   359,   360,     0,
9481        0,   361,   362,     0,   363,     0,     0,   364,   365,   366,
9482        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
9483      375,   376,   377,   378,   379,   380,   381,   382,   383,     0,
9484      384,   385,   386,   387,     0,   388,   389,     0,   390,     0,
9485      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
9486      398,   399,   400,     0,     0,   401,   402,     0,   403,     0,
9487      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
9488      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
9489      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
9490      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
9491      441,   442,   443,   444,     0,   445,   446,     0,   447,   448,
9492      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
9493        0,   459,   460,   461,   462,   463,     0,   464,   465,   466,
9494      467,   468,     0,   469,   470,   471,   472,     0,   473,   474,
9495      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
9496        0,   485,   486,     0,   487,     0,   488,   489,   490,   491,
9497      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
9498      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
9499        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
9500      514,   515,   516,   517,   518,     0,   519,     0,   520,   521,
9501      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
9502      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
9503      538,   539,   540,   541,   542,   222,     0,     0,     0,     0,
9504        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9505      223,   224,   225,   226,   227,   228,   229,   230,   978,   232,
9506      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
9507      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
9508        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
9509        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
9510      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
9511      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
9512        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
9513        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
9514      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
9515        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
9516      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
9517      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
9518      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
9519        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
9520      328,   329,     0,   330,   331,   332,   333,   334,     0,   335,
9521      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
9522        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
9523        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
9524      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
9525        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
9526      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
9527      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
9528      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
9529        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
9530      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
9531      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
9532      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
9533      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
9534      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
9535      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
9536      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
9537        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
9538      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
9539      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
9540      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
9541      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
9542      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
9543        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
9544      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
9545        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
9546      534,   535,   536,   537,   538,   539,   540,   541,   542,   222,
9547        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9548        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
9549      229,   230,  1241,   232,   233,   234,     0,     0,     0,     0,
9550        0,     0,     0,   235,   236,     0,   237,   238,     0,   239,
9551      240,   241,   242,   243,     0,   244,   245,     0,   246,   247,
9552      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
9553        0,   256,   257,   258,   259,   260,     0,     0,     0,   261,
9554      262,   263,   264,     0,   265,   266,   267,     0,   268,   269,
9555      270,   271,   272,   273,     0,     0,   274,   275,   276,     0,
9556        0,     0,     0,     0,     0,     0,   277,   278,   279,   280,
9557      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
9558      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
9559      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
9560      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
9561      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
9562        0,   321,     0,   322,     0,     0,     0,   323,   324,   325,
9563        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
9564      333,   334,     0,   335,   336,   337,   338,     0,   339,   340,
9565      341,   342,   343,   344,     0,   345,     0,   346,   347,   348,
9566      349,   350,   351,   352,     0,   353,     0,   354,     0,     0,
9567      355,     0,   356,   357,   358,   359,   360,     0,     0,   361,
9568      362,     0,   363,     0,     0,   364,   365,   366,     0,     0,
9569      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
9570      377,   378,   379,   380,   381,   382,   383,     0,   384,   385,
9571      386,   387,     0,   388,   389,     0,   390,     0,   391,   392,
9572      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
9573      400,     0,     0,   401,   402,     0,   403,     0,   404,   405,
9574      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
9575      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
9576      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
9577        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
9578      443,   444,     0,   445,   446,     0,   447,   448,   449,   450,
9579      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
9580      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
9581        0,   469,   470,   471,   472,     0,   473,   474,   475,   476,
9582      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
9583      486,     0,   487,     0,   488,   489,   490,   491,   492,     0,
9584      493,   494,     0,     0,   495,   496,   497,   498,   499,     0,
9585      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
9586      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
9587      516,   517,   518,     0,   519,     0,   520,   521,   522,   523,
9588        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
9589      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
9590      540,   541,   542,   222,     0,     0,     0,     0,     0,     0,
9591        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
9592      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
9593        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
9594      237,   238,  1252,   239,   240,   241,   242,   243,     0,   244,
9595      245,     0,   246,   247,   248,   249,   250,     0,     0,   723,
9596      252,   253,   254,  1253,     0,   256,   257,   258,   259,   260,
9597        0,     0,     0,   261,   262,   263,   264,     0,   265,   266,
9598      267,     0,   268,   269,   270,   271,   272,   273,     0,     0,
9599      274,   275,   276,     0,     0,     0,     0,     0,     0,     0,
9600      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
9601      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
9602      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
9603      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
9604      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
9605      317,   318,   319,   320,     0,   321,     0,   322,     0,     0,
9606        0,   323,   324,   325,     0,   326,   327,     0,   328,   329,
9607        0,   330,   331,   332,   333,   334,     0,   335,   336,   337,
9608      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
9609        0,   346,   347,   348,   349,   350,   351,   352,     0,   353,
9610        0,   354,     0,     0,   355,     0,   356,   357,   358,   359,
9611      360,     0,     0,   361,   362,     0,   363,     0,     0,   364,
9612      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
9613      373,   374,   375,   376,   377,   378,   379,   380,   381,   726,
9614      383,     0,   384,   385,   386,   387,     0,   388,   389,     0,
9615      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
9616        0,     0,   398,   399,   400,     0,     0,   401,   402,     0,
9617      403,     0,   404,   405,   406,   407,   408,   409,   410,   411,
9618      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
9619        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
9620      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
9621      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
9622      727,   448,   449,   450,   451,   452,   453,   728,   455,   456,
9623      457,   458,     0,   459,   460,   461,   462,  1245,     0,   464,
9624      465,   466,   467,   468,     0,   469,   470,   471,   472,     0,
9625      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
9626      483,   484,     0,   485,   486,     0,   487,     0,   488,   489,
9627      490,   491,   492,     0,   730,   494,     0,     0,   731,   496,
9628      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
9629      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
9630      512,   513,   514,   515,   516,   517,   518,     0,   519,     0,
9631      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
9632      526,   527,   528,   529,   732,   531,   532,   533,   534,   535,
9633      536,   537,   538,   539,   540,   541,   542,   222,     0,     0,
9634        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9635        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
9636        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
9637        0,   235,   236,     0,   237,   238,     0,   239,   240,   241,
9638      242,   243,     0,   244,   245,     0,   246,   247,   248,   249,
9639      250,     0,     0,   251,   252,   253,   254,   255,     0,   256,
9640      257,   258,   259,   260,     0,     0,     0,   261,   262,   263,
9641      264,     0,   265,   266,   267,     0,   268,   269,   270,   271,
9642      272,   273,     0,     0,   274,   275,   276,     0,     0,     0,
9643        0,     0,     0,     0,   277,   278,   279,   280,   281,   282,
9644      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
9645      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
9646      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
9647      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
9648      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
9649        0,   322,     0,     0,     0,   323,   324,   325,     0,   326,
9650      327,     0,   328,   329,     0,   330,   331,   332,   333,  1361,
9651        0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
9652      343,   344,     0,   345,     0,   346,   347,   348,   349,   350,
9653      351,   352,     0,   353,     0,   354,     0,     0,   355,     0,
9654      356,   357,   358,   359,   360,     0,     0,   361,   362,     0,
9655      363,     0,     0,   364,   365,   366,     0,     0,   367,   368,
9656      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
9657      379,   380,   381,   382,   383,     0,   384,   385,   386,   387,
9658        0,   388,   389,     0,   390,     0,   391,   392,   393,   394,
9659      395,   396,     0,   397,     0,   743,   398,   399,   400,     0,
9660        0,   401,   402,     0,   403,     0,   404,   405,   406,   407,
9661      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
9662      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
9663      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
9664      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
9665        0,   445,   446,     0,   447,   448,   449,   450,   451,   452,
9666      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
9667      462,   463,     0,   464,   465,   466,   467,   468,     0,   469,
9668      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
9669      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
9670      487,     0,   488,   489,   490,   491,   492,     0,   493,   494,
9671        0,     0,   495,   496,   497,   498,   499,     0,   500,   501,
9672      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
9673      510,   511,     0,     0,   512,   513,   514,   515,   516,   517,
9674      518,     0,   519,     0,   520,   521,   522,   523,     0,     0,
9675      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
9676      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
9677      542,   222,     0,     0,     0,     0,     0,     0,     0,     0,
9678        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
9679      227,   228,   229,   230,  1417,   232,   233,   234,     0,     0,
9680        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
9681        0,   239,   240,   241,   242,   243,     0,   244,   245,     0,
9682      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
9683      254,   255,     0,   256,   257,   258,   259,   260,     0,     0,
9684        0,   261,   262,   263,   264,     0,   265,   266,   267,     0,
9685      268,   269,   270,   271,   272,   273,     0,     0,   274,   275,
9686      276,     0,     0,     0,     0,     0,     0,     0,   277,   278,
9687      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
9688      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
9689        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
9690      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
9691      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
9692      319,   320,     0,   321,     0,   322,     0,     0,     0,   323,
9693      324,   325,     0,   326,   327,     0,   328,   329,     0,   330,
9694      331,   332,   333,  1418,     0,   335,   336,   337,   338,     0,
9695      339,   340,   341,   342,   343,   344,     0,   345,     0,   346,
9696      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
9697        0,     0,   355,     0,   356,   357,   358,   359,   360,     0,
9698        0,   361,   362,     0,   363,     0,     0,   364,   365,   366,
9699        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
9700      375,   376,   377,   378,   379,   380,   381,   382,   383,     0,
9701      384,   385,   386,   387,     0,   388,   389,     0,   390,     0,
9702      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
9703      398,   399,   400,     0,     0,   401,   402,     0,   403,     0,
9704      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
9705      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
9706      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
9707      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
9708      441,   442,   443,   444,     0,   445,   446,     0,   447,   448,
9709      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
9710        0,   459,   460,   461,   462,   463,     0,   464,   465,   466,
9711      467,   468,     0,   469,   470,   471,   472,     0,   473,   474,
9712      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
9713        0,   485,   486,     0,   487,     0,   488,   489,   490,   491,
9714      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
9715      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
9716        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
9717      514,   515,   516,   517,   518,     0,   519,     0,   520,   521,
9718      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
9719      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
9720      538,   539,   540,   541,   542,   222,     0,     0,     0,     0,
9721        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9722      223,   224,   225,   226,   227,   228,   229,   230,   703,   232,
9723      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
9724      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
9725        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
9726        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
9727      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
9728      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
9729        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
9730        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
9731      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
9732        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
9733      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
9734      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
9735      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
9736        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
9737      328,   329,     0,   330,   331,   332,   333,   334,     0,   335,
9738      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
9739        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
9740        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
9741      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
9742        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
9743      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
9744      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
9745      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
9746        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
9747      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
9748      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
9749      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
9750      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
9751      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
9752      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
9753      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
9754        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
9755      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
9756      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
9757      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
9758      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
9759      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
9760        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
9761      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
9762        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
9763      534,   535,   536,   537,   538,   539,   540,   541,   542,   222,
9764        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9765        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
9766      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
9767        0,     0,     0,   235,   236,     0,   237,   238,     0,   239,
9768      240,   241,   242,   243,     0,   244,   245,     0,   246,   247,
9769      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
9770        0,   256,   257,   258,   259,   260,     0,     0,     0,   261,
9771      262,   263,   264,     0,   265,   266,   267,     0,   268,   269,
9772      270,   271,   272,   273,     0,     0,   274,   275,   276,     0,
9773        0,     0,     0,     0,     0,     0,   277,   278,   279,   280,
9774      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
9775      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
9776      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
9777      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
9778      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
9779        0,   321,     0,   322,     0,     0,     0,   323,   324,  2633,
9780        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
9781      333,   334,     0,   335,   336,   337,   338,     0,   339,   340,
9782      341,   342,   343,   344,     0,   345,     0,   346,   347,   348,
9783      349,   350,   351,   352,     0,   353,     0,   354,     0,     0,
9784      355,     0,   356,   357,   358,   359,   360,     0,     0,   361,
9785      362,     0,   363,     0,     0,   364,   365,  2634,     0,     0,
9786      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
9787      377,   378,   379,   380,   381,   382,   383,     0,   384,   385,
9788      386,   387,     0,   388,   389,     0,   390,     0,   391,   392,
9789      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
9790      400,     0,     0,   401,   402,     0,   403,     0,   404,   405,
9791      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
9792      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
9793      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
9794        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
9795      443,   444,     0,   445,   446,     0,   447,   448,   449,   450,
9796      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
9797      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
9798        0,   469,   470,   471,   472,     0,   473,   474,   475,   476,
9799      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
9800      486,  2635,   487,     0,   488,  2636,   490,  2637,   492,     0,
9801      493,   494,     0,     0,   495,   496,   497,   498,   499,     0,
9802      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
9803      508,  2638,   510,   511,     0,     0,   512,   513,   514,   515,
9804      516,   517,   518,     0,   519,     0,   520,   521,   522,   523,
9805        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
9806      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
9807      540,   541,   542,   222,     0,   600,     0,     0,     0,     0,
9808        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
9809      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
9810        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
9811      237,   238,     0,   239,   240,   241,   242,   243,     0,   244,
9812      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
9813      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
9814        0,     0,     0,   261,   262,   263,   264,     0,   265,   266,
9815      267,     0,   268,   269,   270,   271,   272,   273,     0,     0,
9816      274,   275,   276,     0,     0,     0,     0,     0,     0,     0,
9817      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
9818      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
9819      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
9820      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
9821      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
9822      317,   318,   319,   320,     0,   321,     0,   322,     0,     0,
9823        0,   323,   324,   325,     0,   326,   327,     0,   328,   329,
9824        0,   330,   331,   332,   333,   334,     0,   335,   336,   337,
9825      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
9826        0,   346,   347,   348,   349,   350,   351,   352,     0,   353,
9827        0,   354,     0,     0,   355,     0,   356,   357,   358,   359,
9828      360,     0,     0,   361,   362,     0,   363,     0,     0,   364,
9829      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
9830      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
9831      383,     0,   384,   385,   386,   387,     0,   388,   389,     0,
9832      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
9833        0,     0,   398,   399,   400,     0,     0,   401,   402,     0,
9834      403,     0,   404,   405,   406,   407,   408,   409,   410,   411,
9835      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
9836        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
9837      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
9838      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
9839      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
9840      457,   458,     0,   459,   460,   461,   462,   463,     0,   464,
9841      465,   466,   467,   468,     0,   469,   470,   471,   472,     0,
9842      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
9843      483,   484,     0,   485,   486,     0,   487,     0,   488,   489,
9844      490,   491,   492,     0,   493,   494,     0,     0,   495,   496,
9845      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
9846      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
9847      512,   513,   514,   515,   516,   517,   518,     0,   519,     0,
9848      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
9849      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
9850      536,   537,   538,   539,   540,   541,   542,   222,     0,     0,
9851        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9852        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
9853        0,   232,   233,   234,     0,     0,     0,     0,     0,  3847,
9854        0,   235,   236,     0,   237,   238,     0,   239,   240,   241,
9855      242,   243,     0,   244,   245,     0,   246,   247,   248,   249,
9856      250,     0,     0,   251,   252,   253,   254,   255,     0,   256,
9857      257,   258,   259,   260,     0,     0,     0,   261,   262,   263,
9858      264,     0,   265,   266,   267,     0,   268,   269,   270,   271,
9859      272,   273,     0,     0,   274,   275,   276,     0,     0,     0,
9860        0,     0,     0,     0,   277,   278,   279,   280,   281,   282,
9861      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
9862      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
9863      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
9864      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
9865      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
9866        0,   322,     0,     0,     0,   323,   324,   325,     0,   326,
9867      327,     0,   328,   329,     0,   330,   331,   332,   333,   334,
9868        0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
9869      343,   344,     0,   345,     0,   346,   347,   348,   349,   350,
9870      351,   352,     0,   353,     0,   354,     0,     0,   355,     0,
9871      356,   357,   358,   359,   360,     0,     0,   361,   362,     0,
9872      363,     0,     0,   364,   365,   366,     0,     0,   367,   368,
9873      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
9874      379,   380,   381,   382,   383,     0,   384,   385,   386,   387,
9875        0,   388,   389,     0,   390,     0,   391,   392,   393,   394,
9876      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
9877        0,   401,   402,     0,   403,     0,   404,   405,   406,   407,
9878      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
9879      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
9880      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
9881      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
9882        0,   445,   446,     0,   447,   448,   449,   450,   451,   452,
9883      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
9884      462,   463,     0,   464,   465,   466,   467,   468,     0,   469,
9885      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
9886      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
9887      487,     0,   488,   489,   490,   491,   492,     0,   493,   494,
9888        0,     0,   495,   496,   497,   498,   499,     0,   500,   501,
9889      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
9890      510,   511,     0,     0,   512,   513,   514,   515,   516,   517,
9891      518,     0,   519,     0,   520,   521,   522,   523,     0,     0,
9892      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
9893      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
9894      542,   222,     0,     0,     0,     0,     0,     0,     0,     0,
9895        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
9896      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
9897        0,     0,     0,  3861,     0,   235,   236,     0,   237,   238,
9898        0,   239,   240,   241,   242,   243,     0,   244,   245,     0,
9899      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
9900      254,   255,     0,   256,   257,   258,   259,   260,     0,     0,
9901        0,   261,   262,   263,   264,     0,   265,   266,   267,     0,
9902      268,   269,   270,   271,   272,   273,     0,     0,   274,   275,
9903      276,     0,     0,     0,     0,     0,     0,     0,   277,   278,
9904      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
9905      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
9906        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
9907      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
9908      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
9909      319,   320,     0,   321,     0,   322,     0,     0,     0,   323,
9910      324,   325,     0,   326,   327,     0,   328,   329,     0,   330,
9911      331,   332,   333,   334,     0,   335,   336,   337,   338,     0,
9912      339,   340,   341,   342,   343,   344,     0,   345,     0,   346,
9913      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
9914        0,     0,   355,     0,   356,   357,   358,   359,   360,     0,
9915        0,   361,   362,     0,   363,     0,     0,   364,   365,   366,
9916        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
9917      375,   376,   377,   378,   379,   380,   381,   382,   383,     0,
9918      384,   385,   386,   387,     0,   388,   389,     0,   390,     0,
9919      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
9920      398,   399,   400,     0,     0,   401,   402,     0,   403,     0,
9921      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
9922      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
9923      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
9924      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
9925      441,   442,   443,   444,     0,   445,   446,     0,   447,   448,
9926      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
9927        0,   459,   460,   461,   462,   463,     0,   464,   465,   466,
9928      467,   468,     0,   469,   470,   471,   472,     0,   473,   474,
9929      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
9930        0,   485,   486,     0,   487,     0,   488,   489,   490,   491,
9931      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
9932      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
9933        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
9934      514,   515,   516,   517,   518,     0,   519,     0,   520,   521,
9935      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
9936      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
9937      538,   539,   540,   541,   542,   222,     0,     0,     0,     0,
9938        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9939      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
9940      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
9941      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
9942        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
9943        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
9944      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
9945      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
9946        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
9947        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
9948      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
9949        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
9950      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
9951      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
9952      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
9953        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
9954      328,   329,     0,   330,   331,   332,   333,   334,     0,   335,
9955      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
9956        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
9957        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
9958      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
9959        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
9960      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
9961      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
9962      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
9963        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
9964      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
9965      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
9966      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
9967      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
9968      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
9969      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
9970      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
9971        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
9972      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
9973      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
9974      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
9975      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
9976      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
9977        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
9978      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
9979        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
9980      534,   535,   536,   537,   538,   539,   540,   541,   542,   222,
9981        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9982        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
9983      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
9984        0,     0,     0,   235,   236,     0,   237,   238,     0,   239,
9985      240,   241,   242,   243,     0,   244,   245,     0,   246,   247,
9986      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
9987        0,   256,   257,   258,   259,   260,     0,     0,     0,   261,
9988      262,   263,   264,     0,   265,   266,   267,     0,   268,   269,
9989      270,   271,   272,   273,     0,     0,   274,   275,   276,     0,
9990        0,     0,     0,     0,     0,     0,   277,   278,   279,   280,
9991      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
9992      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
9993      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
9994      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
9995      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
9996        0,   321,     0,   322,     0,     0,     0,   323,   324,   325,
9997        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
9998      333,   334,     0,   335,   336,   337,   338,     0,   339,   340,
9999      341,   342,   343,   344,     0,   345,     0,   346,   347,   348,
10000      349,   350,   351,   352,     0,   353,     0,   354,     0,     0,
10001      355,     0,   356,   357,   358,   359,   360,     0,     0,   361,
10002      362,     0,   363,     0,     0,   364,   365,   366,     0,     0,
10003      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
10004      377,   378,   379,   380,   381,   382,   383,     0,   384,   385,
10005      386,   387,     0,   388,   389,     0,   390,     0,   391,   392,
10006      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
10007      400,     0,     0,   401,   402,     0,   403,     0,   404,   405,
10008      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
10009      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
10010      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
10011        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
10012      443,   444,     0,   445,   446,     0,   447,   448,   449,   450,
10013      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
10014      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
10015        0,   469,   470,   471,   472,     0,   473,   474,   475,   476,
10016      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
10017      486,     0,   487,     0,   488,   489,   490,   491,   492,     0,
10018      493,   494,     0,     0,   689,   496,   497,   498,   499,     0,
10019      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
10020      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
10021      516,   517,   518,     0,   519,     0,   520,   521,   522,   523,
10022        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
10023      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
10024      540,   541,   542,   222,     0,     0,     0,     0,     0,     0,
10025        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
10026      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
10027        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
10028      237,   238,     0,   239,   240,   241,   242,   243,     0,   244,
10029      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
10030      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
10031        0,     0,     0,   261,   262,   263,   264,     0,   265,   266,
10032      267,     0,   268,   269,   270,   271,   272,   273,     0,     0,
10033      274,   275,   276,     0,     0,     0,     0,     0,     0,     0,
10034      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
10035      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
10036      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
10037      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
10038      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
10039      317,   318,   319,   320,     0,   321,     0,   322,     0,     0,
10040        0,   323,   324,   325,     0,   326,   327,     0,   328,   329,
10041        0,   330,   331,   332,   333,   334,     0,   335,   336,   337,
10042      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
10043        0,   346,   347,   348,   349,   350,   351,   352,     0,   353,
10044        0,   354,     0,     0,   355,     0,   356,   357,   358,   359,
10045      360,     0,     0,   361,   362,     0,   363,     0,     0,   364,
10046      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
10047      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
10048      383,     0,   384,   385,   386,   387,     0,   388,   389,     0,
10049      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
10050        0,     0,   398,   399,   400,     0,     0,   401,   402,     0,
10051      403,     0,   404,   405,   406,   407,   408,   409,   410,   411,
10052      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
10053        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
10054      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
10055      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
10056      447,   448,   449,   450,   451,   452,   701,   454,   455,   456,
10057      457,   458,     0,   459,   460,   461,   462,   463,     0,   464,
10058      465,   466,   467,   468,     0,   469,   470,   471,   472,     0,
10059      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
10060      483,   484,     0,   485,   486,     0,   487,     0,   488,   489,
10061      490,   491,   492,     0,   493,   494,     0,     0,   495,   496,
10062      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
10063      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
10064      512,   513,   514,   515,   516,   517,   518,     0,   519,     0,
10065      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
10066      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
10067      536,   537,   538,   539,   540,   541,   542,   222,     0,     0,
10068        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10069        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
10070        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
10071        0,   235,   236,     0,   237,   238,     0,   239,   240,   241,
10072      242,   243,     0,   244,   245,     0,   246,   247,   248,   249,
10073      250,     0,     0,   723,   252,   253,   254,   255,     0,   256,
10074      257,   258,   259,   260,     0,     0,     0,   261,   262,   263,
10075      264,     0,   265,   266,   267,     0,   724,   269,   270,   271,
10076      272,   273,     0,     0,   274,   275,   276,     0,     0,     0,
10077        0,     0,     0,     0,   277,   278,   279,   280,   281,   282,
10078      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
10079      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
10080      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
10081      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
10082      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
10083        0,   322,     0,     0,     0,   323,   324,   325,     0,   326,
10084      327,     0,   328,   329,     0,   330,   331,   332,   333,   334,
10085        0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
10086      343,   344,     0,   345,     0,   346,   347,   348,   349,   350,
10087      351,   352,     0,   353,     0,   354,     0,     0,   355,     0,
10088      356,   357,   358,   359,   360,     0,     0,   361,   362,     0,
10089      363,     0,     0,   364,   365,   725,     0,     0,   367,   368,
10090      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
10091      379,   380,   381,   726,   383,     0,   384,   385,   386,   387,
10092        0,   388,   389,     0,   390,     0,   391,   392,   393,   394,
10093      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
10094        0,   401,   402,     0,   403,     0,   404,   405,   406,   407,
10095      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
10096      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
10097      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
10098      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
10099        0,   445,   446,     0,   727,   448,   449,   450,   451,   452,
10100      453,   728,   455,   456,   457,   458,     0,   459,   460,   461,
10101      462,   729,     0,   464,   465,   466,   467,   468,     0,   469,
10102      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
10103      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
10104      487,     0,   488,   489,   490,   491,   492,     0,   730,   494,
10105        0,     0,   731,   496,   497,   498,   499,     0,   500,   501,
10106      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
10107      510,   511,     0,     0,   512,   513,   514,   515,   516,   517,
10108      518,     0,   519,     0,   520,   521,   522,   523,     0,     0,
10109      524,     0,     0,   525,   526,   527,   528,   529,   732,   531,
10110      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
10111      542,   222,     0,     0,     0,     0,     0,     0,     0,     0,
10112        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
10113      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
10114        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
10115        0,   239,   240,   241,   242,   243,     0,   244,   245,     0,
10116      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
10117      254,   255,     0,   256,   257,   258,   259,   260,     0,     0,
10118        0,   261,   262,   263,   264,     0,   265,   266,   267,     0,
10119      268,   269,   270,   271,   272,   273,     0,     0,   274,   275,
10120      276,     0,     0,     0,     0,     0,     0,     0,   277,   278,
10121      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
10122      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
10123        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
10124      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
10125      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
10126      319,   320,     0,   321,     0,   322,     0,     0,     0,   323,
10127      324,   325,     0,   326,   327,     0,   328,   329,     0,   330,
10128      331,   332,   333,   334,     0,   335,   336,   337,   338,     0,
10129      339,   340,   341,   342,   343,   344,     0,   345,     0,   346,
10130      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
10131        0,     0,   355,     0,   356,   357,   358,   359,   360,     0,
10132        0,   361,   362,     0,   363,     0,     0,   364,   365,   366,
10133        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
10134      375,   376,   377,   378,   379,   380,   381,   382,   383,     0,
10135      384,   385,   386,   387,     0,   388,   389,     0,   390,     0,
10136      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
10137      398,   399,   400,     0,     0,   401,   402,     0,   403,     0,
10138      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
10139      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
10140      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
10141      755,   433,     0,   434,   435,   436,   437,   438,   439,   440,
10142      441,   442,   443,   444,     0,   445,   446,     0,   447,   448,
10143      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
10144        0,   459,   460,   461,   462,   463,     0,   464,   465,   466,
10145      467,   468,     0,   469,   470,   471,   472,     0,   473,   474,
10146      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
10147        0,   485,   486,     0,   487,     0,   488,   489,   490,   491,
10148      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
10149      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
10150        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
10151      514,   515,   516,   517,   518,     0,   519,     0,   520,   521,
10152      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
10153      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
10154      538,   539,   540,   541,   542,   222,     0,     0,     0,     0,
10155        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10156      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
10157      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
10158      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
10159        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
10160        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
10161      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
10162      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
10163        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
10164        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
10165      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
10166        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
10167      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
10168      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
10169      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
10170        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
10171      328,   329,     0,   330,   331,   332,   333,   856,     0,   335,
10172      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
10173        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
10174        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
10175      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
10176        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
10177      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
10178      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
10179      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
10180        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
10181      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
10182      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
10183      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
10184      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
10185      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
10186      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
10187      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
10188        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
10189      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
10190      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
10191      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
10192      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
10193      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
10194        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
10195      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
10196        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
10197      534,   535,   536,   537,   538,   539,   540,   541,   542,   222,
10198        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10199        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
10200      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
10201        0,     0,     0,   235,   236,     0,   237,   238,     0,   239,
10202      240,   241,   242,   243,     0,   244,   245,     0,   246,   247,
10203      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
10204        0,   256,   257,   258,   259,   260,     0,     0,     0,   261,
10205      262,   263,   264,     0,   265,   266,   267,     0,   268,   269,
10206      270,   271,   272,   273,     0,     0,   274,   275,   276,     0,
10207        0,     0,     0,     0,     0,     0,   277,   278,   279,   280,
10208      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
10209      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
10210      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
10211      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
10212      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
10213        0,   321,     0,   322,     0,     0,     0,   323,   324,   325,
10214        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
10215      333,   863,     0,   335,   336,   337,   338,     0,   339,   340,
10216      341,   342,   343,   344,     0,   345,     0,   346,   347,   348,
10217      349,   350,   351,   352,     0,   353,     0,   354,     0,     0,
10218      355,     0,   356,   357,   358,   359,   360,     0,     0,   361,
10219      362,     0,   363,     0,     0,   364,   365,   366,     0,     0,
10220      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
10221      377,   378,   379,   380,   381,   382,   383,     0,   384,   385,
10222      386,   387,     0,   388,   389,     0,   390,     0,   391,   392,
10223      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
10224      400,     0,     0,   401,   402,     0,   403,     0,   404,   405,
10225      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
10226      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
10227      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
10228        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
10229      443,   444,     0,   445,   446,     0,   447,   448,   449,   450,
10230      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
10231      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
10232        0,   469,   470,   471,   472,     0,   473,   474,   475,   476,
10233      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
10234      486,     0,   487,     0,   488,   489,   490,   491,   492,     0,
10235      493,   494,     0,     0,   495,   496,   497,   498,   499,     0,
10236      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
10237      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
10238      516,   517,   518,     0,   519,     0,   520,   521,   522,   523,
10239        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
10240      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
10241      540,   541,   542,   222,     0,     0,     0,     0,     0,     0,
10242        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
10243      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
10244        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
10245      237,   238,     0,   239,   240,   241,   242,   243,     0,   244,
10246      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
10247      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
10248        0,     0,     0,   261,   262,   263,   264,     0,   265,   266,
10249      267,     0,   268,   269,   270,   271,   272,   273,     0,     0,
10250      274,   275,   276,     0,     0,     0,     0,     0,     0,     0,
10251      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
10252      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
10253      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
10254      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
10255      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
10256      317,   318,   319,   320,     0,   321,     0,   322,     0,     0,
10257        0,   323,   324,   325,     0,   326,   327,     0,   328,   329,
10258        0,   330,   331,   332,   333,   879,     0,   335,   336,   337,
10259      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
10260        0,   346,   347,   348,   349,   350,   351,   352,     0,   353,
10261        0,   354,     0,     0,   355,     0,   356,   357,   358,   359,
10262      360,     0,     0,   361,   362,     0,   363,     0,     0,   364,
10263      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
10264      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
10265      383,     0,   384,   385,   386,   387,     0,   388,   389,     0,
10266      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
10267        0,     0,   398,   399,   400,     0,     0,   401,   402,     0,
10268      403,     0,   404,   405,   406,   407,   408,   409,   410,   411,
10269      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
10270        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
10271      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
10272      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
10273      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
10274      457,   458,     0,   459,   460,   461,   462,   463,     0,   464,
10275      465,   466,   467,   468,     0,   469,   470,   471,   472,     0,
10276      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
10277      483,   484,     0,   485,   486,     0,   487,     0,   488,   489,
10278      490,   491,   492,     0,   493,   494,     0,     0,   495,   496,
10279      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
10280      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
10281      512,   513,   514,   515,   516,   517,   518,     0,   519,     0,
10282      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
10283      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
10284      536,   537,   538,   539,   540,   541,   542,   222,     0,     0,
10285        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10286        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
10287        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
10288        0,   235,   236,     0,   237,   238,     0,   239,   240,   241,
10289      242,   243,     0,   244,   245,     0,   246,   247,   248,   249,
10290      250,     0,     0,   251,   252,   253,   254,   255,     0,   256,
10291      257,   258,   259,   260,     0,     0,     0,   261,   262,   263,
10292      264,     0,   265,   266,   267,     0,   268,   269,   270,   271,
10293      272,   273,     0,     0,   274,   275,   276,     0,     0,     0,
10294        0,     0,     0,     0,   277,   278,   279,   280,   281,   282,
10295      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
10296      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
10297      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
10298      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
10299      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
10300        0,   322,     0,     0,     0,   323,   324,   325,     0,   326,
10301      327,     0,   328,   329,     0,   330,   331,   332,   333,   940,
10302        0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
10303      343,   344,     0,   345,     0,   346,   347,   348,   349,   350,
10304      351,   352,     0,   353,     0,   354,     0,     0,   355,     0,
10305      356,   357,   358,   359,   360,     0,     0,   361,   362,     0,
10306      363,     0,     0,   364,   365,   366,     0,     0,   367,   368,
10307      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
10308      379,   380,   381,   382,   383,     0,   384,   385,   386,   387,
10309        0,   388,   389,     0,   390,     0,   391,   392,   393,   394,
10310      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
10311        0,   401,   402,     0,   403,     0,   404,   405,   406,   407,
10312      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
10313      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
10314      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
10315      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
10316        0,   445,   446,     0,   447,   448,   449,   450,   451,   452,
10317      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
10318      462,   463,     0,   464,   465,   466,   467,   468,     0,   469,
10319      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
10320      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
10321      487,     0,   488,   489,   490,   491,   492,     0,   493,   494,
10322        0,     0,   495,   496,   497,   498,   499,     0,   500,   501,
10323      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
10324      510,   511,     0,     0,   512,   513,   514,   515,   516,   517,
10325      518,     0,   519,     0,   520,   521,   522,   523,     0,     0,
10326      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
10327      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
10328      542,   222,     0,     0,     0,     0,     0,     0,     0,     0,
10329        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
10330      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
10331        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
10332        0,   239,   240,   241,   242,   243,     0,   244,   245,     0,
10333      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
10334      254,   255,     0,   256,   257,   258,   259,   260,     0,     0,
10335        0,   261,   262,   263,   264,     0,   265,   266,   267,     0,
10336      268,   269,   270,   271,   272,   273,     0,     0,   274,   275,
10337      276,     0,     0,     0,     0,     0,     0,     0,   277,   278,
10338      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
10339      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
10340        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
10341      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
10342      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
10343      319,   320,     0,   321,     0,   322,     0,     0,     0,   323,
10344      324,   325,     0,   326,   327,     0,   328,   329,     0,   330,
10345      331,   332,   333,   956,     0,   335,   336,   337,   338,     0,
10346      339,   340,   341,   342,   343,   344,     0,   345,     0,   346,
10347      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
10348        0,     0,   355,     0,   356,   357,   358,   359,   360,     0,
10349        0,   361,   362,     0,   363,     0,     0,   364,   365,   366,
10350        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
10351      375,   376,   377,   378,   379,   380,   381,   382,   383,     0,
10352      384,   385,   386,   387,     0,   388,   389,     0,   390,     0,
10353      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
10354      398,   399,   400,     0,     0,   401,   402,     0,   403,     0,
10355      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
10356      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
10357      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
10358      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
10359      441,   442,   443,   444,     0,   445,   446,     0,   447,   448,
10360      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
10361        0,   459,   460,   461,   462,   463,     0,   464,   465,   466,
10362      467,   468,     0,   469,   470,   471,   472,     0,   473,   474,
10363      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
10364        0,   485,   486,     0,   487,     0,   488,   489,   490,   491,
10365      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
10366      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
10367        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
10368      514,   515,   516,   517,   518,     0,   519,     0,   520,   521,
10369      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
10370      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
10371      538,   539,   540,   541,   542,   222,     0,     0,     0,     0,
10372        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10373      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
10374      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
10375      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
10376        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
10377        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
10378      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
10379      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
10380        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
10381        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
10382      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
10383        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
10384      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
10385      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
10386      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
10387        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
10388      328,   329,     0,   330,   331,   332,   333,   991,     0,   335,
10389      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
10390        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
10391        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
10392      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
10393        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
10394      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
10395      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
10396      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
10397        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
10398      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
10399      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
10400      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
10401      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
10402      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
10403      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
10404      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
10405        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
10406      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
10407      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
10408      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
10409      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
10410      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
10411        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
10412      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
10413        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
10414      534,   535,   536,   537,   538,   539,   540,   541,   542,   222,
10415        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10416        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
10417      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
10418        0,     0,     0,   235,   236,     0,   237,   238,     0,   239,
10419      240,   241,   242,   243,     0,   244,   245,     0,   246,   247,
10420      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
10421        0,   256,   257,   258,   259,   260,     0,     0,     0,   261,
10422      262,   263,   264,     0,   265,   266,   267,     0,   268,   269,
10423      270,   271,   272,   273,     0,     0,   274,   275,   276,     0,
10424        0,     0,     0,     0,     0,     0,   277,   278,   279,   280,
10425      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
10426      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
10427      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
10428      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
10429      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
10430        0,   321,     0,   322,     0,     0,     0,   323,   324,   325,
10431        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
10432      333,  1047,     0,   335,   336,   337,   338,     0,   339,   340,
10433      341,   342,   343,   344,     0,   345,     0,   346,   347,   348,
10434      349,   350,   351,   352,     0,   353,     0,   354,     0,     0,
10435      355,     0,   356,   357,   358,   359,   360,     0,     0,   361,
10436      362,     0,   363,     0,     0,   364,   365,   366,     0,     0,
10437      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
10438      377,   378,   379,   380,   381,   382,   383,     0,   384,   385,
10439      386,   387,     0,   388,   389,     0,   390,     0,   391,   392,
10440      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
10441      400,     0,     0,   401,   402,     0,   403,     0,   404,   405,
10442      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
10443      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
10444      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
10445        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
10446      443,   444,     0,   445,   446,     0,   447,   448,   449,   450,
10447      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
10448      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
10449        0,   469,   470,   471,   472,     0,   473,   474,   475,   476,
10450      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
10451      486,     0,   487,     0,   488,   489,   490,   491,   492,     0,
10452      493,   494,     0,     0,   495,   496,   497,   498,   499,     0,
10453      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
10454      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
10455      516,   517,   518,     0,   519,     0,   520,   521,   522,   523,
10456        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
10457      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
10458      540,   541,   542,   222,     0,     0,     0,     0,     0,     0,
10459        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
10460      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
10461        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
10462      237,   238,     0,   239,   240,   241,   242,   243,     0,   244,
10463      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
10464      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
10465        0,     0,     0,   261,   262,   263,   264,     0,   265,   266,
10466      267,     0,   268,   269,   270,   271,   272,   273,     0,     0,
10467      274,   275,   276,     0,     0,     0,     0,     0,     0,     0,
10468      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
10469      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
10470      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
10471      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
10472      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
10473      317,   318,   319,   320,     0,   321,     0,   322,     0,     0,
10474        0,   323,   324,   325,     0,   326,   327,     0,   328,   329,
10475        0,   330,   331,   332,   333,  1051,     0,   335,   336,   337,
10476      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
10477        0,   346,   347,   348,   349,   350,   351,   352,     0,   353,
10478        0,   354,     0,     0,   355,     0,   356,   357,   358,   359,
10479      360,     0,     0,   361,   362,     0,   363,     0,     0,   364,
10480      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
10481      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
10482      383,     0,   384,   385,   386,   387,     0,   388,   389,     0,
10483      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
10484        0,     0,   398,   399,   400,     0,     0,   401,   402,     0,
10485      403,     0,   404,   405,   406,   407,   408,   409,   410,   411,
10486      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
10487        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
10488      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
10489      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
10490      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
10491      457,   458,     0,   459,   460,   461,   462,   463,     0,   464,
10492      465,   466,   467,   468,     0,   469,   470,   471,   472,     0,
10493      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
10494      483,   484,     0,   485,   486,     0,   487,     0,   488,   489,
10495      490,   491,   492,     0,   493,   494,     0,     0,   495,   496,
10496      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
10497      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
10498      512,   513,   514,   515,   516,   517,   518,     0,   519,     0,
10499      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
10500      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
10501      536,   537,   538,   539,   540,   541,   542,   222,     0,     0,
10502        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10503        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
10504        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
10505        0,   235,   236,     0,   237,   238,     0,   239,   240,   241,
10506      242,   243,     0,   244,   245,     0,   246,   247,   248,   249,
10507      250,     0,     0,   251,   252,   253,   254,   255,     0,   256,
10508      257,   258,   259,   260,     0,     0,     0,   261,   262,   263,
10509      264,     0,   265,   266,   267,     0,   268,   269,   270,   271,
10510      272,   273,     0,     0,   274,   275,   276,     0,     0,     0,
10511        0,     0,     0,     0,   277,   278,   279,   280,   281,   282,
10512      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
10513      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
10514      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
10515      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
10516      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
10517        0,   322,     0,     0,     0,   323,   324,   325,     0,   326,
10518      327,     0,   328,   329,     0,   330,   331,   332,   333,  1053,
10519        0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
10520      343,   344,     0,   345,     0,   346,   347,   348,   349,   350,
10521      351,   352,     0,   353,     0,   354,     0,     0,   355,     0,
10522      356,   357,   358,   359,   360,     0,     0,   361,   362,     0,
10523      363,     0,     0,   364,   365,   366,     0,     0,   367,   368,
10524      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
10525      379,   380,   381,   382,   383,     0,   384,   385,   386,   387,
10526        0,   388,   389,     0,   390,     0,   391,   392,   393,   394,
10527      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
10528        0,   401,   402,     0,   403,     0,   404,   405,   406,   407,
10529      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
10530      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
10531      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
10532      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
10533        0,   445,   446,     0,   447,   448,   449,   450,   451,   452,
10534      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
10535      462,   463,     0,   464,   465,   466,   467,   468,     0,   469,
10536      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
10537      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
10538      487,     0,   488,   489,   490,   491,   492,     0,   493,   494,
10539        0,     0,   495,   496,   497,   498,   499,     0,   500,   501,
10540      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
10541      510,   511,     0,     0,   512,   513,   514,   515,   516,   517,
10542      518,     0,   519,     0,   520,   521,   522,   523,     0,     0,
10543      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
10544      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
10545      542,   222,     0,     0,     0,     0,     0,     0,     0,     0,
10546        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
10547      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
10548        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
10549        0,   239,   240,   241,   242,   243,     0,   244,   245,     0,
10550      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
10551      254,   255,     0,   256,   257,   258,   259,   260,     0,     0,
10552        0,   261,   262,   263,   264,     0,   265,   266,   267,     0,
10553      268,   269,   270,   271,   272,   273,     0,     0,   274,   275,
10554      276,     0,     0,     0,     0,     0,     0,     0,   277,   278,
10555      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
10556      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
10557        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
10558      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
10559      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
10560      319,   320,     0,   321,     0,   322,     0,     0,     0,   323,
10561      324,   325,     0,   326,   327,     0,   328,   329,     0,   330,
10562      331,   332,   333,  1055,     0,   335,   336,   337,   338,     0,
10563      339,   340,   341,   342,   343,   344,     0,   345,     0,   346,
10564      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
10565        0,     0,   355,     0,   356,   357,   358,   359,   360,     0,
10566        0,   361,   362,     0,   363,     0,     0,   364,   365,   366,
10567        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
10568      375,   376,   377,   378,   379,   380,   381,   382,   383,     0,
10569      384,   385,   386,   387,     0,   388,   389,     0,   390,     0,
10570      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
10571      398,   399,   400,     0,     0,   401,   402,     0,   403,     0,
10572      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
10573      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
10574      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
10575      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
10576      441,   442,   443,   444,     0,   445,   446,     0,   447,   448,
10577      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
10578        0,   459,   460,   461,   462,   463,     0,   464,   465,   466,
10579      467,   468,     0,   469,   470,   471,   472,     0,   473,   474,
10580      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
10581        0,   485,   486,     0,   487,     0,   488,   489,   490,   491,
10582      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
10583      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
10584        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
10585      514,   515,   516,   517,   518,     0,   519,     0,   520,   521,
10586      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
10587      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
10588      538,   539,   540,   541,   542,   222,     0,     0,     0,     0,
10589        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10590      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
10591      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
10592      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
10593        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
10594        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
10595      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
10596      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
10597        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
10598        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
10599      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
10600        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
10601      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
10602      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
10603      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
10604        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
10605      328,   329,     0,   330,   331,   332,   333,  1059,     0,   335,
10606      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
10607        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
10608        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
10609      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
10610        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
10611      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
10612      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
10613      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
10614        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
10615      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
10616      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
10617      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
10618      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
10619      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
10620      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
10621      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
10622        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
10623      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
10624      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
10625      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
10626      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
10627      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
10628        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
10629      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
10630        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
10631      534,   535,   536,   537,   538,   539,   540,   541,   542,   222,
10632        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10633        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
10634      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
10635        0,     0,     0,   235,   236,     0,   237,   238,     0,   239,
10636      240,   241,   242,   243,     0,   244,   245,     0,   246,   247,
10637      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
10638        0,   256,   257,   258,   259,   260,     0,     0,     0,   261,
10639      262,   263,   264,     0,   265,   266,   267,     0,   268,   269,
10640      270,   271,   272,   273,     0,     0,   274,   275,   276,     0,
10641        0,     0,     0,     0,     0,     0,   277,   278,   279,   280,
10642      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
10643      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
10644      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
10645      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
10646      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
10647        0,   321,     0,   322,     0,     0,     0,   323,   324,   325,
10648        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
10649      333,  1067,     0,   335,   336,   337,   338,     0,   339,   340,
10650      341,   342,   343,   344,     0,   345,     0,   346,   347,   348,
10651      349,   350,   351,   352,     0,   353,     0,   354,     0,     0,
10652      355,     0,   356,   357,   358,   359,   360,     0,     0,   361,
10653      362,     0,   363,     0,     0,   364,   365,   366,     0,     0,
10654      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
10655      377,   378,   379,   380,   381,   382,   383,     0,   384,   385,
10656      386,   387,     0,   388,   389,     0,   390,     0,   391,   392,
10657      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
10658      400,     0,     0,   401,   402,     0,   403,     0,   404,   405,
10659      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
10660      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
10661      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
10662        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
10663      443,   444,     0,   445,   446,     0,   447,   448,   449,   450,
10664      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
10665      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
10666        0,   469,   470,   471,   472,     0,   473,   474,   475,   476,
10667      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
10668      486,     0,   487,     0,   488,   489,   490,   491,   492,     0,
10669      493,   494,     0,     0,   495,   496,   497,   498,   499,     0,
10670      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
10671      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
10672      516,   517,   518,     0,   519,     0,   520,   521,   522,   523,
10673        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
10674      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
10675      540,   541,   542,   222,     0,     0,     0,     0,     0,     0,
10676        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
10677      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
10678        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
10679      237,   238,     0,   239,   240,   241,   242,   243,     0,   244,
10680      245,     0,   246,   247,   248,   249,   250,     0,     0,   723,
10681      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
10682        0,     0,     0,   261,   262,   263,   264,     0,   265,   266,
10683      267,     0,   268,   269,   270,   271,   272,   273,     0,     0,
10684      274,   275,   276,     0,     0,     0,     0,     0,     0,     0,
10685      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
10686      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
10687      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
10688      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
10689      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
10690      317,   318,   319,   320,     0,   321,     0,   322,     0,     0,
10691        0,   323,   324,   325,     0,   326,   327,     0,   328,   329,
10692        0,   330,   331,   332,   333,   334,     0,   335,   336,   337,
10693      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
10694        0,   346,   347,   348,   349,   350,   351,   352,     0,   353,
10695        0,   354,     0,     0,   355,     0,   356,   357,   358,   359,
10696      360,     0,     0,   361,   362,     0,   363,     0,     0,   364,
10697      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
10698      373,   374,   375,   376,   377,   378,   379,   380,   381,   726,
10699      383,     0,   384,   385,   386,   387,     0,   388,   389,     0,
10700      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
10701        0,     0,   398,   399,   400,     0,     0,   401,   402,     0,
10702      403,     0,   404,   405,   406,   407,   408,   409,   410,   411,
10703      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
10704        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
10705      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
10706      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
10707      727,   448,   449,   450,   451,   452,   453,   728,   455,   456,
10708      457,   458,     0,   459,   460,   461,   462,  1245,     0,   464,
10709      465,   466,   467,   468,     0,   469,   470,   471,   472,     0,
10710      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
10711      483,   484,     0,   485,   486,     0,   487,     0,   488,   489,
10712      490,   491,   492,     0,   730,   494,     0,     0,   731,   496,
10713      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
10714      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
10715      512,   513,   514,   515,   516,   517,   518,     0,   519,     0,
10716      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
10717      526,   527,   528,   529,   732,   531,   532,   533,   534,   535,
10718      536,   537,   538,   539,   540,   541,   542,   222,     0,     0,
10719        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10720        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
10721        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
10722        0,   235,   236,     0,   237,   238,     0,   239,   240,   241,
10723      242,   243,     0,   244,   245,     0,   246,   247,   248,   249,
10724      250,     0,     0,   251,   252,   253,   254,   255,     0,   256,
10725      257,   258,   259,   260,     0,     0,     0,   261,   262,   263,
10726      264,     0,   265,   266,   267,     0,   268,   269,   270,   271,
10727      272,   273,     0,     0,   274,   275,   276,     0,     0,     0,
10728        0,     0,     0,     0,   277,   278,   279,   280,   281,   282,
10729      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
10730      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
10731      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
10732      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
10733      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
10734        0,   322,     0,     0,     0,   323,   324,   325,     0,   326,
10735      327,     0,   328,   329,     0,   330,   331,   332,   333,  1542,
10736        0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
10737      343,   344,     0,   345,     0,   346,   347,   348,   349,   350,
10738      351,   352,     0,   353,     0,   354,     0,     0,   355,     0,
10739      356,   357,   358,   359,   360,     0,     0,   361,   362,     0,
10740      363,     0,     0,   364,   365,   366,     0,     0,   367,   368,
10741      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
10742      379,   380,   381,   382,   383,     0,   384,   385,   386,   387,
10743        0,   388,   389,     0,   390,     0,   391,   392,   393,   394,
10744      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
10745        0,   401,   402,     0,   403,     0,   404,   405,   406,   407,
10746      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
10747      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
10748      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
10749      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
10750        0,   445,   446,     0,   447,   448,   449,   450,   451,   452,
10751      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
10752      462,   463,     0,   464,   465,   466,   467,   468,     0,   469,
10753      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
10754      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
10755      487,     0,   488,   489,   490,   491,   492,     0,   493,   494,
10756        0,     0,   495,   496,   497,   498,   499,     0,   500,   501,
10757      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
10758      510,   511,     0,     0,   512,   513,   514,   515,   516,   517,
10759      518,     0,   519,     0,   520,   521,   522,   523,     0,     0,
10760      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
10761      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
10762      542,   222,     0,     0,     0,     0,     0,     0,     0,     0,
10763        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
10764      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
10765        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
10766        0,   239,   240,   241,   242,   243,     0,   244,   245,     0,
10767      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
10768      254,   255,     0,   256,   257,   258,   259,   260,     0,     0,
10769        0,   261,   262,   263,   264,     0,   265,   266,   267,     0,
10770      268,   269,   270,   271,   272,   273,     0,     0,   274,   275,
10771      276,     0,     0,     0,     0,     0,     0,     0,   277,   278,
10772      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
10773      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
10774        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
10775      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
10776      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
10777      319,   320,     0,   321,     0,   322,     0,     0,     0,   323,
10778      324,   325,     0,   326,   327,     0,   328,   329,     0,   330,
10779      331,   332,   333,  1572,     0,   335,   336,   337,   338,     0,
10780      339,   340,   341,   342,   343,   344,     0,   345,     0,   346,
10781      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
10782        0,     0,   355,     0,   356,   357,   358,   359,   360,     0,
10783        0,   361,   362,     0,   363,     0,     0,   364,   365,   366,
10784        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
10785      375,   376,   377,   378,   379,   380,   381,   382,   383,     0,
10786      384,   385,   386,   387,     0,   388,   389,     0,   390,     0,
10787      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
10788      398,   399,   400,     0,     0,   401,   402,     0,   403,     0,
10789      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
10790      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
10791      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
10792      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
10793      441,   442,   443,   444,     0,   445,   446,     0,   447,   448,
10794      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
10795        0,   459,   460,   461,   462,   463,     0,   464,   465,   466,
10796      467,   468,     0,   469,   470,   471,   472,     0,   473,   474,
10797      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
10798        0,   485,   486,     0,   487,     0,   488,   489,   490,   491,
10799      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
10800      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
10801        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
10802      514,   515,   516,   517,   518,     0,   519,     0,   520,   521,
10803      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
10804      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
10805      538,   539,   540,   541,   542,   222,     0,     0,     0,     0,
10806        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10807      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
10808      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
10809      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
10810        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
10811        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
10812      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
10813      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
10814        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
10815        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
10816      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
10817        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
10818      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
10819      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
10820      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
10821        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
10822      328,   329,     0,   330,   331,   332,   333,  1574,     0,   335,
10823      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
10824        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
10825        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
10826      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
10827        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
10828      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
10829      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
10830      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
10831        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
10832      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
10833      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
10834      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
10835      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
10836      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
10837      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
10838      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
10839        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
10840      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
10841      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
10842      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
10843      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
10844      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
10845        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
10846      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
10847        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
10848      534,   535,   536,   537,   538,   539,   540,   541,   542,   222,
10849        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10850        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
10851      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
10852        0,     0,     0,   235,   236,     0,   237,   238,     0,   239,
10853      240,   241,   242,   243,     0,   244,   245,     0,   246,   247,
10854      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
10855        0,   256,   257,   258,   259,   260,     0,     0,     0,   261,
10856      262,   263,   264,     0,   265,   266,   267,     0,   268,   269,
10857      270,   271,   272,   273,     0,     0,   274,   275,   276,     0,
10858        0,     0,     0,     0,     0,     0,   277,   278,   279,   280,
10859      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
10860      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
10861      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
10862      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
10863      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
10864        0,   321,     0,   322,     0,     0,     0,   323,   324,   325,
10865        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
10866      333,  1644,     0,   335,   336,   337,   338,     0,   339,   340,
10867      341,   342,   343,   344,     0,   345,     0,   346,   347,   348,
10868      349,   350,   351,   352,     0,   353,     0,   354,     0,     0,
10869      355,     0,   356,   357,   358,   359,   360,     0,     0,   361,
10870      362,     0,   363,     0,     0,   364,   365,   366,     0,     0,
10871      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
10872      377,   378,   379,   380,   381,   382,   383,     0,   384,   385,
10873      386,   387,     0,   388,   389,     0,   390,     0,   391,   392,
10874      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
10875      400,     0,     0,   401,   402,     0,   403,     0,   404,   405,
10876      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
10877      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
10878      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
10879        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
10880      443,   444,     0,   445,   446,     0,   447,   448,   449,   450,
10881      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
10882      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
10883        0,   469,   470,   471,   472,     0,   473,   474,   475,   476,
10884      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
10885      486,     0,   487,     0,   488,   489,   490,   491,   492,     0,
10886      493,   494,     0,     0,   495,   496,   497,   498,   499,     0,
10887      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
10888      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
10889      516,   517,   518,     0,   519,     0,   520,   521,   522,   523,
10890        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
10891      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
10892      540,   541,   542,   222,     0,     0,     0,     0,     0,     0,
10893        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
10894      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
10895        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
10896      237,   238,     0,   239,   240,   241,   242,   243,     0,   244,
10897      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
10898      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
10899        0,     0,     0,   261,   262,   263,   264,     0,   265,   266,
10900      267,     0,   268,   269,   270,   271,   272,   273,     0,     0,
10901      274,   275,   276,     0,     0,     0,     0,     0,     0,     0,
10902      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
10903      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
10904      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
10905      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
10906      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
10907      317,   318,   319,   320,     0,   321,     0,   322,     0,     0,
10908        0,   323,   324,   325,     0,   326,   327,     0,   328,   329,
10909        0,   330,   331,   332,   333,  1646,     0,   335,   336,   337,
10910      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
10911        0,   346,   347,   348,   349,   350,   351,   352,     0,   353,
10912        0,   354,     0,     0,   355,     0,   356,   357,   358,   359,
10913      360,     0,     0,   361,   362,     0,   363,     0,     0,   364,
10914      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
10915      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
10916      383,     0,   384,   385,   386,   387,     0,   388,   389,     0,
10917      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
10918        0,     0,   398,   399,   400,     0,     0,   401,   402,     0,
10919      403,     0,   404,   405,   406,   407,   408,   409,   410,   411,
10920      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
10921        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
10922      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
10923      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
10924      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
10925      457,   458,     0,   459,   460,   461,   462,   463,     0,   464,
10926      465,   466,   467,   468,     0,   469,   470,   471,   472,     0,
10927      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
10928      483,   484,     0,   485,   486,     0,   487,     0,   488,   489,
10929      490,   491,   492,     0,   493,   494,     0,     0,   495,   496,
10930      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
10931      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
10932      512,   513,   514,   515,   516,   517,   518,     0,   519,     0,
10933      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
10934      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
10935      536,   537,   538,   539,   540,   541,   542,   222,     0,     0,
10936        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10937        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
10938        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
10939        0,   235,   236,     0,   237,   238,     0,   239,   240,   241,
10940      242,   243,     0,   244,   245,     0,   246,   247,   248,   249,
10941      250,     0,     0,   251,   252,   253,   254,   255,     0,   256,
10942      257,   258,   259,   260,     0,     0,     0,   261,   262,   263,
10943      264,     0,   265,   266,   267,     0,   268,   269,   270,   271,
10944      272,   273,     0,     0,   274,   275,   276,     0,     0,     0,
10945        0,     0,     0,     0,   277,   278,   279,   280,   281,   282,
10946      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
10947      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
10948      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
10949      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
10950      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
10951        0,   322,     0,     0,     0,   323,   324,   325,     0,   326,
10952      327,     0,   328,   329,     0,   330,   331,   332,   333,  1648,
10953        0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
10954      343,   344,     0,   345,     0,   346,   347,   348,   349,   350,
10955      351,   352,     0,   353,     0,   354,     0,     0,   355,     0,
10956      356,   357,   358,   359,   360,     0,     0,   361,   362,     0,
10957      363,     0,     0,   364,   365,   366,     0,     0,   367,   368,
10958      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
10959      379,   380,   381,   382,   383,     0,   384,   385,   386,   387,
10960        0,   388,   389,     0,   390,     0,   391,   392,   393,   394,
10961      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
10962        0,   401,   402,     0,   403,     0,   404,   405,   406,   407,
10963      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
10964      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
10965      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
10966      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
10967        0,   445,   446,     0,   447,   448,   449,   450,   451,   452,
10968      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
10969      462,   463,     0,   464,   465,   466,   467,   468,     0,   469,
10970      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
10971      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
10972      487,     0,   488,   489,   490,   491,   492,     0,   493,   494,
10973        0,     0,   495,   496,   497,   498,   499,     0,   500,   501,
10974      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
10975      510,   511,     0,     0,   512,   513,   514,   515,   516,   517,
10976      518,     0,   519,     0,   520,   521,   522,   523,     0,     0,
10977      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
10978      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
10979      542,   222,     0,     0,     0,     0,     0,     0,     0,     0,
10980        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
10981      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
10982        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
10983        0,   239,   240,   241,   242,   243,     0,   244,   245,     0,
10984      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
10985      254,   255,     0,   256,   257,   258,   259,   260,     0,     0,
10986        0,   261,   262,   263,   264,     0,   265,   266,   267,     0,
10987      268,   269,   270,   271,   272,   273,     0,     0,   274,   275,
10988      276,     0,     0,     0,     0,     0,     0,     0,   277,   278,
10989      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
10990      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
10991        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
10992      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
10993      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
10994      319,   320,     0,   321,     0,   322,     0,     0,     0,   323,
10995      324,   325,     0,   326,   327,     0,   328,   329,     0,   330,
10996      331,   332,   333,   334,     0,   335,   336,   337,   338,     0,
10997      339,   340,   341,   342,   343,   344,     0,   345,     0,   346,
10998      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
10999        0,     0,   355,     0,   356,   357,   358,   359,   360,     0,
11000        0,   361,   362,     0,   363,     0,     0,   364,   365,   366,
11001        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
11002      375,   376,   377,   378,   379,   380,   381,   382,   383,     0,
11003      384,   385,   386,   387,     0,   388,   389,     0,   390,     0,
11004      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
11005      398,   399,   400,     0,     0,   401,   402,     0,   403,     0,
11006      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
11007      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
11008      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
11009      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
11010      441,   442,   443,   444,     0,   445,   446,     0,   447,   448,
11011      449,   450,   451,   452,  1744,   454,   455,   456,   457,   458,
11012        0,   459,   460,   461,   462,   463,     0,   464,   465,   466,
11013      467,   468,     0,   469,   470,   471,   472,     0,   473,   474,
11014      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
11015        0,   485,   486,     0,   487,     0,   488,   489,   490,   491,
11016      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
11017      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
11018        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
11019      514,   515,   516,   517,   518,     0,   519,     0,   520,   521,
11020      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
11021      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
11022      538,   539,   540,   541,   542,   222,     0,     0,     0,     0,
11023        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11024      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
11025      233,   234,     0,     0,     0,     0,     0,  2007,     0,   235,
11026      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
11027        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
11028        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
11029      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
11030      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
11031        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
11032        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
11033      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
11034        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
11035      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
11036      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
11037      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
11038        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
11039      328,   329,     0,   330,   331,   332,   333,   334,     0,   335,
11040      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
11041        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
11042        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
11043      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
11044        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
11045      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
11046      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
11047      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
11048        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
11049      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
11050      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
11051      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
11052      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
11053      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
11054      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
11055      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
11056        0,     0,   465,   466,   467,   468,     0,   469,   470,   471,
11057      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
11058      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
11059      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
11060      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
11061      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
11062        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
11063      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
11064        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
11065      534,   535,   536,   537,   538,   539,   540,   541,   542,   222,
11066        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11067        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
11068      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
11069        0,     0,     0,   235,   236,     0,   237,   238,     0,   239,
11070      240,   241,   242,   243,     0,   244,   245,     0,   246,   247,
11071      248,   249,   250,     0,     0,   723,   252,   253,   254,   255,
11072        0,   256,   257,   258,   259,   260,     0,     0,     0,   261,
11073      262,   263,   264,     0,   265,   266,   267,     0,   268,   269,
11074      270,   271,   272,   273,     0,     0,   274,   275,   276,     0,
11075        0,     0,     0,     0,     0,     0,   277,   278,   279,   280,
11076      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
11077      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
11078      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
11079      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
11080      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
11081        0,   321,     0,   322,     0,     0,     0,   323,   324,   325,
11082        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
11083      333,   334,     0,   335,   336,   337,   338,     0,   339,   340,
11084      341,   342,   343,   344,     0,   345,     0,   346,   347,   348,
11085      349,   350,   351,   352,     0,   353,     0,   354,     0,     0,
11086      355,     0,   356,   357,   358,   359,   360,     0,     0,   361,
11087      362,     0,   363,     0,     0,   364,   365,   366,     0,     0,
11088      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
11089      377,   378,   379,   380,   381,   726,   383,     0,   384,   385,
11090      386,   387,     0,   388,   389,     0,   390,     0,   391,   392,
11091      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
11092      400,     0,     0,   401,   402,     0,   403,     0,   404,   405,
11093      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
11094      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
11095      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
11096        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
11097      443,   444,     0,   445,   446,     0,   727,   448,   449,   450,
11098      451,   452,   453,   728,   455,   456,   457,   458,     0,   459,
11099      460,   461,   462,  1245,     0,   464,   465,   466,   467,   468,
11100        0,   469,   470,   471,   472,     0,   473,   474,   475,   476,
11101      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
11102      486,     0,   487,     0,  2039,   489,   490,   491,   492,     0,
11103      730,   494,     0,     0,   731,   496,   497,   498,   499,     0,
11104      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
11105      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
11106      516,   517,   518,     0,   519,     0,   520,   521,   522,   523,
11107        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
11108      732,   531,   532,   533,   534,   535,   536,   537,   538,   539,
11109      540,   541,   542,   222,     0,     0,     0,     0,     0,     0,
11110        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
11111      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
11112        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
11113      237,   238,     0,   239,   240,   241,   242,   243,     0,   244,
11114      245,     0,   246,   247,   248,   249,   250,     0,     0,   723,
11115      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
11116        0,     0,     0,   261,   262,   263,   264,     0,   265,   266,
11117      267,     0,   268,   269,   270,   271,   272,   273,     0,     0,
11118      274,   275,   276,     0,     0,     0,     0,     0,     0,     0,
11119      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
11120      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
11121      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
11122      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
11123      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
11124      317,   318,   319,   320,     0,   321,     0,   322,     0,     0,
11125        0,   323,   324,   325,     0,   326,   327,     0,   328,   329,
11126        0,   330,   331,   332,   333,   334,     0,   335,   336,   337,
11127      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
11128        0,   346,   347,   348,   349,   350,   351,   352,     0,   353,
11129        0,   354,     0,     0,   355,     0,   356,   357,   358,   359,
11130      360,     0,     0,   361,   362,     0,   363,     0,     0,   364,
11131      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
11132      373,   374,   375,   376,   377,   378,   379,   380,   381,   726,
11133      383,     0,   384,   385,   386,   387,     0,   388,   389,     0,
11134      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
11135        0,     0,   398,   399,   400,     0,     0,   401,   402,     0,
11136      403,     0,   404,   405,   406,   407,   408,   409,   410,   411,
11137      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
11138        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
11139      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
11140      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
11141      727,   448,   449,   450,   451,   452,   453,  2114,   455,   456,
11142      457,   458,     0,   459,   460,   461,   462,  2115,     0,   464,
11143      465,   466,   467,   468,     0,   469,   470,   471,   472,     0,
11144      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
11145      483,   484,     0,   485,   486,     0,   487,     0,   488,   489,
11146      490,   491,   492,     0,   730,   494,     0,     0,  2116,   496,
11147      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
11148      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
11149      512,   513,   514,   515,   516,   517,   518,     0,   519,     0,
11150      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
11151      526,   527,   528,   529,   732,   531,   532,   533,   534,   535,
11152      536,   537,   538,   539,   540,   541,   542,   222,     0,     0,
11153        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11154        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
11155        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
11156        0,   235,   236,     0,   237,   238,     0,   239,   240,   241,
11157      242,   243,     0,   244,   245,     0,   246,   247,   248,   249,
11158      250,     0,     0,   251,   252,   253,   254,   255,     0,   256,
11159      257,   258,   259,   260,     0,     0,     0,   261,   262,   263,
11160      264,     0,   265,   266,   267,     0,   268,   269,   270,   271,
11161      272,   273,     0,     0,   274,   275,   276,     0,     0,     0,
11162        0,     0,     0,     0,   277,   278,   279,   280,   281,   282,
11163      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
11164      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
11165      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
11166      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
11167      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
11168        0,   322,     0,     0,     0,   323,   324,   325,     0,   326,
11169      327,     0,   328,   329,     0,   330,   331,   332,   333,  2356,
11170        0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
11171      343,   344,     0,   345,     0,   346,   347,   348,   349,   350,
11172      351,   352,     0,   353,     0,   354,     0,     0,   355,     0,
11173      356,   357,   358,   359,   360,     0,     0,   361,   362,     0,
11174      363,     0,     0,   364,   365,   366,     0,     0,   367,   368,
11175      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
11176      379,   380,   381,   382,   383,     0,   384,   385,   386,   387,
11177        0,   388,   389,     0,   390,     0,   391,   392,   393,   394,
11178      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
11179        0,   401,   402,     0,   403,     0,   404,   405,   406,   407,
11180      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
11181      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
11182      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
11183      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
11184        0,   445,   446,     0,   447,   448,   449,   450,   451,   452,
11185      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
11186      462,   463,     0,   464,   465,   466,   467,   468,     0,   469,
11187      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
11188      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
11189      487,     0,   488,   489,   490,   491,   492,     0,   493,   494,
11190        0,     0,   495,   496,   497,   498,   499,     0,   500,   501,
11191      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
11192      510,   511,     0,     0,   512,   513,   514,   515,   516,   517,
11193      518,     0,   519,     0,   520,   521,   522,   523,     0,     0,
11194      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
11195      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
11196      542,   222,     0,     0,     0,     0,     0,     0,     0,     0,
11197        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
11198      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
11199        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
11200        0,   239,   240,   241,   242,   243,     0,   244,   245,     0,
11201      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
11202      254,   255,     0,   256,   257,   258,   259,   260,     0,     0,
11203        0,   261,   262,   263,   264,     0,   265,   266,   267,     0,
11204      268,   269,   270,   271,   272,   273,     0,     0,   274,   275,
11205      276,     0,     0,     0,     0,     0,     0,     0,   277,   278,
11206      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
11207      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
11208        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
11209      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
11210      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
11211      319,   320,     0,   321,     0,   322,     0,     0,     0,   323,
11212      324,   325,     0,   326,   327,     0,   328,   329,     0,   330,
11213      331,   332,   333,  2360,     0,   335,   336,   337,   338,     0,
11214      339,   340,   341,   342,   343,   344,     0,   345,     0,   346,
11215      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
11216        0,     0,   355,     0,   356,   357,   358,   359,   360,     0,
11217        0,   361,   362,     0,   363,     0,     0,   364,   365,   366,
11218        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
11219      375,   376,   377,   378,   379,   380,   381,   382,   383,     0,
11220      384,   385,   386,   387,     0,   388,   389,     0,   390,     0,
11221      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
11222      398,   399,   400,     0,     0,   401,   402,     0,   403,     0,
11223      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
11224      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
11225      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
11226      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
11227      441,   442,   443,   444,     0,   445,   446,     0,   447,   448,
11228      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
11229        0,   459,   460,   461,   462,   463,     0,   464,   465,   466,
11230      467,   468,     0,   469,   470,   471,   472,     0,   473,   474,
11231      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
11232        0,   485,   486,     0,   487,     0,   488,   489,   490,   491,
11233      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
11234      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
11235        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
11236      514,   515,   516,   517,   518,     0,   519,     0,   520,   521,
11237      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
11238      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
11239      538,   539,   540,   541,   542,   222,     0,     0,     0,     0,
11240        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11241      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
11242      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
11243      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
11244        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
11245        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
11246      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
11247      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
11248        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
11249        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
11250      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
11251        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
11252      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
11253      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
11254      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
11255        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
11256      328,   329,     0,   330,   331,   332,   333,  2400,     0,   335,
11257      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
11258        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
11259        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
11260      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
11261        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
11262      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
11263      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
11264      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
11265        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
11266      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
11267      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
11268      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
11269      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
11270      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
11271      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
11272      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
11273        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
11274      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
11275      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
11276      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
11277      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
11278      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
11279        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
11280      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
11281        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
11282      534,   535,   536,   537,   538,   539,   540,   541,   542,   222,
11283        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11284        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
11285      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
11286        0,     0,     0,   235,   236,     0,   237,   238,     0,   239,
11287      240,   241,   242,   243,     0,   244,   245,     0,   246,   247,
11288      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
11289        0,   256,   257,   258,   259,   260,     0,     0,     0,   261,
11290      262,   263,   264,     0,   265,   266,   267,     0,   268,   269,
11291      270,   271,   272,   273,     0,     0,   274,   275,   276,     0,
11292        0,     0,     0,     0,     0,     0,   277,   278,   279,   280,
11293      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
11294      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
11295      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
11296      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
11297      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
11298        0,   321,     0,   322,     0,     0,     0,   323,   324,   325,
11299        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
11300      333,  2435,     0,   335,   336,   337,   338,     0,   339,   340,
11301      341,   342,   343,   344,     0,   345,     0,   346,   347,   348,
11302      349,   350,   351,   352,     0,   353,     0,   354,     0,     0,
11303      355,     0,   356,   357,   358,   359,   360,     0,     0,   361,
11304      362,     0,   363,     0,     0,   364,   365,   366,     0,     0,
11305      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
11306      377,   378,   379,   380,   381,   382,   383,     0,   384,   385,
11307      386,   387,     0,   388,   389,     0,   390,     0,   391,   392,
11308      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
11309      400,     0,     0,   401,   402,     0,   403,     0,   404,   405,
11310      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
11311      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
11312      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
11313        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
11314      443,   444,     0,   445,   446,     0,   447,   448,   449,   450,
11315      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
11316      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
11317        0,   469,   470,   471,   472,     0,   473,   474,   475,   476,
11318      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
11319      486,     0,   487,     0,   488,   489,   490,   491,   492,     0,
11320      493,   494,     0,     0,   495,   496,   497,   498,   499,     0,
11321      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
11322      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
11323      516,   517,   518,     0,   519,     0,   520,   521,   522,   523,
11324        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
11325      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
11326      540,   541,   542,   222,     0,     0,     0,     0,     0,     0,
11327        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
11328      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
11329        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
11330      237,   238,     0,   239,   240,   241,   242,   243,     0,   244,
11331      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
11332      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
11333        0,     0,     0,   261,   262,   263,   264,     0,   265,   266,
11334      267,     0,   268,   269,   270,   271,   272,   273,     0,     0,
11335      274,   275,   276,     0,     0,     0,     0,     0,     0,     0,
11336      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
11337      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
11338      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
11339      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
11340      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
11341      317,   318,   319,   320,     0,   321,     0,   322,     0,     0,
11342        0,   323,   324,   325,     0,   326,   327,     0,   328,   329,
11343        0,   330,   331,   332,   333,  2762,     0,   335,   336,   337,
11344      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
11345        0,   346,   347,   348,   349,   350,   351,   352,     0,   353,
11346        0,   354,     0,     0,   355,     0,   356,   357,   358,   359,
11347      360,     0,     0,   361,   362,     0,   363,     0,     0,   364,
11348      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
11349      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
11350      383,     0,   384,   385,   386,   387,     0,   388,   389,     0,
11351      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
11352        0,     0,   398,   399,   400,     0,     0,   401,   402,     0,
11353      403,     0,   404,   405,   406,   407,   408,   409,   410,   411,
11354      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
11355        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
11356      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
11357      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
11358      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
11359      457,   458,     0,   459,   460,   461,   462,   463,     0,   464,
11360      465,   466,   467,   468,     0,   469,   470,   471,   472,     0,
11361      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
11362      483,   484,     0,   485,   486,     0,   487,     0,   488,   489,
11363      490,   491,   492,     0,   493,   494,     0,     0,   495,   496,
11364      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
11365      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
11366      512,   513,   514,   515,   516,   517,   518,     0,   519,     0,
11367      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
11368      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
11369      536,   537,   538,   539,   540,   541,   542,   222,     0,     0,
11370        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11371        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
11372        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
11373        0,   235,   236,     0,   237,   238,     0,   239,   240,   241,
11374      242,   243,     0,   244,   245,     0,   246,   247,   248,   249,
11375      250,     0,     0,   723,   252,   253,   254,   255,     0,   256,
11376      257,   258,   259,   260,     0,     0,     0,   261,   262,   263,
11377      264,     0,   265,   266,   267,     0,   268,   269,   270,   271,
11378      272,   273,     0,     0,   274,   275,   276,     0,     0,     0,
11379        0,     0,     0,     0,   277,   278,   279,   280,   281,   282,
11380      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
11381      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
11382      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
11383      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
11384      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
11385        0,   322,     0,     0,     0,   323,   324,   325,     0,   326,
11386      327,     0,   328,   329,     0,   330,   331,   332,   333,   334,
11387        0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
11388      343,   344,     0,   345,     0,   346,   347,   348,   349,   350,
11389      351,   352,     0,   353,     0,   354,     0,     0,   355,     0,
11390      356,   357,   358,   359,   360,     0,     0,   361,   362,     0,
11391      363,     0,     0,   364,   365,   366,     0,     0,   367,   368,
11392      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
11393      379,   380,   381,   726,   383,     0,   384,   385,   386,   387,
11394        0,   388,   389,     0,   390,     0,   391,   392,   393,   394,
11395      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
11396        0,   401,   402,     0,   403,     0,   404,   405,   406,   407,
11397      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
11398      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
11399      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
11400      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
11401        0,   445,   446,     0,   727,   448,   449,   450,   451,   452,
11402      453,   728,   455,   456,   457,   458,     0,   459,   460,   461,
11403      462,  2115,     0,   464,   465,   466,   467,   468,     0,   469,
11404      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
11405      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
11406      487,     0,   488,   489,   490,   491,   492,     0,   730,   494,
11407        0,     0,  2116,   496,   497,   498,   499,     0,   500,   501,
11408      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
11409      510,   511,     0,     0,   512,   513,   514,   515,   516,   517,
11410      518,     0,   519,     0,   520,   521,   522,   523,     0,     0,
11411      524,     0,     0,   525,   526,   527,   528,   529,   732,   531,
11412      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
11413      542,   222,     0,     0,     0,     0,     0,     0,     0,     0,
11414        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
11415      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
11416        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
11417        0,   239,   240,   241,   242,   243,     0,   244,   245,     0,
11418      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
11419      254,   255,     0,   256,   257,   258,   259,   260,     0,     0,
11420        0,   261,   262,   263,   264,     0,   265,   266,   267,     0,
11421      268,   269,   270,   271,   272,   273,     0,     0,   274,   275,
11422      276,     0,     0,     0,     0,     0,     0,     0,   277,   278,
11423      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
11424      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
11425        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
11426      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
11427      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
11428      319,   320,     0,   321,     0,   322,     0,     0,     0,   323,
11429      324,   325,     0,   326,   327,     0,   328,   329,     0,   330,
11430      331,   332,   333,  2829,     0,   335,   336,   337,   338,     0,
11431      339,   340,   341,   342,   343,   344,     0,   345,     0,   346,
11432      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
11433        0,     0,   355,     0,   356,   357,   358,   359,   360,     0,
11434        0,   361,   362,     0,   363,     0,     0,   364,   365,   366,
11435        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
11436      375,   376,   377,   378,   379,   380,   381,   382,   383,     0,
11437      384,   385,   386,   387,     0,   388,   389,     0,   390,     0,
11438      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
11439      398,   399,   400,     0,     0,   401,   402,     0,   403,     0,
11440      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
11441      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
11442      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
11443      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
11444      441,   442,   443,   444,     0,   445,   446,     0,   447,   448,
11445      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
11446        0,   459,   460,   461,   462,   463,     0,   464,   465,   466,
11447      467,   468,     0,   469,   470,   471,   472,     0,   473,   474,
11448      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
11449        0,   485,   486,     0,   487,     0,   488,   489,   490,   491,
11450      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
11451      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
11452        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
11453      514,   515,   516,   517,   518,     0,   519,     0,   520,   521,
11454      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
11455      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
11456      538,   539,   540,   541,   542,   222,     0,     0,     0,     0,
11457        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11458      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
11459      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
11460      236,     0,   237,   238,     0,   239,   240,   241,   242,   243,
11461        0,   244,   245,     0,   246,   247,   248,   249,   250,     0,
11462        0,   251,   252,   253,   254,   255,     0,   256,   257,   258,
11463      259,   260,     0,     0,     0,   261,   262,   263,   264,     0,
11464      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
11465        0,     0,   274,   275,   276,     0,     0,     0,     0,     0,
11466        0,     0,   277,   278,   279,   280,   281,   282,   283,   284,
11467      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
11468        0,   293,   294,   295,     0,     0,   296,   297,   298,   299,
11469      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
11470      307,   308,   309,   310,   311,   312,   313,   314,   315,     0,
11471      316,     0,   317,   318,   319,   320,     0,   321,     0,   322,
11472        0,     0,     0,   323,   324,   325,     0,   326,   327,     0,
11473      328,   329,     0,   330,   331,   332,   333,  2842,     0,   335,
11474      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
11475        0,   345,     0,   346,   347,   348,   349,   350,   351,   352,
11476        0,   353,     0,   354,     0,     0,   355,     0,   356,   357,
11477      358,   359,   360,     0,     0,   361,   362,     0,   363,     0,
11478        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
11479      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
11480      381,   382,   383,     0,   384,   385,   386,   387,     0,   388,
11481      389,     0,   390,     0,   391,   392,   393,   394,   395,   396,
11482        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
11483      402,     0,   403,     0,   404,   405,   406,   407,   408,   409,
11484      410,   411,   412,     0,   413,   414,   415,   416,   417,   418,
11485      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
11486      428,   429,   430,   431,   432,   433,     0,   434,   435,   436,
11487      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
11488      446,     0,   447,   448,   449,   450,   451,   452,   453,   454,
11489      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
11490        0,   464,   465,   466,   467,   468,     0,   469,   470,   471,
11491      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
11492      481,   482,   483,   484,     0,   485,   486,     0,   487,     0,
11493      488,   489,   490,   491,   492,     0,   493,   494,     0,     0,
11494      495,   496,   497,   498,   499,     0,   500,   501,   502,   503,
11495      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
11496        0,     0,   512,   513,   514,   515,   516,   517,   518,     0,
11497      519,     0,   520,   521,   522,   523,     0,     0,   524,     0,
11498        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
11499      534,   535,   536,   537,   538,   539,   540,   541,   542,   222,
11500        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11501        0,     0,     0,     0,   223,   224,   225,   226,   227,   228,
11502      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
11503        0,     0,     0,   235,   236,     0,   237,   238,     0,   239,
11504      240,   241,   242,   243,     0,   244,   245,     0,   246,   247,
11505      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
11506        0,   256,   257,   258,   259,   260,     0,     0,     0,   261,
11507      262,   263,   264,     0,   265,   266,   267,     0,   268,   269,
11508      270,   271,   272,   273,     0,     0,   274,   275,   276,     0,
11509        0,     0,     0,     0,     0,     0,   277,   278,   279,   280,
11510      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
11511      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
11512      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
11513      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
11514      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
11515        0,   321,     0,   322,     0,     0,     0,   323,   324,   325,
11516        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
11517      333,  2844,     0,   335,   336,   337,   338,     0,   339,   340,
11518      341,   342,   343,   344,     0,   345,     0,   346,   347,   348,
11519      349,   350,   351,   352,     0,   353,     0,   354,     0,     0,
11520      355,     0,   356,   357,   358,   359,   360,     0,     0,   361,
11521      362,     0,   363,     0,     0,   364,   365,   366,     0,     0,
11522      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
11523      377,   378,   379,   380,   381,   382,   383,     0,   384,   385,
11524      386,   387,     0,   388,   389,     0,   390,     0,   391,   392,
11525      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
11526      400,     0,     0,   401,   402,     0,   403,     0,   404,   405,
11527      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
11528      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
11529      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
11530        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
11531      443,   444,     0,   445,   446,     0,   447,   448,   449,   450,
11532      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
11533      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
11534        0,   469,   470,   471,   472,     0,   473,   474,   475,   476,
11535      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
11536      486,     0,   487,     0,   488,   489,   490,   491,   492,     0,
11537      493,   494,     0,     0,   495,   496,   497,   498,   499,     0,
11538      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
11539      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
11540      516,   517,   518,     0,   519,     0,   520,   521,   522,   523,
11541        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
11542      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
11543      540,   541,   542,   222,     0,     0,     0,     0,     0,     0,
11544        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
11545      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
11546        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
11547      237,   238,     0,   239,   240,   241,   242,   243,     0,   244,
11548      245,     0,   246,   247,   248,   249,   250,     0,     0,   251,
11549      252,   253,   254,   255,     0,   256,   257,   258,   259,   260,
11550        0,     0,     0,   261,   262,   263,   264,     0,   265,   266,
11551      267,     0,   268,   269,   270,   271,   272,   273,     0,     0,
11552      274,   275,   276,     0,     0,     0,     0,     0,     0,     0,
11553      277,   278,   279,   280,   281,   282,   283,   284,   285,     0,
11554      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
11555      294,   295,     0,     0,   296,   297,   298,   299,   300,     0,
11556      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
11557      309,   310,   311,   312,   313,   314,   315,     0,   316,     0,
11558      317,   318,   319,   320,     0,   321,     0,   322,     0,     0,
11559        0,   323,   324,   325,     0,   326,   327,     0,   328,   329,
11560        0,   330,   331,   332,   333,  2959,     0,   335,   336,   337,
11561      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
11562        0,   346,   347,   348,   349,   350,   351,   352,     0,   353,
11563        0,   354,     0,     0,   355,     0,   356,   357,   358,   359,
11564      360,     0,     0,   361,   362,     0,   363,     0,     0,   364,
11565      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
11566      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
11567      383,     0,   384,   385,   386,   387,     0,   388,   389,     0,
11568      390,     0,   391,   392,   393,   394,   395,   396,     0,   397,
11569        0,     0,   398,   399,   400,     0,     0,   401,   402,     0,
11570      403,     0,   404,   405,   406,   407,   408,   409,   410,   411,
11571      412,     0,   413,   414,   415,   416,   417,   418,   419,   420,
11572        0,   421,   422,   423,   424,   425,   426,   427,   428,   429,
11573      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
11574      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
11575      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
11576      457,   458,     0,   459,   460,   461,   462,   463,     0,   464,
11577      465,   466,   467,   468,     0,   469,   470,   471,   472,     0,
11578      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
11579      483,   484,     0,   485,   486,     0,   487,     0,   488,   489,
11580      490,   491,   492,     0,   493,   494,     0,     0,   495,   496,
11581      497,   498,   499,     0,   500,   501,   502,   503,   504,   505,
11582      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
11583      512,   513,   514,   515,   516,   517,   518,     0,   519,     0,
11584      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
11585      526,   527,   528,   529,   530,   531,   532,   533,   534,   535,
11586      536,   537,   538,   539,   540,   541,   542,   222,     0,     0,
11587        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11588        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
11589        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
11590        0,   235,   236,     0,   237,   238,     0,   239,   240,   241,
11591      242,   243,     0,   244,   245,     0,   246,   247,   248,   249,
11592      250,     0,     0,   251,   252,   253,   254,   255,     0,   256,
11593      257,   258,   259,   260,     0,     0,     0,   261,   262,   263,
11594      264,     0,   265,   266,   267,     0,   268,   269,   270,   271,
11595      272,   273,     0,     0,   274,   275,   276,     0,     0,     0,
11596        0,     0,     0,     0,   277,   278,   279,   280,   281,   282,
11597      283,   284,   285,     0,   286,     0,   287,   288,   289,   290,
11598      291,   292,     0,   293,   294,   295,     0,     0,   296,  2981,
11599      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
11600      306,     0,   307,   308,   309,   310,   311,   312,   313,   314,
11601      315,     0,   316,     0,   317,   318,   319,   320,     0,   321,
11602        0,   322,     0,     0,     0,   323,   324,   325,     0,   326,
11603      327,     0,   328,   329,     0,   330,   331,   332,   333,   334,
11604        0,   335,   336,   337,   338,     0,   339,   340,   341,   342,
11605      343,   344,     0,   345,     0,   346,   347,   348,   349,   350,
11606      351,   352,     0,   353,     0,   354,     0,     0,   355,     0,
11607      356,   357,   358,   359,   360,     0,     0,   361,   362,     0,
11608      363,     0,     0,   364,   365,   366,     0,     0,   367,   368,
11609      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
11610      379,   380,   381,   382,   383,     0,   384,   385,   386,   387,
11611        0,   388,   389,     0,   390,     0,   391,   392,   393,   394,
11612      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
11613        0,   401,   402,     0,   403,     0,   404,   405,   406,   407,
11614      408,   409,   410,   411,   412,     0,   413,   414,   415,   416,
11615      417,   418,   419,   420,     0,   421,   422,   423,   424,   425,
11616      426,   427,   428,   429,   430,   431,   432,   433,     0,   434,
11617      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
11618        0,   445,   446,     0,   447,   448,   449,   450,   451,   452,
11619      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
11620      462,   463,     0,   464,   465,   466,   467,   468,     0,   469,
11621      470,   471,   472,     0,   473,   474,   475,   476,   477,   478,
11622      479,   480,   481,   482,   483,   484,     0,   485,   486,     0,
11623      487,     0,   488,   489,   490,   491,   492,     0,   493,   494,
11624        0,     0,   495,   496,   497,   498,   499,     0,   500,   501,
11625      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
11626      510,   511,     0,     0,   512,   513,   514,   515,   516,   517,
11627      518,     0,   519,     0,   520,   521,   522,   523,     0,     0,
11628      524,     0,     0,   525,   526,   527,   528,   529,   530,   531,
11629      532,   533,   534,   535,   536,   537,   538,   539,   540,   541,
11630      542,   222,     0,     0,     0,     0,     0,     0,     0,     0,
11631        0,     0,     0,     0,     0,     0,   223,   224,   225,   226,
11632      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
11633        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
11634        0,   239,   240,   241,   242,   243,     0,   244,   245,     0,
11635      246,   247,   248,   249,   250,     0,     0,   251,   252,   253,
11636      254,   255,     0,   256,   257,   258,   259,   260,     0,     0,
11637        0,   261,   262,   263,   264,     0,   265,   266,   267,     0,
11638      268,   269,   270,   271,   272,   273,     0,     0,   274,   275,
11639      276,     0,     0,     0,     0,     0,     0,     0,   277,   278,
11640      279,   280,   281,   282,   283,   284,   285,     0,   286,     0,
11641      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
11642        0,     0,   296,   297,   298,   299,   300,     0,   301,   302,
11643      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
11644      311,   312,   313,   314,   315,     0,   316,     0,   317,   318,
11645      319,   320,     0,   321,     0,   322,     0,     0,     0,   323,
11646      324,   325,     0,   326,   327,     0,   328,   329,     0,   330,
11647      331,   332,   333,  4095,     0,   335,   336,   337,   338,     0,
11648      339,   340,   341,   342,   343,   344,     0,   345,     0,   346,
11649      347,   348,   349,   350,   351,   352,     0,   353,     0,   354,
11650        0,     0,   355,     0,   356,   357,   358,   359,   360,     0,
11651        0,   361,   362,     0,   363,     0,     0,   364,   365,   366,
11652        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
11653      375,   376,   377,   378,   379,   380,   381,   382,   383,     0,
11654      384,   385,   386,   387,     0,   388,   389,     0,   390,     0,
11655      391,   392,   393,   394,   395,   396,     0,   397,     0,     0,
11656      398,   399,   400,     0,     0,   401,   402,     0,   403,     0,
11657      404,   405,   406,   407,   408,   409,   410,   411,   412,     0,
11658      413,   414,   415,   416,   417,   418,   419,   420,     0,   421,
11659      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
11660      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
11661      441,   442,   443,   444,     0,   445,   446,     0,   447,   448,
11662      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
11663        0,   459,   460,   461,   462,   463,     0,   464,   465,   466,
11664      467,   468,     0,   469,   470,   471,   472,     0,   473,   474,
11665      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
11666        0,   485,   486,     0,   487,     0,   488,   489,   490,   491,
11667      492,     0,   493,   494,     0,     0,   495,   496,   497,   498,
11668      499,     0,   500,   501,   502,   503,   504,   505,   506,     0,
11669        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
11670      514,   515,   516,   517,   518,     0,   519,     0,   520,   521,
11671      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
11672      528,   529,   530,   531,   532,   533,   534,   535,   536,   537,
11673      538,   539,   540,   541,   542,   993,     0,     0,     0,     0,
11674        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11675      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
11676      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
11677      236,     0,   237,   238,   780,   239,   240,   241,     0,   994,
11678      781,   995,   996,     0,   246,   247,   248,   249,   250,     0,
11679        0,   251,   252,   997,   998,   255,     0,   256,   257,   258,
11680      259,     0,     0,   782,     0,   261,   262,   263,   264,   783,
11681      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
11682        0,   784,   274,   275,   276,     0,     0,     0,   785,     0,
11683        0,     0,   277,   278,   279,   280,   281,   282,   999,  1000,
11684      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
11685        0,   293,   294,   295,     0,     0,   296,   297,  1001,   299,
11686      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
11687      307,   308,   309,   310,     0,   312,   313,   314,     0,     0,
11688      316,     0,   317,   318,  1002,   320,     0,   321,     0,   322,
11689      786,     0,   787,   323,   324,   325,     0,   326,     0,     0,
11690        0,   329,     0,   330,   331,   332,   333,   334,   788,   335,
11691      336,   337,   338,  2010,   339,   340,   341,   342,   343,   344,
11692        0,   345,   789,  2011,   347,   348,   349,   350,  1004,  1005,
11693        0,  1006,     0,   354,   790,   791,   355,   792,   356,   357,
11694      358,   359,   360,     0,     0,   361,     0,   793,   363,   794,
11695        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
11696      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
11697      381,   382,  1007,   795,  1008,   385,   386,     0,     0,   388,
11698      389,   796,   390,     0,     0,   392,  1009,   394,   395,   396,
11699        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
11700     2013,   797,   403,   798,     0,   405,   406,   407,   408,   409,
11701      410,   411,   412,     0,   413,   414,     0,   416,     0,   418,
11702      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
11703      428,  1010,   430,   431,   432,   433,     0,   434,   435,   436,
11704      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
11705      446,   799,   447,   448,   449,     0,   451,   452,   453,   454,
11706      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
11707        0,   464,   465,  2014,   467,   468,   800,   469,   470,  1012,
11708      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
11709      481,   482,   483,     0,     0,   485,   486,     0,   487,   801,
11710      488,   489,   490,   491,   492,     0,  1013,  1014,     0,     0,
11711      495,   496,     0,   498,     0,     0,   500,   501,   502,   503,
11712      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
11713        0,     0,   512,   513,   514,   515,   516,     0,  1015,  2015,
11714      519,   802,   520,   521,   522,   523,     0,     0,   524,     0,
11715        0,   525,   526,   527,   528,   529,   530,   993,     0,     0,
11716        0,     0,     0,     0,     0,     0,   540,   541,   542,     0,
11717        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
11718        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
11719        0,   235,   236,     0,   237,   238,   780,   239,   240,   241,
11720        0,   994,   781,   995,   996,     0,   246,   247,   248,   249,
11721      250,     0,     0,   251,   252,   997,   998,   255,     0,   256,
11722      257,   258,   259,     0,     0,   782,     0,   261,   262,   263,
11723      264,   783,   265,   266,   267,     0,   268,   269,   270,   271,
11724      272,   273,     0,   784,   274,   275,   276,     0,     0,     0,
11725      785,     0,     0,     0,   277,   278,   279,   280,   281,   282,
11726      999,  1000,   285,     0,   286,     0,   287,   288,   289,   290,
11727      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
11728     1001,   299,   300,     0,   301,   302,   303,     0,   304,   305,
11729      306,     0,   307,   308,   309,   310,     0,   312,   313,   314,
11730        0,     0,   316,     0,   317,   318,  1002,   320,     0,   321,
11731        0,   322,   786,     0,   787,   323,   324,   325,     0,   326,
11732        0,     0,     0,   329,     0,   330,   331,   332,   333,   334,
11733      788,   335,   336,   337,   338,     0,   339,   340,   341,   342,
11734      343,   344,     0,   345,   789,     0,   347,   348,   349,   350,
11735     1004,  1005,     0,  1006,     0,   354,   790,   791,   355,   792,
11736      356,   357,   358,   359,   360,     0,     0,   361,     0,   793,
11737      363,   794,     0,   364,   365,   366,     0,     0,   367,   368,
11738      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
11739      379,   380,   381,   382,  1007,   795,  1008,   385,   386,     0,
11740        0,   388,   389,   796,   390,  2110,     0,   392,  1009,   394,
11741      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
11742        0,   401,     0,   797,   403,   798,     0,   405,   406,   407,
11743      408,   409,   410,   411,   412,     0,   413,   414,     0,   416,
11744        0,   418,   419,   420,     0,   421,   422,   423,   424,   425,
11745      426,   427,   428,  1010,   430,   431,   432,   433,     0,   434,
11746      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
11747        0,   445,   446,   799,   447,   448,   449,     0,   451,   452,
11748      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
11749      462,   463,     0,   464,   465,  2014,   467,   468,   800,   469,
11750      470,  1012,   472,     0,   473,   474,   475,   476,   477,   478,
11751      479,   480,   481,   482,   483,     0,     0,   485,   486,  3680,
11752      487,   801,   488,   489,   490,   491,   492,     0,  1013,  1014,
11753        0,     0,   495,   496,     0,   498,     0,     0,   500,   501,
11754      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
11755      510,   511,     0,     0,   512,   513,   514,   515,   516,     0,
11756     1015,     0,   519,   802,   520,   521,   522,   523,     0,     0,
11757      524,     0,     0,   525,   526,   527,   528,   529,   530,   222,
11758        0,     0,     0,     0,     0,     0,     0,     0,   540,   541,
11759      542,     0,     0,     0,   223,   224,   225,   226,   227,   228,
11760      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
11761        0,     0,     0,   235,   236,     0,   237,   238,     0,   239,
11762      240,   241,   242,   243,     0,   244,   245,     0,   246,   247,
11763      248,   249,   250,     0,     0,   251,   252,   253,   254,   255,
11764        0,   256,   257,   258,   259,   260,     0,     0,     0,   261,
11765      262,   263,   264,     0,   265,   266,   267,     0,   268,   269,
11766      270,   271,   272,   273,     0,     0,   274,   275,   276,     0,
11767        0,     0,     0,     0,     0,     0,   277,   278,   279,   280,
11768      281,   282,   283,   284,   285,     0,   286,     0,   287,   288,
11769      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
11770      296,   297,   298,   299,   300,     0,   301,   302,   303,     0,
11771      304,   305,   306,     0,   307,   308,   309,   310,   311,   312,
11772      313,   314,   315,     0,   316,     0,   317,   318,   319,   320,
11773        0,   321,     0,   322,     0,     0,     0,   323,   324,   325,
11774        0,   326,   327,     0,   328,   329,     0,   330,   331,   332,
11775      333,   334,     0,   335,   336,   337,   338,     0,   339,   340,
11776      341,   342,   343,   344,     0,   345,     0,   346,   347,   348,
11777      349,   350,   351,   352,     0,   353,     0,   354,     0,     0,
11778      355,     0,   356,   357,   358,   359,   360,     0,     0,   361,
11779      362,     0,   363,     0,     0,   364,   365,   366,     0,     0,
11780      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
11781      377,   378,   379,   380,   381,   382,   383,     0,   384,   385,
11782      386,   387,     0,   388,   389,     0,   390,     0,   391,   392,
11783      393,   394,   395,   396,     0,   397,     0,     0,   398,   399,
11784      400,     0,     0,   401,   402,     0,   403,     0,   404,   405,
11785      406,   407,   408,   409,     0,   411,   412,     0,   413,   414,
11786      415,   416,   417,   418,   419,   420,     0,   421,   422,   423,
11787      424,   425,   426,     0,   428,   429,   430,   431,   432,   433,
11788        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
11789      443,   444,     0,   445,   446,     0,   447,   448,   449,   450,
11790        0,   452,   453,   454,   455,   456,   457,   458,     0,   459,
11791      460,   461,   462,   463,     0,   464,   465,   466,   467,   468,
11792        0,   469,   470,   471,   472,     0,   473,   474,   475,   476,
11793      477,   478,   479,   480,   481,   482,   483,   484,     0,   485,
11794      486,     0,   487,     0,   488,   489,   490,   491,   492,     0,
11795      493,   494,     0,     0,   495,   496,   497,   498,   499,     0,
11796      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
11797      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
11798      516,   517,   518,     0,   519,     0,   520,   521,   522,   523,
11799        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
11800      530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
11801      540,   541,   542,   993,     0,     0,     0,     0,     0,     0,
11802        0,     0,     0,     0,     0,     0,     0,     0,   223,   224,
11803      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
11804        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
11805      237,   238,   780,   239,   240,   241,     0,   994,   781,   995,
11806      996,     0,   246,   247,   248,   249,   250,     0,     0,   251,
11807      252,   997,   998,   255,     0,   256,   257,   258,   259,     0,
11808        0,   782,     0,   261,   262,   263,   264,   783,   265,   266,
11809      267,     0,   268,   269,   270,   271,   272,   273,     0,   784,
11810      274,   275,   276,     0,     0,     0,   785,     0,     0,     0,
11811      277,   278,   279,   280,   281,   282,   999,  1000,   285,     0,
11812      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
11813      294,   295,     0,     0,   296,   297,  1001,   299,   300,     0,
11814      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
11815      309,   310,     0,   312,   313,   314,     0,     0,   316,     0,
11816      317,   318,  1002,   320,     0,   321,     0,   322,   786,     0,
11817      787,   323,   324,   325,     0,   326,     0,     0,     0,   329,
11818        0,   330,   331,   332,   333,   334,   788,   335,   336,   337,
11819      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
11820      789,     0,   347,   348,   349,   350,  1004,  1005,     0,  1006,
11821        0,   354,   790,   791,   355,   792,   356,   357,   358,   359,
11822      360,     0,     0,   361,     0,   793,   363,   794,     0,   364,
11823      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
11824      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
11825     1007,   795,  1008,   385,   386,  2181,     0,   388,   389,   796,
11826      390,     0,     0,   392,  1009,   394,   395,   396,     0,   397,
11827        0,     0,   398,   399,   400,     0,     0,   401,     0,   797,
11828      403,   798,     0,   405,   406,   407,   408,   409,   410,   411,
11829      412,     0,   413,   414,     0,   416,     0,   418,   419,   420,
11830        0,   421,   422,   423,   424,   425,   426,   427,   428,  1010,
11831      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
11832      439,   440,   441,   442,   443,   444,     0,   445,   446,   799,
11833      447,   448,   449,     0,   451,   452,   453,   454,   455,   456,
11834      457,   458,     0,   459,   460,   461,   462,   463,     0,   464,
11835      465,  1011,   467,   468,   800,   469,   470,  1012,   472,     0,
11836      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
11837      483,     0,     0,   485,   486,     0,   487,   801,   488,   489,
11838      490,   491,   492,     0,  1013,  1014,     0,     0,   495,   496,
11839        0,   498,     0,     0,   500,   501,   502,   503,   504,   505,
11840      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
11841      512,   513,   514,   515,   516,     0,  1015,     0,   519,   802,
11842      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
11843      526,   527,   528,   529,   530,   993,     0,     0,     0,     0,
11844        0,     0,     0,     0,   540,   541,   542,     0,     0,     0,
11845      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
11846      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
11847      236,     0,   237,   238,   780,   239,   240,   241,     0,   994,
11848      781,   995,   996,     0,   246,   247,   248,   249,   250,     0,
11849        0,   251,   252,   997,   998,   255,     0,   256,   257,   258,
11850      259,     0,     0,   782,     0,   261,   262,   263,   264,   783,
11851      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
11852        0,   784,   274,   275,   276,     0,     0,     0,   785,     0,
11853        0,     0,   277,   278,   279,   280,   281,   282,   999,  1000,
11854      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
11855        0,   293,   294,   295,     0,     0,   296,   297,  1001,   299,
11856      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
11857      307,   308,   309,   310,     0,   312,   313,   314,     0,     0,
11858      316,     0,   317,   318,  1002,   320,     0,   321,     0,   322,
11859      786,     0,   787,   323,   324,   325,     0,   326,     0,     0,
11860        0,   329,     0,   330,   331,   332,   333,   334,   788,   335,
11861      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
11862        0,   345,   789,     0,   347,   348,   349,   350,  1004,  1005,
11863        0,  1006,     0,   354,   790,   791,   355,   792,   356,   357,
11864      358,   359,   360,     0,     0,   361,     0,   793,   363,   794,
11865        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
11866      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
11867      381,   382,  1007,   795,  1008,   385,   386,  3500,     0,   388,
11868      389,   796,   390,     0,     0,   392,  1009,   394,   395,   396,
11869        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
11870        0,   797,   403,   798,     0,   405,   406,   407,   408,   409,
11871      410,   411,   412,     0,   413,   414,     0,   416,     0,   418,
11872      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
11873      428,  1010,   430,   431,   432,   433,     0,   434,   435,   436,
11874      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
11875      446,   799,   447,   448,   449,     0,   451,   452,   453,   454,
11876      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
11877        0,   464,   465,  1011,   467,   468,   800,   469,   470,  1012,
11878      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
11879      481,   482,   483,     0,     0,   485,   486,     0,   487,   801,
11880      488,   489,   490,   491,   492,     0,  1013,  1014,     0,     0,
11881      495,   496,     0,   498,     0,     0,   500,   501,   502,   503,
11882      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
11883        0,     0,   512,   513,   514,   515,   516,     0,  1015,     0,
11884      519,   802,   520,   521,   522,   523,     0,     0,   524,     0,
11885        0,   525,   526,   527,   528,   529,   530,   993,     0,     0,
11886        0,     0,     0,     0,     0,     0,   540,   541,   542,     0,
11887        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
11888        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
11889        0,   235,   236,     0,   237,   238,   780,   239,   240,   241,
11890        0,   994,   781,   995,   996,     0,   246,   247,   248,   249,
11891      250,     0,     0,   251,   252,   997,   998,   255,     0,   256,
11892      257,   258,   259,     0,     0,   782,     0,   261,   262,   263,
11893      264,   783,   265,   266,   267,     0,   268,   269,   270,   271,
11894      272,   273,     0,   784,   274,   275,   276,     0,     0,     0,
11895      785,     0,     0,     0,   277,   278,   279,   280,   281,   282,
11896      999,  1000,   285,     0,   286,     0,   287,   288,   289,   290,
11897      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
11898     1001,   299,   300,     0,   301,   302,   303,     0,   304,   305,
11899      306,     0,   307,   308,   309,   310,     0,   312,   313,   314,
11900        0,     0,   316,     0,   317,   318,  1002,   320,     0,   321,
11901        0,   322,   786,     0,   787,   323,   324,   325,     0,   326,
11902        0,     0,     0,   329,     0,   330,   331,   332,   333,  1003,
11903      788,   335,   336,   337,   338,     0,   339,   340,   341,   342,
11904      343,   344,     0,   345,   789,     0,   347,   348,   349,   350,
11905     1004,  1005,     0,  1006,     0,   354,   790,   791,   355,   792,
11906      356,   357,   358,   359,   360,     0,     0,   361,     0,   793,
11907      363,   794,     0,   364,   365,   366,     0,     0,   367,   368,
11908      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
11909      379,   380,   381,   382,  1007,   795,  1008,   385,   386,     0,
11910        0,   388,   389,   796,   390,     0,     0,   392,  1009,   394,
11911      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
11912        0,   401,     0,   797,   403,   798,     0,   405,   406,   407,
11913      408,   409,   410,   411,   412,     0,   413,   414,     0,   416,
11914        0,   418,   419,   420,     0,   421,   422,   423,   424,   425,
11915      426,   427,   428,  1010,   430,   431,   432,   433,     0,   434,
11916      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
11917        0,   445,   446,   799,   447,   448,   449,     0,   451,   452,
11918      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
11919      462,   463,     0,   464,   465,  1011,   467,   468,   800,   469,
11920      470,  1012,   472,     0,   473,   474,   475,   476,   477,   478,
11921      479,   480,   481,   482,   483,     0,     0,   485,   486,     0,
11922      487,   801,   488,   489,   490,   491,   492,     0,  1013,  1014,
11923        0,     0,   495,   496,     0,   498,     0,     0,   500,   501,
11924      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
11925      510,   511,     0,     0,   512,   513,   514,   515,   516,     0,
11926     1015,     0,   519,   802,   520,   521,   522,   523,     0,     0,
11927      524,     0,     0,   525,   526,   527,   528,   529,   530,   993,
11928        0,     0,     0,     0,     0,     0,     0,     0,   540,   541,
11929      542,     0,     0,     0,   223,   224,   225,   226,   227,   228,
11930      229,   230,     0,   232,   233,   234,     0,     0,     0,     0,
11931        0,     0,     0,   235,   236,     0,   237,   238,   780,   239,
11932      240,   241,     0,   994,   781,   995,   996,     0,   246,   247,
11933      248,   249,   250,     0,     0,   251,   252,   997,   998,   255,
11934        0,   256,   257,   258,   259,     0,     0,   782,     0,   261,
11935      262,   263,   264,   783,   265,   266,   267,     0,   268,   269,
11936      270,   271,   272,   273,     0,   784,   274,   275,   276,     0,
11937        0,     0,   785,     0,     0,     0,   277,   278,   279,   280,
11938      281,   282,   999,  1000,   285,     0,   286,     0,   287,   288,
11939      289,   290,   291,   292,     0,   293,   294,   295,     0,     0,
11940      296,   297,  1001,   299,   300,     0,   301,   302,   303,     0,
11941      304,   305,   306,     0,   307,   308,   309,   310,     0,   312,
11942      313,   314,     0,     0,   316,     0,   317,   318,  1002,   320,
11943        0,   321,     0,   322,   786,     0,   787,   323,   324,   325,
11944        0,   326,     0,     0,     0,   329,     0,   330,   331,   332,
11945      333,  1061,   788,   335,   336,   337,   338,     0,   339,   340,
11946      341,   342,   343,   344,     0,   345,   789,     0,   347,   348,
11947      349,   350,  1004,  1005,     0,  1006,     0,   354,   790,   791,
11948      355,   792,   356,   357,   358,   359,   360,     0,     0,   361,
11949        0,   793,   363,   794,     0,   364,   365,   366,     0,     0,
11950      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
11951      377,   378,   379,   380,   381,   382,  1007,   795,  1008,   385,
11952      386,     0,     0,   388,   389,   796,   390,     0,     0,   392,
11953     1009,   394,   395,   396,     0,   397,     0,     0,   398,   399,
11954      400,     0,     0,   401,     0,   797,   403,   798,     0,   405,
11955      406,   407,   408,   409,   410,   411,   412,     0,   413,   414,
11956        0,   416,     0,   418,   419,   420,     0,   421,   422,   423,
11957      424,   425,   426,   427,   428,  1010,   430,   431,   432,   433,
11958        0,   434,   435,   436,   437,   438,   439,   440,   441,   442,
11959      443,   444,     0,   445,   446,   799,   447,   448,   449,     0,
11960      451,   452,   453,   454,   455,   456,   457,   458,     0,   459,
11961      460,   461,   462,   463,     0,   464,   465,  1011,   467,   468,
11962      800,   469,   470,  1012,   472,     0,   473,   474,   475,   476,
11963      477,   478,   479,   480,   481,   482,   483,     0,     0,   485,
11964      486,     0,   487,   801,   488,   489,   490,   491,   492,     0,
11965     1013,  1014,     0,     0,   495,   496,     0,   498,     0,     0,
11966      500,   501,   502,   503,   504,   505,   506,     0,     0,   507,
11967      508,   509,   510,   511,     0,     0,   512,   513,   514,   515,
11968      516,     0,  1015,     0,   519,   802,   520,   521,   522,   523,
11969        0,     0,   524,     0,     0,   525,   526,   527,   528,   529,
11970      530,   993,     0,     0,     0,     0,     0,     0,     0,     0,
11971      540,   541,   542,     0,     0,     0,   223,   224,   225,   226,
11972      227,   228,   229,   230,     0,   232,   233,   234,     0,     0,
11973        0,     0,     0,     0,     0,   235,   236,     0,   237,   238,
11974      780,   239,   240,   241,     0,   994,   781,   995,   996,     0,
11975      246,   247,   248,   249,   250,     0,     0,   251,   252,   997,
11976      998,   255,     0,   256,   257,   258,   259,     0,     0,   782,
11977        0,   261,   262,   263,   264,   783,   265,   266,   267,     0,
11978      268,   269,   270,   271,   272,   273,     0,   784,   274,   275,
11979      276,     0,     0,     0,   785,     0,     0,     0,   277,   278,
11980      279,   280,   281,   282,   999,  1000,   285,     0,   286,     0,
11981      287,   288,   289,   290,   291,   292,     0,   293,   294,   295,
11982        0,     0,   296,   297,  1001,   299,   300,     0,   301,   302,
11983      303,     0,   304,   305,   306,     0,   307,   308,   309,   310,
11984        0,   312,   313,   314,     0,     0,   316,     0,   317,   318,
11985     1002,   320,     0,   321,     0,   322,   786,     0,   787,   323,
11986      324,   325,     0,   326,     0,     0,     0,   329,     0,   330,
11987      331,   332,   333,   334,   788,   335,   336,   337,   338,     0,
11988      339,   340,   341,   342,   343,   344,     0,   345,   789,     0,
11989      347,   348,   349,   350,  1004,  1005,     0,  1006,     0,   354,
11990      790,   791,   355,   792,   356,   357,   358,   359,   360,     0,
11991        0,   361,     0,   793,   363,   794,     0,   364,   365,   366,
11992        0,     0,   367,   368,   369,   370,   371,   372,   373,   374,
11993      375,   376,   377,   378,   379,   380,   381,   382,  1007,   795,
11994     1008,   385,   386,     0,     0,   388,   389,   796,   390,     0,
11995        0,   392,  1009,   394,   395,   396,     0,   397,     0,     0,
11996      398,   399,   400,     0,     0,   401,     0,   797,   403,   798,
11997        0,   405,   406,   407,   408,   409,   410,   411,   412,     0,
11998      413,   414,     0,   416,     0,   418,   419,   420,     0,   421,
11999      422,   423,   424,   425,   426,   427,   428,  1010,   430,   431,
12000      432,   433,     0,   434,   435,   436,   437,   438,   439,   440,
12001      441,   442,   443,   444,     0,   445,   446,   799,   447,   448,
12002      449,     0,   451,   452,   453,   454,   455,   456,   457,   458,
12003        0,   459,   460,   461,   462,   463,     0,   464,   465,  1011,
12004      467,   468,   800,   469,   470,  1012,   472,     0,   473,   474,
12005      475,   476,   477,   478,   479,   480,   481,   482,   483,     0,
12006        0,   485,   486,     0,   487,   801,   488,   489,   490,   491,
12007      492,     0,  1013,  1014,     0,     0,   495,   496,     0,   498,
12008        0,     0,   500,   501,   502,   503,   504,   505,   506,     0,
12009        0,   507,   508,   509,   510,   511,     0,     0,   512,   513,
12010      514,   515,   516,     0,  1015,     0,   519,   802,   520,   521,
12011      522,   523,     0,     0,   524,     0,     0,   525,   526,   527,
12012      528,   529,   530,   993,     0,     0,     0,     0,     0,     0,
12013        0,     0,   540,   541,   542,     0,     0,     0,   223,   224,
12014      225,   226,   227,   228,   229,   230,     0,   232,   233,   234,
12015        0,     0,     0,     0,     0,     0,     0,   235,   236,     0,
12016      237,   238,   780,   239,   240,   241,     0,   994,   781,   995,
12017      996,     0,   246,   247,   248,   249,   250,     0,     0,   251,
12018      252,   997,   998,   255,     0,   256,   257,   258,   259,     0,
12019        0,   782,     0,   261,   262,   263,   264,   783,   265,   266,
12020      267,     0,   268,   269,   270,   271,   272,   273,     0,   784,
12021      274,   275,   276,     0,     0,     0,   785,     0,     0,     0,
12022      277,   278,   279,   280,   281,   282,   999,  1000,   285,     0,
12023      286,     0,   287,   288,   289,   290,   291,   292,     0,   293,
12024      294,   295,     0,     0,   296,   297,  1001,   299,   300,     0,
12025      301,   302,   303,     0,   304,   305,   306,     0,   307,   308,
12026      309,   310,     0,   312,   313,   314,     0,     0,   316,     0,
12027      317,   318,  1002,   320,     0,   321,     0,   322,   786,     0,
12028      787,   323,   324,   325,     0,   326,     0,     0,     0,   329,
12029        0,   330,   331,   332,   333,   334,   788,   335,   336,   337,
12030      338,     0,   339,   340,   341,   342,   343,   344,     0,   345,
12031      789,     0,   347,   348,   349,   350,  1004,  1005,     0,  1006,
12032        0,   354,   790,   791,   355,   792,   356,   357,   358,   359,
12033      360,     0,     0,   361,     0,   793,   363,   794,     0,   364,
12034      365,   366,     0,     0,   367,   368,   369,   370,   371,   372,
12035      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
12036     1007,   795,  1008,   385,   386,     0,     0,   388,   389,   796,
12037      390,     0,     0,   392,  1009,   394,   395,   396,     0,   397,
12038        0,     0,   398,   399,   400,     0,     0,   401,     0,   797,
12039      403,   798,     0,   405,   406,   407,   408,   409,   410,   411,
12040      412,     0,   413,   414,     0,   416,     0,   418,   419,   420,
12041        0,   421,   422,   423,   424,   425,   426,   427,   428,  1010,
12042      430,   431,   432,   433,     0,   434,   435,   436,   437,   438,
12043      439,   440,   441,   442,   443,   444,     0,   445,   446,   799,
12044      447,   448,   449,     0,   451,   452,   453,   454,   455,   456,
12045      457,   458,     0,   459,   460,   461,   462,   463,     0,   464,
12046      465,  2014,   467,   468,   800,   469,   470,  1012,   472,     0,
12047      473,   474,   475,   476,   477,   478,   479,   480,   481,   482,
12048      483,     0,     0,   485,   486,     0,   487,   801,   488,   489,
12049      490,   491,   492,     0,  1013,  1014,     0,     0,   495,   496,
12050        0,   498,     0,     0,   500,   501,   502,   503,   504,   505,
12051      506,     0,     0,   507,   508,   509,   510,   511,     0,     0,
12052      512,   513,   514,   515,   516,     0,  1015,     0,   519,   802,
12053      520,   521,   522,   523,     0,     0,   524,     0,     0,   525,
12054      526,   527,   528,   529,   530,   993,     0,     0,     0,     0,
12055        0,     0,     0,     0,   540,   541,   542,     0,     0,     0,
12056      223,   224,   225,   226,   227,   228,   229,   230,     0,   232,
12057      233,   234,     0,     0,     0,     0,     0,     0,     0,   235,
12058      236,     0,   237,   238,   780,   239,   240,   241,     0,   994,
12059      781,   995,   996,     0,   246,   247,   248,   249,   250,     0,
12060        0,   251,   252,   997,   998,   255,     0,   256,   257,   258,
12061      259,     0,     0,   782,     0,   261,   262,   263,   264,   783,
12062      265,   266,   267,     0,   268,   269,   270,   271,   272,   273,
12063        0,   784,   274,   275,   276,     0,     0,     0,   785,     0,
12064        0,     0,   277,   278,   279,   280,   281,   282,   999,  1000,
12065      285,     0,   286,     0,   287,   288,   289,   290,   291,   292,
12066        0,   293,   294,   295,     0,     0,   296,   297,  1001,   299,
12067      300,     0,   301,   302,   303,     0,   304,   305,   306,     0,
12068      307,   308,   309,   310,     0,   312,   313,   314,     0,     0,
12069      316,     0,   317,   318,  1002,   320,     0,   321,     0,   322,
12070      786,     0,   787,   323,   324,   325,     0,   326,     0,     0,
12071        0,   329,     0,   330,   331,   332,   333,   334,   788,   335,
12072      336,   337,   338,     0,   339,   340,   341,   342,   343,   344,
12073        0,   345,   789,     0,   347,   348,   349,   350,  1004,  1005,
12074        0,  1006,     0,   354,   790,   791,   355,   792,   356,   357,
12075      358,   359,   360,     0,     0,   361,     0,   793,   363,   794,
12076        0,   364,   365,   366,     0,     0,   367,   368,   369,   370,
12077      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
12078      381,   382,  1007,   795,  1008,   385,   386,     0,     0,   388,
12079      389,   796,   390,     0,     0,   392,  1009,   394,   395,   396,
12080        0,   397,     0,     0,   398,   399,   400,     0,     0,   401,
12081        0,   797,   403,   798,     0,   405,   406,   407,   408,   409,
12082      410,   411,   412,     0,   413,   414,     0,   416,     0,   418,
12083      419,   420,     0,   421,   422,   423,   424,   425,   426,   427,
12084      428,  1010,   430,   431,   432,   433,     0,   434,   435,   436,
12085      437,   438,   439,   440,   441,   442,   443,   444,     0,   445,
12086      446,   799,   447,   448,   449,     0,   451,   452,   453,   454,
12087      455,   456,   457,   458,     0,   459,   460,   461,   462,   463,
12088        0,   464,   465,     0,   467,   468,   800,   469,   470,  1012,
12089      472,     0,   473,   474,   475,   476,   477,   478,   479,   480,
12090      481,   482,   483,     0,     0,   485,   486,     0,   487,   801,
12091      488,   489,   490,   491,   492,     0,  1013,  1014,     0,     0,
12092      495,   496,     0,   498,     0,     0,   500,   501,   502,   503,
12093      504,   505,   506,     0,     0,   507,   508,   509,   510,   511,
12094        0,     0,   512,   513,   514,   515,   516,     0,  1015,     0,
12095      519,   802,   520,   521,   522,   523,     0,     0,   524,     0,
12096        0,   525,   526,   527,   528,   529,   530,   993,     0,     0,
12097        0,     0,     0,     0,     0,     0,   540,   541,   542,     0,
12098        0,     0,   223,   224,   225,   226,   227,   228,   229,   230,
12099        0,   232,   233,   234,     0,     0,     0,     0,     0,     0,
12100        0,   235,   236,     0,   237,   238,   780,   239,   240,   241,
12101        0,     0,   781,     0,     0,     0,   246,   247,   248,   249,
12102      250,     0,     0,   251,   252,     0,     0,   255,     0,   256,
12103      257,   258,   259,     0,     0,   782,     0,   261,   262,   263,
12104      264,   783,   265,   266,   267,     0,   268,   269,   270,   271,
12105      272,   273,     0,   784,   274,   275,   276,     0,     0,     0,
12106      785,     0,     0,     0,   277,   278,   279,   280,   281,   282,
12107        0,     0,   285,     0,   286,     0,   287,   288,   289,   290,
12108      291,   292,     0,   293,   294,   295,     0,     0,   296,   297,
12109      298,   299,   300,     0,   301,   302,   303,     0,   304,   305,
12110      306,     0,   307,   308,   309,   310,     0,   312,   313,   314,
12111        0,     0,   316,     0,   317,   318,     0,   320,     0,   321,
12112        0,   322,   786,     0,   787,   323,   324,   325,     0,   326,
12113        0,     0,     0,   329,     0,   330,   331,   332,   333,   334,
12114      788,   335,   336,   337,   338,     0,   339,   340,   341,   342,
12115      343,   344,     0,   345,   789,     0,   347,   348,   349,   350,
12116        0,     0,     0,     0,     0,   354,   790,   791,   355,   792,
12117      356,   357,   358,   359,   360,     0,     0,   361,     0,   793,
12118      363,   794,     0,   364,   365,   366,     0,     0,   367,   368,
12119      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
12120      379,   380,   381,   382,     0,   795,     0,   385,   386,     0,
12121        0,   388,   389,   796,   390,     0,     0,   392,     0,   394,
12122      395,   396,     0,   397,     0,     0,   398,   399,   400,     0,
12123        0,   401,     0,   797,   403,   798,     0,   405,   406,   407,
12124      408,   409,   410,   411,   412,     0,   413,   414,     0,   416,
12125        0,   418,   419,   420,     0,   421,   422,   423,   424,   425,
12126      426,   427,   428,     0,   430,   431,   432,   433,     0,   434,
12127      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
12128        0,   445,   446,   799,   447,   448,   449,     0,   451,   452,
12129      453,   454,   455,   456,   457,   458,     0,   459,   460,   461,
12130      462,   463,     0,   464,   465,     0,   467,   468,   800,   469,
12131      470,     0,   472,     0,   473,   474,   475,   476,   477,   478,
12132      479,   480,   481,   482,   483,     0,     0,   485,   486,     0,
12133      487,   801,   488,   489,   490,   491,   492,     0,     0,     0,
12134        0,     0,   495,   496,     0,   498,     0,     0,   500,   501,
12135      502,   503,   504,   505,   506,     0,     0,   507,   508,   509,
12136      510,   511,     0,     0,   512,   513,   514,   515,   516,     0,
12137        0,     0,   519,   802,   520,   521,   522,   523,     0,     0,
12138      524,     0,     0,   525,   526,   527,   528,   529,   530,     0,
12139        0,     0,     0,     0,     0,     0,     0,     0,   540,   541,
12140      542
12141 };
12142 
12143 static const yytype_int16 yycheck[] =
12144 {
12145       16,     0,     0,     0,     0,     0,     0,    50,  1036,    25,
12146      190,   571,   601,   204,    35,    21,  1270,  1078,   778,   199,
12147     1714,    27,    20,   773,    20,   835,   182,     7,  1045,   724,
12148      674,   675,   676,    44,    14,   722,   680,   878,   804,  1347,
12149      200,  1289,  1040,  1011,   865,  1100,   601,   207,  2306,    21,
12150     1070,  1835,    50,   642,  1030,    27,  1390,   887,   218,  1272,
12151      620,   747,    12,  2654,   999,  1000,  1384,  1498,  2833,  1131,
12152      932,  1325,  2491,  2180,  1009,  1014,  2315,    43,  1395,  1406,
12153      731,    20,  1390,  3024,  3051,  3350,    22,  3069,  1569,  3093,
12154     2858,  1450,  2860,  2806,   864,  1750,   937,    17,   562,    35,
12155      941,  2233,     0,  1963,  1294,   946,   952,  3669,  1321,  2467,
12156      623,  3449,   207,  3080,   955,  3006,  3391,   963,  3395,   169,
12157     2646,   634,  3013,   218,   965,   987,  3286,  2018,  2019,  2711,
12158     2644,  2645,  3395,  3013,  3658,   641,  3655,   184,   727,  1733,
12159     1467,  1468,  3681,   184,   633,  1462,  3659,   611,  1794,  3672,
12160     1581,  3314,  3605,  1838,  3320,  1016,    34,     0,   612,     0,
12161     1376,     0,     0,    41,     0,  2577,     0,  1325,     0,  4115,
12162        0,   864,   727,     0,    49,  1989,  1987,   870,  2642,   633,
12163     2719,  3067,  3368,    40,  3921,  4292,   184,   880,  1208,   821,
12164     1671,     0,   770,  1054,     0,     0,   770,  3319,  3249,     9,
12165        0,  1062,  2309,  1304,   997,   998,  4235,  1068,  4237,     0,
12166     4410,     0,     0,  4273,    11,  1008,     3,     4,     5,    35,
12167       48,  2642,     9,  4330,    41,  1160,  1161,     5,    70,    84,
12168        5,    76,     5,     5,  2018,    13,    14,    41,    62,  2703,
12169       13,    14,    55,     5,  1179,  4599,    26,   213,     5,   159,
12170     1189,    13,    14,    33,    39,   109,  2273,  2547,  2548,    22,
12171       11,    72,  2552,   181,  2281,   134,  2283,   154,  1078,     9,
12172       64,    39,    55,  4334,  4335,   159,   159,   159,  1532,     5,
12173       29,   103,  2703,    26,     5,     5,   930,     5,   102,    40,
12174       62,   103,     5,   114,   141,     5,  4276,     5,     5,  2589,
12175     2590,     5,  2409,     0,  2411,  2717,   129,     5,   160,   159,
12176      159,    55,     9,  1339,     5,   109,   102,    81,     5,    70,
12177      140,    81,   109,    26,     5,  2808,   261,   109,   247,    26,
12178       33,    74,     0,     4,   165,   114,  4358,   261,     9,    82,
12179      116,     9,    62,   259,    27,   109,   159,   244,   908,   327,
12180      102,   109,   339,   101,    55,   111,  1149,  1150,    26,   159,
12181      137,   233,   184,    11,   127,   323,     5,   110,   159,     4,
12182      159,   159,   184,     3,     9,   260,    38,   557,    32,   149,
12183      571,   181,  1175,   332,  4364,   339,   309,   320,   113,   378,
12184      181,  2085,   181,   181,    55,   399,   151,   139,   298,   418,
12185       30,    31,    55,   309,  4758,   313,  3747,    21,  3749,   569,
12186      310,   420,   199,    27,   574,   194,   365,   451,     4,     4,
12187      439,   455,  4529,     9,     9,   585,   606,  1257,   297,   620,
12188      439,   339,   421,   339,   221,   335,   616,    26,     5,   397,
12189      182,   218,   185,  1209,    33,  1255,   900,  4476,   218,   453,
12190     1260,  1261,   246,   376,  4400,   210,   405,   251,   330,   314,
12191     4515,  4516,   159,  1711,   246,   398,   920,  1715,   455,  1717,
12192      109,  1237,  1720,  3926,   569,   453,   201,  1066,   397,   574,
12193      934,  1509,   246,   231,   181,   111,   234,   141,   258,  1078,
12194      585,   159,   244,   251,    55,   251,   290,  1514,    72,   423,
12195      244,   200,    72,   457,   453,   327,   403,    81,   207,  1535,
12196      304,  1066,   195,   181,   327,   327,    72,   179,   453,   218,
12197      159,   208,   342,    72,    72,    81,   376,   376,   158,  4509,
12198      160,   102,   315,  1046,    22,   551,  1749,   453,  4518,   457,
12199     3023,   251,   364,   365,   389,   327,  1135,   457,  1802,  4571,
12200      336,   365,   364,   365,  1364,   554,   554,   554,   554,   554,
12201      554,    11,  4916,   312,  1374,   376,   453,   414,   453,   349,
12202      453,   315,   376,   457,  1080,   457,   397,   362,  1791,    11,
12203     1135,   356,   357,  1603,   453,   601,   602,   404,   442,  3480,
12204       40,   414,  4116,  1106,   362,   339,   646,   410,   392,   642,
12205     3480,   453,   457,     8,  1117,  1446,    11,  1448,    40,   451,
12206       15,    16,    17,   455,   315,   358,   376,   773,   397,  1132,
12207       70,  4074,  4682,   399,  1837,   453,   457,    32,  1438,   453,
12208      550,  1441,  1442,  3398,   397,  1456,   408,   453,    70,   127,
12209     1502,   453,   452,   641,   642,   641,   349,  4708,  2755,   655,
12210     1705,   657,   449,   659,   315,  3815,   456,   444,   445,   665,
12211     3627,  1115,   315,  1252,  4864,   456,  1496,   456,   456,  1362,
12212     1771,  1260,  1261,   689,   457,   453,  3842,  1675,  1779,  4132,
12213      453,   453,  1528,   655,   251,   657,  3668,   659,  3851,   669,
12214      640,   453,  3855,   665,   666,   667,   453,  1252,   449,   715,
12215     1510,   408,  1637,   642,   444,   445,  4813,   723,  3759,  3650,
12216      726,   727,   728,   893,  1712,   762,  3902,   908,  4825,  3841,
12217      686,   762,   420,  1721,   904,   451,  1419,   453,  1748,   455,
12218     1750,  1592,   453,   453,  1312,   453,  1756,   376,  1312,   420,
12219      453,   439,  1762,  1763,  1764,   453,   453,   444,   445,   453,
12220     4805,  1383,  1772,  1773,   315,   453,   457,  1777,   439,   456,
12221      349,  4790,   453,   102,   762,   764,   764,   764,   764,   764,
12222      764,  4508,   453,   444,   445,   401,   444,   445,  2032,   409,
12223     1641,   747,  2099,   418,  1645,    11,   274,   104,   456,  4896,
12224     1651,  1652,    20,   973,   365,  2129,   457,   202,   446,   447,
12225      448,   449,   376,   442,   439,    64,   376,  3046,  3334,   444,
12226      445,   777,   751,  1674,  4760,  4268,   455,  1610,  1611,  4160,
12227      376,   309,  4275,  4164,  4165,  3590,  4167,   376,   376,   102,
12228        5,  2722,   140,  2724,    26,  3721,   102,  4399,    68,     5,
12229      169,  3380,   323,   111,   200,    56,   127,   266,  3312,   109,
12230     3314,   339,  2192,    64,   820,   167,   173,   262,   302,  2176,
12231     2644,  2645,  2646,   835,  1424,  3578,   764,   339,   725,  2683,
12232      569,  2682,   729,   256,  2032,   574,  1977,   266,    29,   138,
12233      755,  2988,  2989,   256,   244,   159,   585,    88,    83,     3,
12234      161,  3312,     8,  3314,   409,    11,   457,   156,    22,    15,
12235       16,    17,   601,  2119,   114,     3,  2160,  2247,     3,    23,
12236        5,   273,   140,   811,   402,  4861,   233,   127,   617,   236,
12237      191,   764,   114,   764,   623,   764,   764,   260,   764,   124,
12238      764,  3395,   764,  1577,   764,   634,   204,   764,  3228,  3229,
12239     3230,  3231,   256,   642,  3234,  3235,  3236,  3237,  3238,  3239,
12240     3240,  3241,  3242,  3243,  3366,   764,  4219,   117,   764,   764,
12241       22,     5,  2979,   164,   250,   256,    80,   411,  1422,  2986,
12242     2987,   292,   453,  2990,  3395,     3,   162,   339,   246,    78,
12243     2997,  3694,    80,   264,  2045,   457,   246,   206,   866,   867,
12244     2349,   114,  4269,  4256,   444,   445,   446,   447,   448,   449,
12245     3290,  3291,   194,   127,   156,   260,  4269,   161,   320,   104,
12246      221,   114,  2658,   330,   446,   447,   448,   449,   132,  4179,
12247      119,   153,  1788,  1718,  1719,   244,   365,  2712,   727,   259,
12248      298,   290,   313,   131,   342,   440,   441,   442,   457,   444,
12249      445,   446,   447,   448,   449,  2363,  2014,  2301,  2024,  1503,
12250     1066,    26,    80,  4615,  4220,   104,   169,   977,   339,   109,
12251      346,  4224,  1078,    46,  1518,   127,  4229,   181,   457,  4232,
12252      453,   194,   186,  4586,   403,   435,   251,   287,   173,  2673,
12253      453,   102,  1080,  1537,  1080,   251,  4610,  4626,   109,  4608,
12254     1650,   194,   365,  1682,    78,   323,  1112,  1958,  4611,   365,
12255     4623,   457,   376,  1083,   132,  1085,  1078,  1087,   262,  1089,
12256     4001,  1091,  1092,  1093,   342,  3006,   154,   434,  1098,  1135,
12257     1609,  4001,  3013,   342,   173,   160,   224,  4109,  4132,  1642,
12258     1584,   244,   453,   392,  1598,   119,   453,  4104,   233,   453,
12259      332,   236,  1655,  1597,    36,  1143,   262,  4410,   334,   309,
12260     3915,   264,  4872,   285,    64,  1609,    78,  1670,   186,   365,
12261       78,   312,   453,    22,  1162,  1208,   280,  1621,   442,    28,
12262      230,    81,   323,    34,   325,  1681,   274,   276,   397,  1668,
12263      366,   455,    26,     8,   233,   161,    11,   236,  3956,   457,
12264       15,    16,    17,   176,  1210,  1193,   451,   119,   181,  3090,
12265      455,   119,   442,  1219,   358,   397,   320,  2455,   273,  1769,
12266     1208,  1665,   274,   266,  1668,   455,    26,  1233,   444,   445,
12267      446,   447,   448,   449,    78,   246,   118,   151,   138,   332,
12268      381,  4506,  1282,  1424,   217,   330,  1252,  4761,   311,  1255,
12269     1256,   169,   277,   137,  1260,  1261,   156,   309,   109,   363,
12270     1297,  1298,   280,  1300,  4974,     8,  1297,  1298,    11,  1300,
12271       22,   384,    15,    16,    17,   119,    28,   141,   127,    48,
12272      368,   370,   370,   311,   397,  4613,   390,   339,   122,   453,
12273     4440,   330,   332,  1255,   398,   376,   262,   401,  1260,  1261,
12274      403,   202,   276,   109,   397,   122,   162,   124,  4860,  1297,
12275     1298,   376,  1300,  4865,   198,  2000,   339,   282,  3598,  4472,
12276      345,   122,   122,   124,  2568,   365,   244,  4770,  3900,   243,
12277     2574,   100,    24,  1483,   440,   441,   442,   415,   444,   445,
12278      446,   447,   448,   449,   355,   376,   147,   358,   113,   434,
12279        0,    72,    44,  1797,   160,   418,  3872,  1046,  1314,   260,
12280       81,   442,  3878,  3867,   276,   405,  2376,  4919,   276,   334,
12281      340,   344,   390,   399,   455,   127,   439,  1066,   418,   457,
12282      398,  4531,   266,   401,  2402,  4535,  4536,   202,   207,  1078,
12283      290,  3739,   457,  2229,   457,   434,   370,  3851,  4651,   439,
12284     2200,  3855,  1364,  1553,   369,  2412,   371,  1557,  2208,  4676,
12285     2210,   454,  1374,   453,   457,   266,   206,  1106,  2406,  1569,
12286     4392,  1591,  4303,  4676,   193,   274,   457,   453,  1117,  4981,
12287     4685,  4686,   276,  4303,   457,   149,   201,  2197,   181,   256,
12288     3851,   247,   453,  1132,  3855,  2128,  1135,   262,  1454,  1359,
12289      251,  1413,  1414,  4384,   244,   256,  2547,  2548,   370,   202,
12290      309,  2552,   370,   173,     8,   274,  2045,    11,   332,  1650,
12291     1640,    15,    16,    17,  3158,   244,  1438,   163,   334,  1441,
12292     1442,    22,   112,   453,   297,   403,  2666,    28,    32,   369,
12293      339,   371,   392,  1643,  2330,  2331,  2332,  2333,  2589,  2590,
12294      309,   365,   378,   195,   218,  1461,  2342,   391,   298,     8,
12295      366,   324,  2750,   273,  2197,  2823,    15,    16,    17,   262,
12296     2372,  1671,   274,   233,  3374,   111,   370,  3649,  2379,   273,
12297      339,   387,   274,   120,   325,   221,  2219,  2087,   266,  2549,
12298     1428,   405,   399,   130,  1714,  1433,   418,   177,  1510,  1555,
12299     2401,  2561,   342,   111,   418,  3562,  3201,   309,    11,   328,
12300     3334,  3568,  3569,  1252,  3571,  2416,  2249,   309,  2419,  2420,
12301     2919,  1260,  1261,  2424,  2425,   439,   122,   169,   124,   339,
12302     2431,  1270,   383,  2593,  2038,   457,   127,   339,  1769,   453,
12303      381,   442,   393,   399,  1482,   339,   453,   339,  1486,  3480,
12304      451,   329,   453,   454,   455,  4360,   457,   397,    88,   161,
12305      149,  4864,  3709,   274,  3711,   154,   456,    70,   204,  1428,
12306      330,  2631,  2929,  2126,  1433,   440,   441,   442,   108,   444,
12307      445,   446,   447,   448,   449,  4890,  1325,   289,  2082,   274,
12308      325,  4598,  2493,   274,   453,  1607,   204,   418,   309,  4621,
12309     2094,   181,   244,  2897,   313,  1617,    24,  1619,   202,  2459,
12310      246,   141,   141,   112,  1626,  4596,   122,   112,   124,   289,
12311      457,   264,  1634,  1482,   309,  3146,    44,  1486,   339,   218,
12312      339,   274,   274,   369,   154,   371,   457,   274,   246,    81,
12313     2134,   147,   418,  1681,   164,  1681,   381,   440,   441,   442,
12314      246,   444,   445,   446,   447,   448,   449,  4638,   339,   395,
12315      256,   181,   298,   439,   292,  2760,   309,   309,   262,   258,
12316     4423,  1691,   309,  1693,  2358,  1695,   378,  1697,   177,  1699,
12317     1741,   457,   177,  1703,  2188,   302,   657,   658,   659,   101,
12318      298,   662,   663,   664,  1733,  1733,  1733,  1733,  1733,  1733,
12319     4159,   672,   309,  1682,  2720,  1761,  3073,  4300,   378,  3076,
12320     2726,   160,   348,   262,  4519,  4219,   333,  4525,  3012,   421,
12321     4224,   163,  1728,   325,   454,  4229,  4770,   457,  4232,   309,
12322       61,    62,   339,   313,    48,  2792,   111,  4759,  2367,     3,
12323      246,   190,   184,   155,  1483,   251,  1758,  1759,   365,  4342,
12324      256,   421,  4256,  1765,  1766,  2730,   205,   274,  4219,   339,
12325      155,   403,  4769,  4224,  1740,  4269,   215,   410,  4229,  1807,
12326      381,  4232,  2367,    72,   186,   305,    90,   379,  1551,   221,
12327      323,  1793,    81,   385,  4082,   323,   324,  1747,  4419,  3936,
12328     3937,   186,   309,  1532,   411,  4256,  1852,  1570,   318,  2293,
12329     2429,   115,   332,   332,  4263,   159,  4265,   420,  4269,  2659,
12330     4108,   354,   255,   188,  1553,  4094,    80,   131,  1557,   231,
12331       11,   135,   234,   265,    13,    14,   439,   181,  2028,   274,
12332     1569,  3221,   411,  2033,  2429,   365,   365,  2037,   418,   329,
12333      453,   155,   302,   111,   158,  4175,   440,   441,   442,    40,
12334      444,   445,   446,   447,   448,   449,  2087,   171,  2078,   439,
12335     3250,  2651,  2763,  2063,   309,  2085,   208,   131,  3156,   244,
12336      319,   246,   323,   333,   325,   405,   405,   383,  2780,    70,
12337      154,    42,  4635,  4688,   453,   232,   154,   393,   418,   418,
12338      418,   440,   441,   442,   339,   444,   445,   446,   447,   448,
12339      449,   175,    63,  1642,  1643,   365,  4410,  2107,   381,   439,
12340      439,   439,   274,   246,   149,   154,  1655,   381,   251,   154,
12341      188,     5,   420,   453,   453,  2125,    10,   369,  3399,   371,
12342      381,  1670,  1671,  4914,    18,   163,   175,   251,   369,   381,
12343      371,   439,  2843,  1682,  2845,   259,   311,   309,  2809,  4410,
12344      392,   411,    36,   395,   163,   453,   329,  2157,  4965,   260,
12345      224,  3056,    85,   296,   265,  2656,  2005,  2005,  4472,  3263,
12346     3065,   323,   324,  2834,  1986,  1987,   244,   339,   246,   232,
12347      452,  1960,   296,   218,   227,   457,  2047,  2481,  2049,  2045,
12348     2125,  2191,   274,   221,  4051,  2195,  4053,  4054,   227,  2045,
12349     4057,   448,  4807,   230,  2498,  2605,   453,   860,   455,   448,
12350      274,  4472,   221,  2213,   453,  2509,   455,  3270,  2393,  2394,
12351     2395,   230,   875,   258,  2224,   878,  2560,   309,  2562,  2563,
12352     2659,   313,   454,  2045,    64,   457,   452,  2237,   323,   324,
12353       70,   457,     4,  3867,  4675,   309,  2246,     9,  3872,   313,
12354      453,    81,   455,  2954,  3878,    89,  2191,   339,  2114,  2960,
12355     4559,   230,  4561,  1802,   260,   451,  4565,   453,  4567,   265,
12356     4001,   175,   184,  3447,   302,   339,  3433,  2810,   381,   109,
12357      454,   111,  3184,   457,   327,  3452,  3453,  3228,  3229,  3230,
12358     3231,    77,  2098,  3234,  3235,  3236,  3237,  3238,  3239,  3240,
12359     3241,  3242,  3243,   451,   368,   453,   370,   455,    52,  4439,
12360     1081,  2246,   418,  1084,   420,  1086,   411,  1088,   454,  1090,
12361     3261,   457,  3375,  1094,  3192,   368,   160,  3484,   454,   323,
12362      324,   457,  3111,  3112,   208,   454,  3017,   227,   457,   368,
12363      453,   369,  4947,   371,   453,   329,   455,  4651,  2777,  3290,
12364     3291,  2884,   395,   418,   418,   420,   190,     9,   188,   332,
12365      369,     8,   371,  3223,    11,   453,   395,   395,    15,    16,
12366       17,   205,  4676,   454,   260,   418,   457,   420,   418,   327,
12367      420,   215,  2777,   411,   457,  3479,   395,  3481,  2200,   418,
12368     4651,   420,   365,    40,  2747,  2748,  2208,  3257,  2210,    46,
12369     3671,  3102,   454,   454,   453,   457,   457,   241,   454,  2265,
12370      453,   457,   454,    52,   456,  4676,   246,  2273,   369,  1781,
12371      371,   251,  1784,    70,   453,  2281,   260,  2283,  3129,  3130,
12372     4377,  3132,   405,  3134,  3135,   454,   411,   327,   457,   227,
12373      454,   454,  3302,   457,   457,   418,  3147,     8,   454,   454,
12374       11,   457,   457,   409,    15,    16,    17,  4888,    42,   454,
12375      290,   454,   457,   455,   457,  2465,   439,    53,   454,   454,
12376      456,    32,   457,  2329,   304,  2495,   454,   436,   368,   457,
12377      453,  2501,   204,  2483,  3185,   319,  3188,  2781,  4345,  2028,
12378     4921,  2491,   454,  2032,  2033,   457,   454,   454,  2037,   457,
12379      457,  3396,  3397,  2359,  2798,   395,  2045,  4131,   263,  3657,
12380      137,  2367,  2351,  2351,   454,   101,  3674,   457,   454,   376,
12381      454,   457,   149,   457,  2063,   263,  2316,   154,   418,   176,
12382      420,   369,   260,   371,   181,   247,   248,   454,   137,   327,
12383      457,   454,   154,  3193,   457,  4804,   454,  2900,   454,   457,
12384      149,   457,   767,   454,   769,   154,   457,  2910,  3042,  4990,
12385     4864,   454,   392,   453,   457,   399,   454,   260,  2107,   457,
12386      217,   198,  4303,  2429,  2605,   204,   454,  2389,  2390,   457,
12387      368,   436,   454,    89,  2396,   457,  2125,  2126,   263,    42,
12388     3019,   218,  3021,   454,   137,   436,   457,   183,  2892,   198,
12389     2894,   454,  3377,  4864,   457,   454,   149,   395,   457,  3425,
12390      454,   154,  3856,   457,  3858,   262,   158,  2156,  2157,   218,
12391      332,  2160,  2642,   446,  3019,   454,  3021,   453,   457,   457,
12392      418,   258,   420,   454,  3722,  3723,  3724,   454,   454,   266,
12393      457,   202,  3168,    52,   159,   231,  2677,  2459,   234,   200,
12394      453,   455,  2191,   365,   160,   198,  2195,  3598,   244,   258,
12395     3089,  2955,   339,   422,   453,   453,  2549,   266,  3338,   454,
12396        8,   181,   457,    11,  2213,   218,   309,    15,    16,    17,
12397     3033,  4412,  3035,  2703,   190,  2224,  2980,   273,     8,   454,
12398      142,    11,   457,   405,  3089,   453,   142,   344,  2237,   205,
12399      454,   262,   454,   457,   455,   457,   418,  2246,   260,   215,
12400     2593,  2549,   181,   454,   454,   258,   457,   457,   454,  3325,
12401       40,   457,   454,   266,   309,   457,    46,   439,   314,   454,
12402      454,  2731,   457,   457,   454,   241,   260,   457,  3328,  3329,
12403     3330,   453,   181,   454,     8,   454,   457,    11,   457,   142,
12404       70,    15,    16,    17,   142,  2593,   454,  4855,   454,   457,
12405      227,   457,  2301,   227,   391,   260,   454,   353,    32,   457,
12406      454,   154,  2610,   457,  2774,   309,   454,   142,  3072,   457,
12407     3954,   454,   216,   111,   457,  2636,  2637,  2638,  2626,   399,
12408      437,   232,   391,   440,   441,   442,   453,   444,   445,   446,
12409      447,   448,   449,  2659,  2642,   454,   260,   381,   457,  3103,
12410      255,   454,   329,   319,   457,  3868,   454,   454,   454,   457,
12411      457,   457,  4356,  2706,   411,   154,   454,   227,  2367,   457,
12412     3183,   208,   454,   453,  2673,  2673,  2673,  2673,  2673,  2673,
12413       64,   454,    35,  3896,   457,  2657,   422,  2659,   391,   227,
12414      454,   454,   454,   457,   457,   457,   176,   246,   260,   454,
12415      327,   181,   457,   327,   202,  2703,   246,    42,  2706,  2681,
12416     2682,   454,   454,   454,   457,   457,   457,    42,   453,   440,
12417      441,   442,  2882,   444,   445,   446,   447,   448,   449,   386,
12418     2429,   154,   248,  3554,  3575,  2895,     0,   217,   274,   454,
12419      454,   368,   457,   457,   368,   454,  4000,   454,   457,   411,
12420      457,   411,  3206,   454,   454,    77,   457,   457,   154,   293,
12421      142,  2777,   142,   453,   262,   142,  2465,   327,   395,   408,
12422      453,   395,  3792,  3227,  4022,  4023,   286,  4025,   202,   453,
12423      142,    34,   262,   142,  2483,   422,   142,   142,   457,   327,
12424      142,   418,  2491,   420,   418,   260,   420,   142,  3252,     3,
12425      142,   260,   142,   142,     8,   154,   137,    11,   368,   142,
12426      260,    15,    16,    17,  2974,  3006,   332,   453,   149,   142,
12427      365,   227,  3013,   154,    88,   142,   453,   142,    32,   453,
12428      368,    35,  3286,    35,   154,   395,    40,  3805,   262,  3685,
12429      216,   154,    46,  4627,   260,  3706,   453,     5,  2864,   365,
12430        5,   453,   154,  3714,  3715,  3716,  3717,   395,   418,     5,
12431      420,   453,   453,   453,   344,   453,    70,   198,   453,  2568,
12432      453,   453,     5,   137,   453,  2574,   453,   453,   453,   453,
12433      418,   453,   420,   453,     5,   149,   453,   218,     5,   405,
12434      154,   419,  2908,   453,   453,   159,   453,   453,   453,   453,
12435      164,   453,   418,   167,   271,   200,   170,   453,    35,   453,
12436      457,   453,   453,    92,   453,   453,   216,  3727,   154,    35,
12437      258,   327,   457,   439,   154,   339,   256,   258,   376,   376,
12438      327,   455,   376,   376,   198,   266,   327,   453,   454,   218,
12439      456,  2957,   440,   441,   442,   376,   444,   445,   446,   447,
12440      448,   449,   442,    81,   218,   376,   376,   437,   327,   142,
12441     2659,   260,   368,  2979,   444,   445,   446,   447,   448,   449,
12442     2986,  2987,   176,   260,  2990,    30,    31,   181,  3158,   213,
12443      331,  2997,   376,   376,  3000,   251,  3146,   376,   227,   395,
12444     3006,   398,   260,   368,   258,   260,   260,  3013,   202,   203,
12445      256,  3161,   266,  3019,   323,  3021,   376,   453,   376,   174,
12446       81,   453,   418,   217,   420,   274,   440,   441,   442,   457,
12447      444,   445,   446,   447,   448,   449,  3186,   181,   142,   103,
12448      376,   227,  2731,    88,  3006,  4090,   399,    52,   399,   376,
12449      376,  3013,    52,  3059,   376,   249,   264,   453,  2747,  2748,
12450      376,    41,   316,   108,   368,   376,    41,   327,   262,   457,
12451      391,   265,   260,   202,  3036,   376,   376,   376,   376,   376,
12452      260,  3932,  3088,  3089,  4175,  2774,   260,   202,  2777,   422,
12453     3079,  3079,   202,  4184,   376,   386,   141,   453,   327,  4397,
12454        8,   418,    35,    11,    24,   142,  4350,    15,    16,    17,
12455      260,   365,  3101,  3101,   246,  3966,  3967,   109,  3621,  3622,
12456      399,   142,   453,   410,    32,   224,   256,   246,    35,   154,
12457      451,  3634,    40,   454,   455,   453,    35,   391,    46,   368,
12458      208,   327,  3312,   246,  3314,   328,  3108,   453,    34,   374,
12459      344,   374,  3298,   142,   339,   451,   451,   376,   376,   376,
12460      453,   415,    70,   417,   418,  3921,   395,   376,   142,  2858,
12461     2859,  2860,   399,   142,   142,   142,   255,   399,   376,   250,
12462      159,  3625,   368,   414,   238,   453,  4870,  4871,   238,   418,
12463       11,   420,   457,  2882,  4045,  4046,   374,   451,   150,   376,
12464      454,   455,   456,   453,   167,   453,  2895,     8,  2897,   395,
12465       11,  2900,  3168,   159,   378,  3892,   457,   454,   458,   174,
12466      174,  2910,   198,   453,   453,  3395,   342,  4465,   206,   457,
12467      261,  3193,   418,   399,   420,    35,   457,    52,  4476,    40,
12468      268,   454,   376,   437,   327,    46,   440,   441,   442,   376,
12469      444,   445,   446,   447,   448,   449,   453,   327,   399,   206,
12470      305,   206,   376,  3296,   251,   251,  3272,   453,   176,    70,
12471      232,   376,   453,   181,   376,   154,   411,   329,  3428,   208,
12472      381,  3314,   144,   260,    42,  2974,   251,   332,  4139,   348,
12473      246,  4142,  4143,   144,   202,   203,   323,   216,   216,  3480,
12474      216,   259,   376,  3304,  3305,  3306,  3307,  4158,  3296,   217,
12475      368,   260,   260,  4551,   457,   309,  5000,  5001,   175,   376,
12476      365,   336,   202,  3012,  3312,   376,  3314,   376,   298,    35,
12477     3019,   202,  3021,   202,   135,  3885,    54,   399,   202,   399,
12478      208,   249,   202,   184,  3033,   295,  3035,   259,  4439,   442,
12479      442,   142,   154,   156,   262,   411,   154,   265,   256,   453,
12480      405,   142,   453,   336,   409,   142,    35,    25,   246,    87,
12481      418,  3815,   246,   418,   208,   176,   260,   260,   172,   172,
12482      181,   154,    35,  3533,   451,   454,  3536,   330,   454,   436,
12483      436,   454,   236,   142,   439,   260,   208,   260,   336,   454,
12484     3089,   454,   260,   154,   246,   181,   181,   181,   453,   422,
12485       23,   165,   376,   457,    72,   457,   217,   457,   453,  4657,
12486      159,   235,   418,   260,   457,    52,   365,   145,   381,   255,
12487      411,   454,   454,   159,  4444,   454,   344,   208,   454,   271,
12488      454,  4075,   454,   454,   453,   103,   454,   457,  3951,   279,
12489      454,   454,   454,   436,   159,   453,   453,  3146,   453,   376,
12490      178,   262,   453,   270,   415,   453,   438,   125,   405,   454,
12491     4714,   261,  3161,  4483,  3480,   261,   397,   260,   136,   226,
12492      415,   442,    52,   263,   184,   142,  3636,   453,   260,   376,
12493     3934,   260,   422,   453,  3183,   213,   192,  3186,   156,  4239,
12494      376,   376,   246,   161,   376,  4556,  4246,  3513,  4258,   251,
12495     3516,  4014,  3518,   142,  4532,   331,  3512,   142,  3480,   264,
12496      142,  3965,   331,  4354,   216,   331,  4533,   144,   246,   437,
12497      184,   376,   440,   441,   442,   218,   444,   445,   446,   447,
12498      448,   449,  3986,   344,   399,   280,   280,   396,   376,   457,
12499     3512,   209,   376,   376,   376,   228,  3562,   275,   228,  4547,
12500      228,  4549,  3568,  3569,   327,  3571,   376,   327,   376,   260,
12501      327,  3577,   230,   339,  3263,   327,   142,   376,    41,   376,
12502     3730,  4432,   246,   202,   376,   169,   202,   376,   376,   376,
12503      202,   376,   202,     3,   376,   313,   457,   315,   454,   317,
12504     4044,   454,   386,    42,   311,   102,   324,   454,   454,   457,
12505      453,   259,    35,   331,   260,   142,   142,   376,  3580,  3581,
12506      154,   339,   169,   452,    62,   452,   142,   263,   327,   454,
12507      327,   399,   399,   351,   327,   293,   437,   457,  4648,   140,
12508      140,   359,   336,   444,   445,   446,   447,   448,   449,   202,
12509     4660,   202,   202,   133,   159,  4665,  4507,  4667,    11,   154,
12510      271,   457,   320,   159,  3670,  4716,   266,   410,   159,   327,
12511       22,   261,   451,  4917,   415,   333,    28,  3666,  3666,  4724,
12512     4725,  3851,   167,   316,   454,  3855,   439,    79,   453,  4133,
12513     4375,     0,   454,   454,   154,   413,   386,    35,   454,   454,
12514      208,  4552,   376,   453,  3885,   192,    52,   365,   368,   457,
12515      368,   457,   399,   399,   454,   453,    68,   454,   454,  4459,
12516     4270,   452,   142,   453,   386,   331,   376,   376,   386,   376,
12517      327,   376,   376,   327,   454,  4179,  4980,   454,  3744,  3428,
12518      454,  3747,   309,  3749,   442,   453,   418,    52,   368,   154,
12519      144,    70,   142,   411,   102,  4999,  4556,   202,   386,   454,
12520      202,   202,   202,   206,  4314,  3727,   418,   422,   120,   453,
12521      294,   453,   187,   453,   154,   127,   457,   454,   130,    88,
12522       35,   457,    75,   368,   386,  3474,   457,   453,  4833,   376,
12523     3479,   454,  3481,   336,    22,   164,    24,   453,   457,   102,
12524       28,  4304,   159,   155,   202,    33,    34,    35,   159,    37,
12525      452,   202,    40,    41,   202,    43,   202,    45,    52,   454,
12526     4001,   453,   303,   454,   416,   416,   205,   457,   137,   205,
12527      454,  3981,   269,   454,   186,   271,   454,   367,   453,   453,
12528      149,   267,    52,  3993,  3533,   154,   453,  3536,   170,   454,
12529      159,   454,  4903,   454,   256,   164,   442,   386,   167,   376,
12530      159,   170,   418,  3851,    70,    20,   186,  3855,   251,   251,
12531       25,   442,    52,   376,  3880,   368,  3882,   457,   457,  4897,
12532       64,   142,   376,   161,   376,   202,   159,   399,   453,   198,
12533      181,   453,   244,   399,   246,    35,   246,   128,   418,   414,
12534      418,   336,  3913,    58,   256,  3894,  3894,  4077,    35,   218,
12535      159,   260,   264,   453,   154,   189,    71,   200,   263,   303,
12536      159,   453,   274,   352,   278,   453,   404,   417,   205,   454,
12537       85,   454,  3621,  3622,   453,    81,   123,   260,   304,   453,
12538      154,   454,   453,   376,   454,  3634,   376,  3636,   116,   258,
12539       35,   260,   184,   251,   453,   453,   142,   266,   229,   294,
12540      312,   313,   190,   191,   192,   193,  3962,   195,   454,   197,
12541      125,   199,   141,   201,   453,    35,   204,  4556,   453,   453,
12542      453,   136,   210,   454,   264,   213,   386,   339,   324,   217,
12543      324,   219,   350,   454,   350,  4001,  4440,    52,    52,    35,
12544     3962,   156,   453,   453,   457,   454,   161,   316,   454,  4159,
12545      399,   244,   260,   368,     5,   148,    64,   263,   294,   453,
12546       64,   453,  3984,  3985,   368,   453,   368,  3989,  3990,   454,
12547      123,   418,   403,   418,  4478,   303,  4042,  4043,  4889,  4001,
12548      404,  3730,   453,   457,   453,  4051,    35,  4053,  4054,  4219,
12549      402,  4057,   339,  4687,  4224,   159,   365,   368,   301,  4229,
12550      154,   251,  4232,  4233,   128,    22,   186,   260,   415,   260,
12551      336,    28,   453,    35,    35,   230,   453,   161,   263,   161,
12552      263,   454,   391,   453,    52,   453,  4256,  4531,   323,  4270,
12553      114,  4535,  4536,   454,   454,  4101,    53,   397,     5,  4269,
12554      323,   310,    21,    32,   141,   294,   415,   262,   417,   418,
12555      453,    68,   376,  4263,   453,  4265,   457,  4106,  4106,   159,
12556      457,   350,  4303,   350,  4130,   453,   418,   161,   418,   161,
12557      764,  1485,  2314,  4314,  4684,   867,  1261,  4716,   293,   827,
12558     2169,  2659,   451,  4313,   101,   454,   455,   456,  3479,  2241,
12559      866,  2834,  3004,  3577,  4160,  4569,  4714,  4903,  4164,  4165,
12560     4393,  4167,  3619,   120,  4068,  4397,  4374,  2447,  4811,  2754,
12561      127,  4269,   327,   130,  4894,  4742,  4741,  4842,   333,  2758,
12562     3667,   336,  3652,  3611,  4628,  3474,  4356,  2304,  2304,  2859,
12563     3635,  4093,  1556,  2298,  4905,  3058,  4999,  4369,   155,  4980,
12564     3012,  3008,  4853,  4316,  4702,  1545,  4821,  4319,    27,  3730,
12565      365,     8,  1107,  4505,    11,  1118,  2019,   372,    15,    16,
12566       17,  3674,  2729,  4627,   379,   631,   183,   602,  1736,   186,
12567     1737,   386,  1736,  2958,  4869,    32,  4224,  1960,  4983,  4000,
12568     4410,  4229,  1961,    40,  4232,  1343,  3895,  1682,  4803,    46,
12569     1288,  3372,  2003,   742,  1238,  2674,   411,  2689,  3337,  1977,
12570     4796,  4669,  3951,  3881,  1307,  1306,  2703,  3956,  3314,  3842,
12571     4258,  3857,  2002,    70,   231,  1309,  4473,   234,  1314,  3312,
12572     4651,  4251,  4650,  3373,  3117,  4442,  3265,   244,  4248,   246,
12573     1614,  4799,  3981,  4800,  4786,  2677,  2610,  4303,  2520,   256,
12574     2608,  2662,  4472,    -1,  3993,    -1,    -1,   264,  1830,    -1,
12575     1833,  4000,    -1,    -1,    -1,    -1,   273,   274,    -1,    -1,
12576       -1,   549,    -1,    -1,  4903,  4014,    -1,   555,    -1,   557,
12577       -1,    -1,   560,    -1,   562,    -1,   564,    -1,    -1,  4345,
12578       -1,  4303,    -1,   571,    -1,    -1,    -1,   575,    -1,    -1,
12579       -1,    -1,   309,    -1,   582,   312,   313,   314,    -1,    -1,
12580       -1,    -1,    -1,     8,    -1,    -1,    11,    -1,     0,    -1,
12581       15,    16,    17,    -1,    -1,    -1,    -1,    -1,   606,   176,
12582       -1,    -1,   339,   611,   181,    -1,    -1,    32,   616,    -1,
12583     4379,  4379,   620,    -1,    -1,    40,   353,    -1,    -1,    -1,
12584       -1,    46,    -1,    -1,    -1,   202,   203,    -1,    -1,   637,
12585       -1,    -1,    -1,    -1,  4584,    -1,    -1,    -1,  4407,  4407,
12586      217,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,
12587       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12588       -1,    -1,    -1,    -1,    -1,   402,    -1,    -1,    -1,    -1,
12589     4483,    -1,   249,    -1,    -1,    -1,    88,    -1,   686,    -1,
12590       -1,    -1,    -1,    -1,    -1,   262,    -1,    -1,   265,  4502,
12591     4159,   699,    -1,   701,    -1,    -1,    -1,    -1,    -1,    -1,
12592       -1,  4651,    -1,    -1,  4472,    -1,    -1,    -1,    -1,    -1,
12593       -1,    -1,    -1,   721,   722,  4483,   724,   725,    -1,    -1,
12594       -1,   729,    -1,  4684,    -1,   137,  4676,    -1,    -1,    -1,
12595       -1,    -1,    -1,    -1,  4502,   743,    -1,   149,    -1,   747,
12596       -1,    -1,   154,    -1,    -1,   753,    -1,   159,    -1,    -1,
12597       -1,   176,   164,    -1,    -1,   167,   181,   765,   170,    -1,
12598       -1,    -1,    -1,    -1,    -1,    -1,    -1,   344,    -1,   777,
12599     4556,    -1,    -1,    -1,  4560,    -1,    -1,   202,   203,    -1,
12600       -1,    -1,    -1,    -1,  4570,    -1,   198,    -1,    -1,    -1,
12601       -1,    -1,   217,    -1,  4263,    -1,  4265,    -1,    -1,    -1,
12602       -1,    -1,    -1,    -1,    -1,    -1,   218,  4757,    -1,    -1,
12603       -1,    -1,   820,    -1,  4556,    -1,    -1,    -1,    -1,    -1,
12604       -1,    -1,    -1,    -1,   249,    -1,    -1,    -1,   836,    -1,
12605       -1,    -1,    -1,   841,   842,  4304,    -1,   262,  4607,  4607,
12606      265,    -1,    -1,    -1,    -1,    -1,   258,    -1,   260,    -1,
12607       -1,    -1,    -1,    -1,   266,    -1,    -1,    -1,   866,   867,
12608      437,    -1,    -1,   440,   441,   442,  4816,   444,   445,   446,
12609      447,   448,   449,    -1,  4804,    -1,    -1,    -1,    -1,    -1,
12610      457,  4350,    -1,    -1,    -1,   893,     8,    -1,    -1,    11,
12611       -1,    -1,    -1,    15,    16,    17,   904,    -1,    -1,    -1,
12612      908,    -1,    -1,    -1,   316,    -1,    -1,    -1,    -1,    -1,
12613       32,    -1,    -1,    -1,  4864,   923,    -1,    -1,    40,   344,
12614     4870,  4871,    -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,
12615     4716,    -1,    -1,    -1,  4720,   943,  4722,    -1,    -1,    -1,
12616     4726,  4727,   950,   951,    -1,    -1,    -1,    -1,    70,    -1,
12617       -1,    -1,    -1,   365,    -1,    -1,    -1,    -1,    -1,   967,
12618      968,   969,    -1,   971,    -1,   973,    -1,    -1,    -1,     8,
12619       -1,    -1,    11,    -1,    -1,    -1,    15,    16,    17,   391,
12620       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12621       -1,    -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,
12622       -1,    40,    -1,   415,    -1,   417,   418,    46,    -1,    -1,
12623       -1,    -1,   437,    -1,    -1,   440,   441,   442,    -1,   444,
12624      445,   446,   447,   448,   449,    -1,    -1,    -1,    -1,   454,
12625       -1,    70,  1040,    -1,  1042,  1043,    -1,    -1,  4988,   451,
12626       -1,    -1,   454,   455,   456,    -1,    -1,    -1,    -1,    -1,
12627     5000,  5001,    -1,    -1,   176,    -1,  4525,    -1,    -1,   181,
12628       -1,    -1,  1070,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12629       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12630      202,   203,    -1,    -1,    -1,  4854,  4854,  4556,    -1,    -1,
12631       -1,    -1,  1100,  1101,    -1,   217,    -1,  1105,    -1,  1107,
12632     4869,  4869,  4869,  4869,  4869,  4869,    -1,    -1,    -1,    -1,
12633     4923,    -1,    -1,    -1,    -1,    -1,    -1,  4903,    -1,    -1,
12634     1128,    -1,    -1,  1131,    -1,    -1,  1134,   249,    -1,    -1,
12635       -1,  4917,    -1,    -1,    -1,    -1,    -1,   176,    -1,  1147,
12636      262,    -1,   181,   265,    -1,    -1,    -1,    -1,    -1,    -1,
12637       -1,    -1,    -1,    -1,  4923,  4923,  4923,  4923,  4923,  4923,
12638       -1,    -1,    -1,   202,   203,    -1,    -1,    -1,  1176,    -1,
12639       -1,    -1,    -1,    -1,     8,  4917,    -1,    11,   217,    -1,
12640       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12641       -1,    -1,    -1,    -1,  4980,    -1,  1204,  1205,  1206,    -1,
12642     1208,    -1,    35,    -1,    -1,    -1,    40,    -1,    -1,    -1,
12643      249,    -1,    46,  4999,  4983,  4983,  4983,  4983,  4983,  4983,
12644     1228,    54,   344,   262,    -1,    -1,   265,    -1,    -1,    -1,
12645       54,    -1,    -1,    -1,    -1,    -1,    70,    -1,  4980,    -1,
12646       -1,    -1,    -1,    -1,    -1,  4714,    -1,  4716,    -1,    -1,
12647       -1,    -1,    -1,    -1,    87,    -1,    -1,  4999,  1266,    -1,
12648       -1,  1269,    -1,    87,    -1,    -1,    -1,    -1,    -1,    -1,
12649       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12650       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12651       -1,  1299,    -1,   117,    -1,  1303,  1304,    -1,    -1,    -1,
12652       -1,   135,    -1,    -1,    -1,   344,  1314,  1315,  1316,    -1,
12653       -1,    -1,   145,    -1,    -1,   437,    -1,    -1,   440,   441,
12654      442,   145,   444,   445,   446,   447,   448,   449,  1336,    -1,
12655       -1,    -1,   454,    -1,    -1,  4804,    -1,    -1,    -1,    -1,
12656       -1,    -1,   176,    -1,    -1,   178,    -1,   181,    -1,    -1,
12657       -1,    -1,    -1,    -1,   178,    -1,    -1,    -1,    -1,    -1,
12658       -1,    -1,    -1,  1371,    -1,    -1,    -1,    -1,  1376,    -1,
12659       -1,    -1,    -1,    -1,    -1,   208,    -1,    -1,    -1,    -1,
12660      213,  1389,  1390,   217,    -1,    -1,    -1,    -1,    -1,   213,
12661     1398,    -1,    -1,  1401,    -1,    -1,    -1,    -1,   437,    -1,
12662       -1,   440,   441,   442,    -1,   444,   445,   446,   447,   448,
12663      449,    -1,    -1,   246,    -1,   454,  1424,    -1,  1426,    -1,
12664       -1,    -1,   246,    -1,    -1,    -1,  1434,    -1,   262,  1437,
12665       -1,    -1,    -1,    -1,  4903,    -1,    -1,    -1,    -1,    -1,
12666       -1,    -1,   275,    -1,    -1,    -1,    -1,    -1,  4917,    -1,
12667      274,   275,    -1,  1461,    -1,    -1,    -1,    -1,    -1,    -1,
12668       -1,  1469,  1470,  1471,  1472,  1473,    -1,    -1,    -1,    -1,
12669       -1,     8,    -1,    -1,    11,    -1,    -1,    -1,    -1,  1487,
12670      313,    -1,    -1,    -1,   317,   309,    -1,    -1,    -1,   313,
12671     1498,   324,  1500,   317,    -1,    -1,    -1,    -1,   331,    -1,
12672      324,    -1,    -1,    40,  1512,  1513,   339,   331,    -1,    46,
12673      344,  4980,    -1,  1521,    -1,   339,    -1,    -1,   351,    -1,
12674       -1,    -1,    -1,  1531,    -1,    -1,   359,   351,    -1,    -1,
12675     4999,    -1,    -1,    70,     8,   359,    -1,    11,    -1,    -1,
12676       -1,    -1,  1550,    -1,    -1,    -1,   379,    -1,    -1,    -1,
12677       -1,  1559,  1560,  1561,  1562,    -1,    -1,    -1,    -1,    -1,
12678       -1,    -1,    -1,  1571,    -1,    -1,    40,    -1,    -1,    -1,
12679     1578,    -1,    46,  1581,    -1,    -1,    -1,    -1,    -1,    -1,
12680      413,    -1,    -1,  1591,   417,     8,    -1,    -1,    11,   413,
12681     1598,    -1,    15,    16,    17,  1603,    70,    -1,   135,    -1,
12682       -1,    -1,    -1,   437,    -1,    -1,    -1,    -1,    -1,    32,
12683      444,   445,   446,   447,   448,   449,    -1,    40,    -1,    -1,
12684       -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,     8,    -1,
12685       -1,    11,  1640,    -1,    -1,    15,    16,    17,    -1,   176,
12686       -1,    -1,  1650,    -1,   181,    -1,  1654,    70,    -1,  1657,
12687       -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,  1667,
12688       40,   135,     8,    -1,    -1,    11,    46,  1675,  1676,    15,
12689       16,    17,  1680,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12690      217,    -1,    -1,    -1,    -1,    -1,    32,    -1,    -1,    -1,
12691       70,    -1,    -1,    -1,    40,    -1,    -1,  1705,    -1,    -1,
12692       46,    -1,   176,    -1,  1712,    -1,  1714,   181,    -1,    -1,
12693     1718,  1719,    -1,  1721,    -1,    -1,    -1,    -1,    -1,    -1,
12694     1728,    -1,    -1,    -1,    70,   262,    -1,  1735,    -1,    -1,
12695       -1,    -1,  1740,  1741,    -1,    -1,  1744,    -1,    -1,    -1,
12696     1748,    -1,  1750,   217,    -1,    -1,    -1,  1755,  1756,    -1,
12697       -1,    -1,    -1,   176,  1762,  1763,  1764,    -1,   181,    -1,
12698     1768,  1769,  1770,  1771,  1772,  1773,  1774,  1775,    -1,  1777,
12699       -1,  1779,  1780,    -1,    -1,  1783,    -1,    -1,    -1,   202,
12700      203,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   262,    -1,
12701     1798,  1799,  1800,  1801,   217,    -1,   176,  1805,  1806,    -1,
12702       -1,   181,  1810,    -1,    -1,  1813,    -1,   344,  1816,  1817,
12703     1818,  1819,  1820,  1821,  1822,  1823,  1824,    -1,  1826,    -1,
12704       -1,    -1,   202,   203,  1832,  1833,   249,  1835,    -1,    -1,
12705      176,    -1,    -1,    -1,  1842,   181,    -1,   217,    -1,   262,
12706       -1,    -1,   265,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12707       -1,    -1,    -1,    -1,    -1,    -1,   202,   203,    -1,    -1,
12708       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   249,
12709      344,   217,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12710       -1,    -1,   262,    -1,    -1,   265,    -1,    -1,    -1,    -1,
12711       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12712      437,    -1,    -1,   249,    -1,    -1,    -1,   444,   445,   446,
12713      447,   448,   449,    -1,    -1,    -1,   262,    -1,    -1,   265,
12714       -1,   344,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12715       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12716       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,
12717       -1,  1959,    11,  1961,    -1,  1963,    -1,    -1,    -1,    -1,
12718       -1,    -1,    -1,   437,   344,    -1,    -1,    -1,    -1,  1977,
12719      444,   445,   446,   447,   448,   449,    -1,    -1,  1986,  1987,
12720       -1,    40,    -1,    -1,    -1,    -1,    -1,    46,    -1,    -1,
12721       -1,    -1,  2000,    -1,    -1,    -1,    -1,    -1,   344,  2007,
12722       -1,  2009,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12723       -1,    70,    -1,    -1,   437,    -1,    -1,   440,   441,   442,
12724       -1,   444,   445,   446,   447,   448,   449,    -1,    -1,    -1,
12725     2038,   454,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2047,
12726       -1,  2049,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12727       -1,    -1,    -1,    -1,    -1,    -1,    -1,   437,  2066,    -1,
12728      440,   441,   442,    -1,   444,   445,   446,   447,   448,   449,
12729     2078,    -1,  2080,  2081,   454,    -1,   135,  2085,    -1,  2087,
12730       -1,  2089,    -1,  2091,    -1,    -1,     8,  2095,    -1,    11,
12731     2098,   437,    -1,    -1,   440,   441,   442,    -1,   444,   445,
12732      446,   447,   448,   449,    -1,    -1,    -1,    -1,   454,    -1,
12733       -1,  2119,    -1,    -1,    -1,    -1,    -1,   176,    40,    -1,
12734       -1,  2129,   181,    -1,    46,    -1,    -1,    -1,    22,  2137,
12735       -1,    -1,    -1,    -1,    28,    -1,  2144,    -1,    -1,    -1,
12736       -1,    -1,    -1,    -1,    -1,  2153,    -1,    -1,    70,    -1,
12737       -1,    -1,    -1,    -1,     8,    -1,    -1,    11,   217,    -1,
12738       -1,    15,    16,    17,    -1,    -1,  2174,    -1,    -1,    -1,
12739       -1,  2179,  2180,    -1,    68,    -1,    -1,    -1,    32,    -1,
12740     2188,  2189,    -1,    -1,    -1,    -1,    40,    -1,    -1,    -1,
12741       -1,    -1,    46,    -1,    -1,    -1,    -1,    -1,  2206,    -1,
12742       -1,    -1,    -1,   262,    -1,    -1,    -1,    -1,    -1,    -1,
12743       -1,     8,    -1,   135,    11,    -1,    70,    -1,    15,    16,
12744       17,    -1,    -1,   117,    -1,  2233,   120,  2235,  2236,    -1,
12745       -1,    -1,    -1,   127,    -1,    32,   130,    -1,    -1,    -1,
12746       -1,    -1,    -1,    40,   191,   192,    -1,    -1,   195,    46,
12747      197,    -1,    -1,    -1,   176,    -1,  2264,    -1,    -1,   181,
12748       -1,   155,    -1,    -1,  2272,    -1,  2274,    -1,    -1,    -1,
12749      217,    -1,  2280,    70,    -1,    -1,    -1,    -1,    -1,    -1,
12750        8,    -1,    -1,    11,  2292,   344,    -1,    15,    16,    17,
12751       -1,    -1,   186,    -1,    -1,   217,    -1,    -1,  2306,    -1,
12752       -1,  2309,    -1,  2311,    32,    -1,  2314,    -1,    -1,  2317,
12753       -1,    -1,    40,    -1,    -1,    -1,    -1,    -1,    46,    -1,
12754       -1,    -1,   176,    -1,    -1,    -1,    -1,   181,    -1,    -1,
12755       -1,    -1,    -1,    -1,    -1,  2343,    -1,    -1,    -1,    -1,
12756      262,    -1,    70,    -1,  2352,  2353,    -1,    -1,   202,   203,
12757      244,    -1,   246,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12758       -1,    -1,   256,   217,    -1,    -1,    -1,    -1,  2376,    -1,
12759      264,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   437,   176,
12760      274,    -1,    -1,  2391,   181,   444,   445,   446,   447,   448,
12761      449,    -1,    -1,    -1,    -1,   249,    -1,    -1,  2406,    -1,
12762     2408,  2409,  2410,  2411,    -1,   202,   203,    -1,   262,    -1,
12763       -1,   265,    -1,    -1,    -1,   309,    -1,    -1,   312,   313,
12764      217,    -1,   344,    -1,    -1,    -1,  2434,    -1,    -1,    -1,
12765       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    22,  2447,
12766       -1,    -1,    -1,    -1,    28,   339,    -1,    -1,   176,    -1,
12767       -1,    -1,   249,   181,    -1,    -1,    -1,    -1,    -1,    -1,
12768       -1,    -1,    -1,    -1,    -1,   262,    -1,    -1,   265,    -1,
12769       -1,    -1,    -1,    -1,   202,   203,    -1,  2485,    -1,    -1,
12770       -1,    -1,    -1,    -1,    68,    -1,    -1,  2495,    -1,   217,
12771      344,    -1,    -1,  2501,    -1,    -1,    -1,    -1,    -1,    -1,
12772       -1,    -1,    -1,    -1,  2512,    -1,    -1,    -1,   402,    -1,
12773       -1,  2519,    -1,    -1,    -1,   437,  2524,    -1,    -1,    -1,
12774       -1,   249,   444,   445,   446,   447,   448,   449,    -1,    -1,
12775       -1,    -1,    -1,   117,   262,    -1,   120,   265,    -1,  2547,
12776     2548,  2549,    -1,   127,  2552,    -1,   130,   344,    -1,    -1,
12777       -1,    -1,  2560,  2561,  2562,  2563,    -1,    -1,    -1,    -1,
12778       -1,    -1,    -1,    -1,    -1,  2573,    -1,    -1,  2576,    -1,
12779     2578,   155,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12780       -1,  2589,  2590,   437,    -1,  2593,   440,   441,   442,    -1,
12781      444,   445,   446,   447,   448,   449,    -1,  2605,    -1,  2607,
12782      454,  2609,   186,  2611,    -1,    -1,    -1,    -1,    -1,    -1,
12783       -1,    -1,    -1,   560,    -1,    -1,   344,   564,    -1,    -1,
12784       -1,    -1,    -1,  2631,    -1,    -1,    -1,  2635,    -1,    -1,
12785       -1,    -1,    -1,    -1,  2642,   582,  2644,  2645,  2646,    -1,
12786      437,    -1,    -1,   440,   441,   442,    -1,   444,   445,   446,
12787      447,   448,   449,    -1,  2662,    -1,    -1,   454,    -1,    -1,
12788      244,    -1,   246,    -1,    -1,    -1,  2674,    -1,    -1,    -1,
12789        8,    -1,   256,    11,    -1,    -1,    -1,    15,    16,    17,
12790      264,  2689,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12791      274,    -1,    -1,    -1,    32,  2703,    -1,    -1,  2706,    -1,
12792       -1,  2709,    40,  2711,    -1,    -1,    -1,    -1,    46,   437,
12793       -1,    -1,   440,   441,   442,    -1,   444,   445,   446,   447,
12794      448,   449,    -1,    -1,    -1,   309,   454,    -1,   312,   313,
12795       -1,    -1,    70,    -1,     8,    -1,    -1,    11,    -1,    -1,
12796       -1,    15,    16,    17,    22,  2753,    -1,  2755,    -1,    -1,
12797       28,    -1,  2760,     8,    -1,   339,    11,    -1,    32,    -1,
12798       15,    16,    17,    -1,    -1,    -1,    40,    -1,    -1,    -1,
12799       -1,    -1,    46,    -1,    -1,    -1,    -1,    32,    -1,  2787,
12800       -1,  2789,  2790,  2791,    -1,    40,    -1,    -1,    -1,    -1,
12801       68,    46,    -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,
12802       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12803       -1,    -1,    -1,    -1,    -1,    70,    -1,    -1,   402,    -1,
12804       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12805       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   176,    -1,
12806       -1,    -1,   120,   181,    -1,    -1,    -1,    -1,    -1,   127,
12807       -1,    -1,   130,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12808       -1,    -1,    -1,    -1,   202,   203,    -1,    -1,    -1,    -1,
12809       -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,    -1,   217,
12810       -1,    13,    -1,    -1,    -1,    -1,    -1,    19,    -1,    -1,
12811     2898,    -1,    -1,    -1,   841,   842,    -1,    29,    -1,    -1,
12812       -1,    -1,   176,    -1,    -1,    -1,    -1,   181,   186,    -1,
12813       -1,   249,    -1,    -1,    -1,    -1,    48,    49,    -1,    -1,
12814       -1,   176,    -1,    -1,   262,    -1,   181,   265,   202,   203,
12815       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12816       -1,    -1,    -1,   217,    -1,    -1,    -1,   202,   203,    -1,
12817       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12818       -1,    -1,   217,    -1,    -1,    -1,   244,    -1,   246,    -1,
12819       -1,    -1,    -1,  2981,    -1,   249,   923,    -1,   256,    -1,
12820     2988,  2989,    -1,    -1,    -1,    -1,   264,    -1,   262,    -1,
12821       -1,   265,    -1,    -1,   249,    -1,   274,    -1,    -1,    -1,
12822       -1,    -1,    -1,   950,   951,    -1,   344,   262,    -1,    -1,
12823      265,    -1,    -1,    -1,    -1,    -1,    -1,  3025,  3026,    -1,
12824       -1,    -1,    -1,    -1,   971,    -1,    -1,    -1,    -1,    -1,
12825       -1,   309,    -1,  3041,   312,   313,    -1,    -1,    -1,    -1,
12826       -1,    35,    -1,    -1,    -1,    -1,    -1,    -1,  3056,  3057,
12827       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3065,  3066,  3067,
12828       54,   339,    -1,    -1,    -1,   197,    -1,    -1,    -1,    -1,
12829      344,    -1,    -1,   205,    -1,  3083,   208,   209,    -1,   211,
12830       -1,    -1,   214,    -1,   216,    -1,    -1,    -1,    -1,   344,
12831       -1,    -1,    -1,    87,    -1,  1042,  1043,    -1,    -1,   437,
12832       -1,    -1,   440,   441,   442,    -1,   444,   445,   446,   447,
12833      448,   449,    -1,    -1,    -1,    -1,   454,    -1,    -1,    -1,
12834       -1,    -1,    -1,    -1,   402,    -1,    -1,    -1,  3136,    -1,
12835     3138,    -1,    -1,    -1,  3142,    -1,    -1,    -1,    -1,    -1,
12836       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12837     3158,   145,    -1,    -1,    -1,    -1,    22,    -1,    -1,    -1,
12838     3168,    -1,    28,   437,    -1,    -1,   440,   441,   442,    -1,
12839      444,   445,   446,   447,   448,   449,  3184,    -1,    -1,    -1,
12840      454,    -1,   437,    -1,   178,   440,   441,   442,  3196,   444,
12841      445,   446,   447,   448,   449,  3203,    -1,    -1,    -1,   454,
12842       -1,    -1,    68,    -1,  3212,    -1,    -1,    -1,    -1,    -1,
12843     3218,    -1,  3220,    -1,   208,  3223,    -1,    -1,    -1,   213,
12844     3228,  3229,  3230,  3231,    -1,    -1,  3234,  3235,  3236,  3237,
12845     3238,  3239,  3240,  3241,  3242,  3243,    -1,    -1,    -1,  3247,
12846     3248,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3257,
12847       -1,    -1,   246,  3261,   120,    -1,    -1,  3265,    -1,    -1,
12848       -1,   127,    -1,    -1,   130,  3273,    -1,    -1,  3276,    -1,
12849     3278,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3287,
12850       -1,   275,  3290,  3291,    -1,    -1,    -1,  3295,  3296,   155,
12851       -1,    -1,  3300,    -1,  3302,    -1,    -1,    -1,    -1,    -1,
12852       -1,  3309,  3310,  3311,  3312,    -1,  3314,  3315,    -1,    -1,
12853       -1,  3319,  3320,    -1,    -1,    -1,    -1,    -1,  3326,   313,
12854      186,    -1,    -1,   317,  3332,  3333,  3334,    -1,    -1,    -1,
12855      324,    -1,    -1,    -1,    -1,     8,    -1,   331,    11,    -1,
12856       -1,    -1,    15,    16,    17,   339,    -1,    -1,    -1,    -1,
12857       -1,    -1,    -1,  3361,    -1,    -1,    -1,   351,    -1,    32,
12858       -1,    -1,    -1,    -1,  3372,   359,  3374,    40,    -1,    -1,
12859       -1,    -1,    -1,    46,    -1,    -1,    -1,    -1,   244,    -1,
12860      246,    -1,    -1,    -1,    -1,   379,    -1,  3395,  3396,  3397,
12861      256,  3399,    -1,    -1,    -1,    -1,    -1,    70,   264,    -1,
12862       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   274,    -1,
12863     3418,  3419,  3420,  3421,    -1,    -1,    -1,    -1,    -1,   413,
12864       -1,    -1,    -1,   417,   418,    -1,   558,    -1,    -1,    -1,
12865       -1,    -1,    -1,    -1,   566,    -1,    -1,    -1,    -1,  3447,
12866       -1,   573,    -1,   309,   576,   577,   312,   313,    -1,   581,
12867       -1,    -1,    -1,  3461,  1401,    -1,    -1,    -1,    -1,    -1,
12868      592,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12869       -1,    -1,    -1,   339,    -1,   607,    -1,    -1,    -1,    -1,
12870        8,    -1,    -1,    11,    -1,    -1,    -1,    15,    16,    17,
12871      622,    -1,   624,    -1,    -1,   627,    -1,   629,    -1,    -1,
12872      632,    -1,    -1,   176,    32,    -1,    -1,    -1,   181,    -1,
12873       -1,    -1,    40,    -1,    -1,    -1,    -1,    -1,    46,    -1,
12874       -1,    -1,  1469,  1470,  1471,  1472,    -1,    -1,    -1,   202,
12875      203,    -1,    -1,    -1,    -1,    -1,   402,    -1,    -1,    -1,
12876       -1,    -1,    70,  3551,   217,    -1,    -1,    -1,    -1,    -1,
12877       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12878       -1,    -1,    -1,    -1,    -1,  1512,  1513,    -1,   700,    -1,
12879       -1,    -1,    -1,    -1,  1521,    -1,   249,    -1,    -1,    -1,
12880       -1,    -1,    -1,    -1,  1531,    -1,  3594,    -1,  3596,   262,
12881     3598,    -1,   265,    -1,    -1,    -1,  3604,    -1,    -1,    -1,
12882       -1,    -1,  3610,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12883       -1,  3619,  1559,  1560,  1561,  1562,    -1,    -1,    -1,    -1,
12884       -1,    -1,    -1,   755,    -1,    -1,    -1,    -1,    -1,    -1,
12885       -1,  3639,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12886       -1,  3649,    -1,    -1,    -1,    -1,    -1,    -1,   176,  3657,
12887       -1,    -1,    -1,   181,    -1,    -1,    -1,    -1,    -1,  3667,
12888       -1,    -1,    -1,  3671,    -1,    -1,    -1,  3675,  3676,    -1,
12889       -1,   344,    -1,    -1,   202,   203,    -1,    -1,    -1,    -1,
12890       -1,    -1,    -1,   815,     8,    -1,    -1,    11,    -1,   217,
12891       -1,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,    -1,
12892       -1,  3709,    -1,  3711,    -1,    -1,    -1,  1654,    32,    -1,
12893     1657,    -1,    -1,  3721,    -1,    -1,    40,    -1,    -1,    -1,
12894     1667,   249,    46,    -1,    -1,    -1,    -1,    -1,    -1,  1676,
12895       -1,    -1,    -1,    -1,   262,    -1,    -1,   265,    -1,    -1,
12896       -1,    -1,    -1,  3751,    -1,    -1,    70,    -1,    -1,   881,
12897       -1,    -1,    -1,    -1,  3762,    -1,    -1,    -1,    -1,    -1,
12898       -1,    -1,    -1,    -1,   437,   897,    -1,   440,   441,   442,
12899       -1,   444,   445,   446,   447,   448,   449,   909,    -1,   911,
12900       -1,   454,    -1,    -1,  3792,    -1,    -1,   919,    -1,    -1,
12901       -1,    -1,    -1,    -1,  3802,  3803,    -1,    -1,    -1,   931,
12902       -1,  3809,  3810,    -1,   936,    -1,  3814,   939,    -1,    -1,
12903       -1,  3819,    -1,    -1,  3822,  3823,   344,    -1,    -1,  3827,
12904     3828,    -1,    -1,    -1,    -1,  3833,  3834,  3835,  3836,  3837,
12905       -1,    -1,    -1,  3841,  3842,    -1,  3844,    -1,    -1,  3847,
12906       -1,    -1,   974,  3851,    -1,    -1,    -1,  3855,    -1,    -1,
12907       -1,    -1,   176,  3861,    -1,    -1,    -1,   181,  1805,  3867,
12908       -1,    -1,    -1,    -1,  3872,    -1,    -1,    -1,    -1,    -1,
12909     3878,    -1,    -1,    -1,    -1,    -1,    -1,  3885,   202,   203,
12910       -1,    -1,    -1,    -1,  3892,    -1,    -1,  3895,    -1,    -1,
12911       -1,    -1,  3900,   217,    -1,    -1,    -1,    -1,    -1,    -1,
12912       -1,    -1,    -1,    -1,    -1,  3913,    -1,    -1,  3916,   437,
12913       -1,    -1,   440,   441,   442,    -1,   444,   445,   446,   447,
12914      448,   449,    -1,    -1,    -1,   249,   454,    -1,  3936,  3937,
12915       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   262,    -1,
12916       -1,   265,    -1,    -1,    -1,    -1,  3954,    -1,    -1,    -1,
12917       -1,    -1,    -1,    -1,    -1,  3963,    -1,    -1,    -1,    -1,
12918       -1,    -1,    -1,    -1,    -1,    22,    -1,    -1,    -1,    -1,
12919       -1,    28,    -1,    -1,    -1,    -1,    -1,  1109,    -1,    -1,
12920       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12921       -1,    -1,    -1,    -1,    -1,    -1,  4004,    -1,    -1,    -1,
12922       -1,    -1,    -1,    -1,    -1,    -1,     8,    -1,    -1,    11,
12923       -1,    68,    -1,    15,    16,    17,  4024,    -1,    -1,    -1,
12924      344,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12925       32,  4039,    -1,    -1,    -1,    -1,    -1,    -1,    40,    -1,
12926        8,    -1,    -1,    11,    46,    -1,    -1,    15,    16,    17,
12927       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4066,    -1,
12928       -1,    -1,    -1,   120,    32,    -1,    -1,    -1,    70,  4077,
12929      127,    -1,    40,   130,  4082,    -1,    -1,    -1,    46,    -1,
12930       -1,    -1,  4090,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12931       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   155,  4107,
12932     4108,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12933       -1,    -1,    -1,   437,    -1,    -1,   440,   441,   442,    -1,
12934      444,   445,   446,   447,   448,   449,    -1,    -1,  4136,   186,
12935      454,    -1,    -1,  2080,  2081,    -1,    -1,    -1,    -1,    -1,
12936       -1,    -1,  2089,    -1,  2091,    -1,    -1,    -1,  2095,    -1,
12937       -1,    -1,    -1,    -1,    -1,    -1,  1288,  1289,    -1,    -1,
12938       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4175,    -1,    -1,
12939       -1,    -1,    -1,    -1,   176,    -1,  4184,    -1,    -1,   181,
12940       -1,    -1,    -1,    -1,    -1,    -1,    -1,   244,    -1,   246,
12941       -1,    -1,    -1,  4201,  4202,    -1,    -1,  4205,    -1,   256,
12942      202,   203,    -1,    -1,    -1,    -1,    -1,   264,   176,    -1,
12943       -1,  4219,  4220,   181,    -1,   217,  4224,   274,    -1,    -1,
12944       -1,  4229,    -1,    -1,  4232,  4233,    -1,  4235,  1360,  4237,
12945       -1,    -1,  4240,  4241,   202,   203,    -1,    -1,    -1,    -1,
12946       -1,    -1,    -1,    -1,    -1,    -1,    -1,   249,  4256,   217,
12947       -1,    -1,   309,    -1,    -1,   312,   313,    -1,    -1,  2206,
12948      262,  4269,  4270,  4271,  4272,  4273,    -1,    -1,    -1,    -1,
12949       -1,   201,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12950      210,   249,   339,    -1,    -1,    -1,    -1,    -1,    -1,   219,
12951       -1,    -1,    -1,  1425,   262,    -1,    -1,   265,    -1,    -1,
12952       -1,    -1,    -1,    -1,    -1,  4313,  4314,    -1,    -1,    -1,
12953       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2264,    -1,    -1,
12954       -1,    -1,    -1,    -1,    -1,  2272,    -1,  2274,    -1,    -1,
12955       -1,    -1,    -1,  2280,    -1,    -1,    -1,    -1,    -1,    -1,
12956       -1,    -1,   344,    -1,    -1,   402,    -1,    -1,  4356,    -1,
12957       -1,  4359,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12958       -1,  4369,    -1,    -1,    -1,    -1,    -1,  4375,    -1,  4377,
12959       -1,    -1,    -1,    -1,    -1,  4383,   344,    -1,    -1,    -1,
12960       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4397,
12961       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12962     4408,  4409,  4410,    -1,    -1,  2352,    -1,    -1,    -1,  1541,
12963       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12964       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12965       -1,  4439,    -1,    -1,  4442,   437,  4444,    -1,   440,   441,
12966      442,    -1,   444,   445,   446,   447,   448,   449,    -1,    -1,
12967       -1,    -1,    -1,    25,    -1,    -1,    -1,    -1,    -1,    -1,
12968     4468,  2408,    -1,  2410,  4472,    -1,    -1,    -1,  4476,   437,
12969       -1,    -1,   440,   441,   442,  4483,   444,   445,   446,   447,
12970      448,   449,    -1,    -1,  4492,    -1,   454,    -1,    -1,    -1,
12971       -1,    -1,    -1,    -1,  4502,    -1,    -1,    -1,    -1,    71,
12972       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1639,    -1,  4517,
12973       -1,    -1,    -1,    85,    -1,    -1,    22,    -1,    -1,    -1,
12974       -1,  1653,    28,    -1,  1656,    -1,  1658,    -1,  1660,    -1,
12975       -1,   103,  4540,    -1,  1666,    -1,    -1,   109,    -1,  4547,
12976     4548,  4549,  4550,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12977       -1,    -1,    -1,   125,    -1,    -1,    -1,    -1,    -1,    -1,
12978       -1,    -1,    68,    -1,   136,  2512,    -1,    -1,    -1,    -1,
12979       -1,    -1,   144,    -1,    -1,    -1,  4584,    -1,    -1,  1711,
12980       -1,    -1,    -1,  1715,   156,  1717,    -1,    -1,  1720,   161,
12981       -1,    -1,  4600,    -1,    -1,   167,    -1,  4605,    -1,    -1,
12982       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12983       -1,    -1,   184,    -1,   120,    -1,    -1,    -1,    -1,   549,
12984       -1,   127,    -1,    -1,   130,   555,    -1,    -1,    -1,    -1,
12985       -1,    -1,    -1,    -1,    -1,    -1,    -1,   209,    -1,    -1,
12986     4648,    -1,    -1,  4651,    -1,    -1,    -1,    -1,    -1,   155,
12987       -1,    -1,  4660,    -1,    -1,    -1,    -1,  4665,   230,  4667,
12988       -1,  4669,    -1,     8,    -1,    -1,    11,    -1,  4676,    -1,
12989       15,    16,    17,    -1,  4682,    -1,  4684,    -1,    -1,    -1,
12990      186,    -1,    -1,    -1,    -1,  4693,    -1,    32,    -1,    -1,
12991      262,    -1,    -1,    -1,    -1,    40,    -1,    -1,    -1,    -1,
12992       -1,    46,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
12993       -1,   283,    -1,    -1,    -1,    -1,  4724,  4725,    -1,    -1,
12994       -1,   293,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,
12995       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   244,    -1,
12996      246,    -1,    -1,  4751,    -1,    -1,    -1,    -1,   320,  4757,
12997      256,    -1,    -1,   325,    -1,   327,    -1,    -1,   264,    -1,
12998       -1,   333,    -1,    -1,   336,    -1,    -1,    -1,   274,   699,
12999       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4785,  4786,    -1,
13000       -1,    22,  4790,    -1,    -1,    -1,    -1,    28,  4796,    -1,
13001       -1,  4799,   364,   365,   724,  4803,   368,    -1,    -1,    -1,
13002      372,    -1,    -1,   309,    -1,    -1,   312,   313,  4816,   381,
13003       -1,    -1,    -1,   743,   386,    -1,    -1,    -1,  4826,    -1,
13004       -1,    -1,    -1,    -1,    -1,  4833,   398,    68,    -1,    -1,
13005       -1,   176,    -1,   339,    -1,   765,   181,    -1,    -1,   411,
13006     2787,    -1,  2789,  2790,  2791,    -1,    -1,  4855,    -1,    -1,
13007       -1,    -1,    -1,    -1,    -1,    -1,  4864,   202,   203,    -1,
13008       -1,    -1,  4870,  4871,  4872,    -1,    -1,    -1,    -1,    -1,
13009       -1,    -1,   217,    -1,    -1,    -1,    -1,    -1,    -1,   120,
13010       -1,    -1,    -1,  4891,    -1,    -1,   127,    -1,    -1,   130,
13011     4898,    -1,    -1,    -1,    -1,    -1,   402,  2029,  2030,    -1,
13012       -1,    -1,  2034,  2035,   249,    -1,   836,  2039,    -1,    -1,
13013       -1,    -1,    -1,    -1,   155,    -1,    -1,   262,    -1,    -1,
13014      265,  2053,    -1,    -1,    -1,    -1,    -1,    -1,  2060,    -1,
13015       -1,    -1,  2064,  2065,    -1,    -1,  2068,  2069,    -1,    -1,
13016       -1,    -1,    -1,  2075,    -1,   186,    -1,    -1,    -1,    -1,
13017       -1,    -1,    -1,    -1,    -1,    -1,  2088,    -1,  2090,    -1,
13018       -1,    -1,     8,    -1,    -1,    11,  4974,  4975,    -1,    15,
13019       16,    17,    -1,    -1,    -1,    -1,    -1,  2109,    -1,    -1,
13020     4988,    -1,  2114,    -1,    -1,    -1,    32,    -1,    -1,    -1,
13021       -1,    -1,  5000,  5001,    40,  2127,    -1,    -1,    -1,   344,
13022       46,    -1,    -1,   244,  2136,   246,  2138,    -1,    -1,  2141,
13023     2142,  2143,    -1,   943,    -1,   256,  2148,  2149,    -1,    -1,
13024       -1,    -1,    -1,   264,    70,    -1,  2158,    -1,    -1,    -1,
13025       -1,  2163,    -1,   274,  2981,    35,  2168,   967,   968,   969,
13026       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13027       -1,    -1,    -1,    -1,    54,    -1,    -1,    -1,    -1,    -1,
13028       -1,    -1,    -1,    -1,  2196,    -1,    -1,    -1,   309,    -1,
13029       -1,   312,   313,    -1,    -1,  2207,    -1,  2209,    -1,    -1,
13030       -1,    -1,  2214,    -1,    -1,    -1,  2218,    87,  2220,  2221,
13031     2222,  2223,   437,  2225,    -1,   440,   441,   442,   339,   444,
13032      445,   446,   447,   448,   449,    -1,  2238,  2239,  2240,   454,
13033       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2250,  2251,
13034       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13035      176,    22,    -1,    -1,   190,   181,    -1,    28,    -1,    -1,
13036       -1,    -1,    -1,   199,   200,   145,    -1,    -1,    -1,    -1,
13037       -1,   207,    -1,    -1,    -1,    -1,   202,   203,    -1,    -1,
13038       -1,   402,   218,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13039     2302,   217,    -1,     8,    -1,  1105,    11,    68,   178,    -1,
13040       15,    16,    17,    -1,    -1,    -1,    -1,    -1,    -1,  3136,
13041       -1,  3138,    -1,    -1,    -1,  3142,    -1,    32,    -1,    -1,
13042       -1,  1131,    -1,   249,    -1,    40,    -1,    -1,   208,    -1,
13043       -1,    46,    -1,   213,    -1,    -1,   262,    -1,    -1,   265,
13044       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   120,
13045       -1,    -1,    -1,    -1,    -1,    70,   127,    -1,    -1,   130,
13046       -1,    -1,    -1,    -1,    -1,    -1,   246,    -1,    -1,  3196,
13047       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13048       -1,    -1,    -1,    -1,   155,    -1,    -1,    -1,    -1,    -1,
13049       -1,    -1,    -1,    -1,    -1,   275,    -1,    -1,    -1,    -1,
13050       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13051       -1,    -1,    -1,    -1,     8,   186,    -1,    11,   344,    -1,
13052       -1,    15,    16,    17,    -1,    -1,    -1,    -1,    -1,    -1,
13053       -1,    -1,    -1,   313,    -1,    -1,    -1,   317,    32,    -1,
13054       -1,    -1,    36,  2455,   324,    -1,    40,    -1,    -1,    -1,
13055       -1,   331,    46,    -1,    -1,    -1,  1266,    -1,    -1,   339,
13056       -1,   176,    22,    -1,    -1,    -1,   181,    -1,    28,    -1,
13057       -1,   351,    -1,   244,  2486,   246,    70,    -1,    -1,   359,
13058       -1,    -1,    -1,    -1,    -1,   256,    -1,   202,   203,    -1,
13059       -1,    -1,    -1,   264,    -1,    -1,    -1,    -1,    -1,   379,
13060       -1,    -1,   217,   274,    -1,  1315,    -1,    -1,    68,    -1,
13061       -1,   437,    -1,    -1,   440,   441,   442,    -1,   444,   445,
13062      446,   447,   448,   449,   118,    -1,    -1,    -1,   454,    -1,
13063       -1,    -1,    -1,   413,   249,    -1,    -1,   417,   309,    -1,
13064       -1,   312,   313,    -1,    -1,    -1,    -1,   262,    -1,    -1,
13065      265,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13066      120,    -1,    -1,    -1,    -1,    -1,    -1,   127,   339,    -1,
13067      130,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1389,
13068       -1,    -1,   176,    -1,    -1,    -1,    -1,   181,  1398,    -1,
13069       -1,  3418,  3419,  3420,  3421,   155,    -1,    -1,    -1,    -1,
13070       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   202,   203,
13071       -1,    -1,    -1,    -1,    -1,    -1,  1426,    -1,    -1,    -1,
13072       -1,   557,    -1,   217,  1434,    -1,   186,  1437,    -1,   344,
13073       -1,   402,    -1,   569,    -1,    -1,    -1,    -1,   574,    -1,
13074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   585,
13075       -1,    -1,    -1,    -1,    -1,   249,    -1,    -1,    -1,    -1,
13076     2672,    -1,    -1,  1473,    -1,   601,    -1,    -1,   262,    -1,
13077      606,   265,    -1,    -1,    -1,    -1,   612,  1487,    -1,    -1,
13078      616,   617,    -1,    -1,   244,    -1,   246,   623,    -1,    -1,
13079     1500,    -1,    -1,    -1,    -1,    -1,   256,   633,   634,    -1,
13080       -1,    -1,    -1,    -1,   264,    -1,   642,    -1,    -1,    -1,
13081       -1,    -1,    -1,    -1,   274,    -1,    -1,    -1,    -1,    -1,
13082     2732,  2733,   437,    -1,    -1,   440,   441,   442,    -1,   444,
13083      445,   446,   447,   448,   449,    -1,    -1,   452,  2750,    -1,
13084     1550,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   309,
13085      344,    -1,   312,   313,    -1,    -1,    -1,    -1,    -1,    -1,
13086       -1,  1571,    -1,  2775,    -1,    -1,    -1,  2779,  1578,  3596,
13087       -1,    -1,    -1,  2785,    -1,    -1,    -1,    -1,    -1,   339,
13088       -1,    -1,    -1,    -1,    -1,   721,   722,    -1,    -1,  2801,
13089     2802,   727,    -1,    -1,  2806,    -1,    -1,    -1,    -1,  2811,
13090     2812,  2813,    -1,  2815,    -1,   399,    -1,    -1,    -1,    -1,
13091       -1,    -1,    -1,    -1,    -1,    -1,    -1,   753,    -1,    -1,
13092       -1,    -1,    -1,    -1,  2836,    -1,    -1,    -1,    -1,    -1,
13093       -1,    -1,    -1,    -1,  2846,  2847,  2848,  2849,    -1,    -1,
13094       -1,    -1,   402,   437,    -1,    -1,   440,   441,   442,    -1,
13095      444,   445,   446,   447,   448,   449,    -1,    -1,    -1,    -1,
13096       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13097     1680,  2883,    -1,    -1,  2886,  2887,  2888,    -1,    -1,    -1,
13098       -1,    -1,    -1,    -1,  2896,    -1,    -1,    -1,    -1,    -1,
13099       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13100       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1718,  1719,
13101       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13102       -1,    -1,    -1,    -1,    -1,  1735,    -1,    -1,    -1,    -1,
13103       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13104       -1,     8,    -1,    -1,    11,    -1,    -1,    -1,    15,    16,
13105       17,    -1,    -1,    -1,    -1,  2967,    -1,   893,    -1,    -1,
13106       -1,    -1,    -1,  2975,   900,    32,    -1,    -1,   904,    -1,
13107       -1,    -1,    -1,    40,    -1,    -1,    -1,    -1,    -1,    46,
13108       -1,    -1,  2994,    -1,   920,    -1,    -1,    -1,    -1,    -1,
13109       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   934,    -1,
13110       -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,  3020,    -1,
13111       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    22,
13112       -1,     8,  1832,    -1,    11,    28,    -1,    -1,    15,    16,
13113       17,    -1,  1842,    -1,    -1,    -1,    -1,   973,    -1,    -1,
13114        8,    -1,    -1,    11,    -1,    32,    -1,    15,    16,    17,
13115       -1,    -1,  3064,    40,    -1,    -1,  3068,    -1,    -1,    46,
13116       -1,    -1,    -1,    -1,    32,    68,    -1,    35,    -1,    -1,
13117       -1,    -1,    40,    -1,    -1,  1011,    -1,    -1,    46,    -1,
13118       -1,    -1,    -1,    70,    -1,  3097,    -1,   154,    -1,    -1,
13119       -1,    -1,   159,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13120       -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,   176,
13121     1046,    -1,    -1,    -1,   181,  3127,    -1,   120,    -1,    -1,
13122       -1,    -1,    -1,    -1,   127,    -1,    -1,   130,    -1,  3141,
13123     1066,    -1,    -1,  3145,  1070,   202,   203,    -1,    -1,    -1,
13124       -1,    -1,  1078,    -1,  3156,    -1,    -1,    -1,    -1,  1959,
13125      217,  1961,   155,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13126       -1,    -1,    -1,    -1,    -1,    -1,   153,    -1,    -1,    -1,
13127     1106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1115,
13128       -1,  1117,   249,   186,    -1,    -1,    -1,    -1,    -1,   176,
13129     2000,    -1,    -1,    -1,   181,   262,  1132,  4024,   265,  1135,
13130       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   176,    -1,
13131       -1,  1147,  4039,   181,    -1,   202,   203,    -1,    -1,    -1,
13132       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13133      217,    -1,    -1,    -1,   202,   203,    -1,    -1,    -1,    -1,
13134     1176,   244,    -1,   246,    -1,    -1,    -1,    -1,    -1,   217,
13135       -1,    -1,    -1,   256,    -1,    -1,    -1,     8,    -1,    -1,
13136       11,   264,   249,    -1,    15,    16,    17,    -1,  1204,  1205,
13137     1206,   274,  1208,    -1,    -1,   262,    -1,   344,   265,    20,
13138     4107,   249,    -1,    -1,    25,    -1,    -1,    -1,    -1,    40,
13139       -1,    -1,  1228,    -1,   262,    46,    -1,   265,   285,    -1,
13140       -1,    -1,    -1,    -1,    -1,    -1,   309,    -1,    -1,   312,
13141      313,    -1,    -1,    -1,    -1,    -1,  1252,    58,    -1,    70,
13142       -1,    -1,    -1,    -1,  1260,  1261,    -1,    -1,    -1,    -1,
13143       71,    72,    -1,  1269,  1270,    -1,   339,    -1,    -1,    -1,
13144       81,    -1,    -1,  2153,    85,    -1,    -1,    -1,    -1,    -1,
13145       -1,    -1,    -1,    -1,    -1,    -1,    -1,   344,    -1,    -1,
13146       -1,    -1,   103,  1299,  2174,    -1,    -1,  1303,  1304,    -1,
13147      437,    -1,    -1,   440,   441,   442,   344,   444,   445,   446,
13148      447,   448,   449,  1319,   125,    -1,    -1,    -1,    -1,  1325,
13149     3402,    -1,  3404,    -1,    -1,   136,    -1,    -1,    -1,   402,
13150     3412,    -1,    -1,   144,    -1,    -1,    -1,    -1,    -1,    -1,
13151       -1,    -1,    -1,    -1,    -1,   156,    -1,  3429,    -1,    -1,
13152      161,    -1,    -1,    -1,    -1,   176,    -1,    -1,    -1,    -1,
13153      181,    -1,    -1,  3445,    -1,    -1,    -1,    -1,    -1,    -1,
13154       -1,    -1,    -1,   184,  4271,  4272,  4273,  3459,  1384,    -1,
13155      437,   202,   203,   440,   441,   442,    -1,   444,   445,   446,
13156      447,   448,   449,    -1,    -1,  3477,   217,    -1,   209,   437,
13157       -1,    -1,   440,   441,   442,  3487,   444,   445,   446,   447,
13158      448,   449,    -1,    -1,    -1,    -1,  1422,    -1,    -1,   230,
13159       -1,    -1,    -1,    -1,    -1,    -1,  3508,    -1,   249,    -1,
13160       -1,  2311,    -1,    -1,    -1,    -1,    -1,  3519,  3520,  3521,
13161       -1,   262,  3524,  3525,  3526,  3527,  3528,  3529,    -1,    -1,
13162       -1,   262,  3534,  3535,    -1,  3537,  3538,  3539,  3540,  3541,
13163     3542,    -1,  3544,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13164       -1,  3553,   283,  3555,  3556,    -1,    -1,  1483,    -1,    -1,
13165       -1,    -1,   293,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13166       -1,    -1,    -1,    -1,    -1,    -1,  3578,  1503,     8,    -1,
13167       -1,    11,    -1,    -1,    -1,    15,    16,    17,    -1,   320,
13168       -1,  4408,  1518,    -1,   325,  3597,   327,    -1,    -1,    -1,
13169     1526,    -1,   333,   344,    -1,   336,  1532,    -1,    -1,    -1,
13170       40,  1537,    -1,    -1,    -1,    -1,    46,    -1,    -1,    -1,
13171       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1553,    -1,    -1,
13172       -1,  1557,    -1,    -1,   365,    -1,    -1,   368,    -1,    -1,
13173       70,   372,    -1,  1569,    -1,    -1,    -1,    -1,   379,    -1,
13174      381,    -1,    -1,    -1,    -1,   386,    -1,    -1,  1584,    -1,
13175       -1,    -1,    -1,    -1,    -1,  1591,    -1,    -1,    -1,    -1,
13176       -1,  1597,    -1,    -1,    -1,    -1,    -1,  1603,    -1,    -1,
13177      411,    -1,    -1,  1609,    -1,  2485,    -1,    -1,    -1,    -1,
13178       -1,    -1,  3694,    -1,    -1,  1621,   437,    -1,    -1,   440,
13179      441,   442,    -1,   444,   445,   446,   447,   448,   449,    -1,
13180       -1,    -1,    -1,    -1,  1640,    -1,  1642,  1643,    -1,    -1,
13181     3722,  3723,  3724,    -1,    -1,    -1,    -1,    -1,    -1,  1655,
13182       -1,  4548,  3734,  4550,    -1,    -1,    -1,    -1,    -1,  1665,
13183       -1,    -1,  1668,    -1,  1670,  1671,   176,    -1,    -1,    -1,
13184       -1,   181,    -1,    -1,    -1,    -1,  1682,    -1,    -1,    -1,
13185       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13186       -1,    -1,   202,   203,    -1,    -1,    -1,    -1,    -1,    -1,
13187       -1,    -1,    -1,    -1,    -1,    -1,    -1,   217,  1714,    -1,
13188       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13189       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13190       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   249,
13191       -1,    -1,  1748,    -1,  1750,    -1,    -1,    -1,    -1,  1755,
13192     1756,    -1,   262,    22,    -1,  2635,  1762,  1763,  1764,    28,
13193       -1,    -1,  1768,    -1,  1770,  1771,  1772,  1773,  1774,  1775,
13194       -1,  1777,    -1,  1779,  1780,    -1,    -1,  1783,    -1,    -1,
13195       -1,    -1,    -1,    -1,    53,  4682,    -1,    -1,    -1,    -1,
13196       -1,  1797,  1798,  1799,  1800,  1801,  1802,    -1,    -1,    68,
13197     1806,    -1,    -1,    -1,  1810,    -1,    -1,  1813,    -1,    -1,
13198     1816,  1817,  1818,  1819,  1820,  1821,  1822,  1823,  1824,    -1,
13199     1826,    -1,    -1,    -1,    -1,    -1,    -1,  1833,    -1,  1835,
13200       -1,    -1,   101,    -1,   344,    -1,    -1,    -1,    -1,    -1,
13201       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13202       -1,   120,    -1,    -1,  4751,    -1,    -1,    -1,   127,    -1,
13203     3942,   130,    -1,    -1,  3946,  3947,  3948,  3949,    -1,    -1,
13204     3952,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13205       -1,    -1,    -1,    -1,    -1,    -1,   155,    -1,    -1,    -1,
13206       -1,    -1,    -1,    -1,  3976,  3977,  3978,    -1,  3980,    -1,
13207     3982,  3983,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13208       -1,    -1,  3994,  3995,   183,    -1,    -1,   186,    -1,    -1,
13209       -1,    -1,    -1,    -1,    -1,    -1,    -1,   437,    -1,  4826,
13210      440,   441,   442,  4015,   444,   445,   446,   447,   448,   449,
13211     4022,  4023,    -1,  4025,    -1,    -1,    -1,    -1,    -1,    -1,
13212       -1,    -1,    -1,    -1,    -1,  4037,    -1,  1963,    -1,    -1,
13213       -1,    -1,   231,    -1,    -1,   234,    -1,    -1,    -1,    -1,
13214       -1,  1977,    -1,    -1,    -1,   244,    -1,   246,    -1,    -1,
13215     1986,  1987,    -1,    -1,    -1,    -1,    -1,   256,    -1,    -1,
13216       -1,    -1,    -1,    -1,    -1,   264,    -1,    -1,    -1,    -1,
13217       -1,  4898,    -1,    -1,   273,   274,    -1,    -1,  2014,    -1,
13218       -1,    -1,  2018,  2019,    -1,  4097,    -1,    -1,  2898,    -1,
13219       -1,    -1,  2028,    -1,    -1,    -1,  2032,  2033,    -1,    -1,
13220       -1,  2037,    -1,    -1,    -1,    -1,  4118,    -1,    -1,  2045,
13221      309,    -1,    -1,   312,   313,   314,    -1,    -1,    -1,    -1,
13222       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2063,    -1,    -1,
13223     2066,    -1,    -1,    -1,    -1,    -1,  4148,    -1,    -1,    -1,
13224      339,    -1,  2078,    -1,    -1,    -1,  2082,    -1,    -1,  2085,
13225       -1,    -1,    -1,    -1,   353,    -1,    -1,    -1,  2094,    -1,
13226       -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,    -1,    -1,
13227       11,  2107,    -1,    -1,    15,    16,    17,    -1,    -1,    -1,
13228       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2125,
13229     2126,    32,    -1,    -1,    -1,    -1,    -1,    -1,  2134,    40,
13230       -1,    -1,    -1,   402,    -1,    46,    -1,    -1,    -1,    -1,
13231     4222,    -1,    -1,    -1,    -1,  3025,  3026,    -1,    -1,    -1,
13232     2156,  2157,    -1,    -1,  2160,  4237,    -1,    -1,    -1,    70,
13233       -1,  3041,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13234       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3057,    -1,    -1,
13235       -1,    -1,    -1,    -1,    -1,  2191,  3066,  3067,    -1,  2195,
13236       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13237       -1,    -1,    -1,  3083,    -1,    -1,    -1,  2213,    -1,    -1,
13238       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2224,    -1,
13239       -1,    -1,    -1,  4305,    -1,    -1,    -1,    -1,    -1,    -1,
13240       -1,  2237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13241     2246,    -1,    -1,    -1,  4326,    -1,    -1,    -1,    -1,  4331,
13242     4332,    -1,     8,    -1,    -1,    11,    -1,    -1,    -1,    15,
13243       16,    17,    -1,    -1,    -1,   176,    -1,    -1,    -1,    -1,
13244      181,    -1,    -1,    -1,    -1,    -1,    32,    -1,    -1,    -1,
13245       -1,    -1,    -1,    -1,    40,    -1,  2292,  2293,    -1,    -1,
13246       46,   202,   203,    -1,  4376,  2301,    -1,    -1,    -1,    -1,
13247       -1,    -1,    -1,    -1,  3184,    -1,   217,    -1,    -1,  4391,
13248       -1,    -1,    -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,
13249       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13250       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   249,    -1,
13251       -1,  4423,    -1,    -1,    -1,    -1,    -1,    -1,  4430,    -1,
13252       -1,   262,    -1,    -1,   265,    -1,    -1,  2363,    -1,    -1,
13253       -1,  2367,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13254     2376,    -1,    -1,    -1,    -1,    -1,   287,    -1,    -1,    -1,
13255       -1,    -1,    -1,  4465,    -1,    -1,    -1,    -1,    -1,    -1,
13256       -1,    -1,    -1,    -1,  4476,    -1,    -1,    -1,    -1,    -1,
13257       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13258       -1,    -1,    -1,    -1,    -1,    -1,  4498,    -1,    -1,    -1,
13259      176,    -1,    -1,  2429,    -1,   181,    -1,    -1,  2434,  3309,
13260     3310,  3311,    -1,   344,    -1,    -1,    -1,    -1,    -1,  4521,
13261       -1,    -1,    -1,    -1,    -1,    -1,   202,   203,  4530,   360,
13262       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2465,
13263       -1,   217,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4551,
13264       -1,    -1,    -1,    -1,    -1,  2481,    -1,  2483,    -1,    -1,
13265       -1,    -1,    -1,    -1,    -1,  2491,    -1,    -1,    -1,  2495,
13266       -1,    -1,  2498,   249,    -1,  2501,    -1,    -1,    -1,    -1,
13267       -1,    -1,    -1,  2509,    -1,    -1,   262,    -1,    -1,   265,
13268       -1,    -1,    -1,  2519,    -1,    -1,    -1,    -1,  2524,    -1,
13269       -1,    -1,    -1,    -1,    -1,   281,   437,    -1,    -1,   440,
13270      441,   442,    -1,   444,   445,   446,   447,   448,   449,    -1,
13271       -1,  2547,  2548,  2549,    -1,    -1,  2552,    -1,    -1,    -1,
13272       -1,    -1,    -1,  4635,  2560,  2561,  2562,  2563,    -1,    -1,
13273       -1,    -1,  2568,    -1,    -1,    -1,    -1,  2573,  2574,    -1,
13274     2576,    -1,  2578,    -1,    -1,  4657,    -1,    -1,    -1,    -1,
13275       -1,    -1,    -1,  2589,  2590,    -1,    -1,  2593,   344,    -1,
13276       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13277       -1,  2607,    -1,  2609,    -1,  2611,    -1,    -1,    -1,  4691,
13278        8,    -1,    -1,    11,    -1,    -1,    -1,    15,    16,    17,
13279       -1,    -1,    -1,    -1,  4706,  2631,    -1,    -1,    -1,    -1,
13280       -1,    -1,    -1,    -1,    32,    -1,  2642,    35,  2644,  2645,
13281     2646,    -1,    40,    -1,    -1,    -1,    -1,    -1,    46,    -1,
13282       -1,    -1,    -1,  2659,    -1,    -1,  2662,    -1,    -1,    -1,
13283       -1,  4743,    -1,    -1,    -1,    -1,    -1,    -1,  2674,    -1,
13284       -1,    -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13285       -1,   437,    -1,  2689,   440,   441,   442,    -1,   444,   445,
13286      446,   447,   448,   449,    -1,    -1,    -1,  2703,    -1,    -1,
13287       -1,    -1,    -1,    -1,    -1,    -1,   612,    -1,    -1,    -1,
13288       -1,    -1,    -1,  2719,  3594,    -1,  2722,    -1,  2724,    -1,
13289       -1,    -1,    -1,  2729,  3604,  2731,    -1,   633,     8,    -1,
13290       -1,    11,    -1,  4815,    -1,    15,    16,    17,    -1,    -1,
13291       -1,  2747,  2748,    -1,    -1,    -1,    -1,  2753,    -1,    -1,
13292       -1,    -1,    32,    -1,    -1,    -1,    -1,    -1,    -1,  3639,
13293       40,    -1,    -1,    -1,    -1,    -1,    46,    -1,  2774,  4851,
13294       -1,  2777,    -1,    -1,    -1,  2781,    -1,    -1,   176,    -1,
13295       -1,    -1,    -1,   181,    -1,    -1,    -1,  3667,    -1,    -1,
13296       70,    -1,  2798,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13297       -1,    -1,    -1,    -1,   202,   203,    -1,    -1,    -1,    -1,
13298       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2823,    -1,   217,
13299       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13300       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13301       -1,  3721,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13302       -1,   249,  2858,  2859,  2860,    -1,    -1,    -1,    -1,    -1,
13303       -1,    -1,    -1,    -1,   262,    -1,    -1,   265,    -1,    -1,
13304       -1,    -1,    -1,    -1,    -1,    -1,  2882,    -1,    -1,   159,
13305       -1,    -1,    -1,    -1,    -1,    -1,  2892,    -1,  2894,  2895,
13306       -1,  2897,    -1,    -1,  2900,    -1,   176,    -1,    -1,    -1,
13307       -1,   181,    -1,    -1,  2910,    -1,    -1,    -1,    -1,    -1,
13308       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13309       -1,    -1,   202,   203,    -1,    -1,    -1,    -1,    -1,    -1,
13310       -1,    -1,    -1,    -1,    -1,    -1,    -1,   217,    -1,    -1,
13311       -1,    -1,    -1,    -1,    -1,    -1,   344,    -1,    -1,  2955,
13312       -1,    -1,    -1,    -1,  3834,  3835,  3836,  3837,    -1,    -1,
13313       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2974,   249,
13314       -1,    -1,    -1,    -1,  2980,    -1,    -1,    -1,    -1,    -1,
13315       -1,    -1,   262,    -1,    -1,   265,    -1,    -1,    -1,    -1,
13316       -1,    -1,    -1,    -1,   900,    -1,    -1,    -1,    -1,    -1,
13317     3006,    -1,    -1,    -1,    -1,    -1,  3012,  3013,    -1,    -1,
13318       -1,    -1,    -1,  3019,   920,  3021,   200,    -1,    -1,    -1,
13319       -1,    -1,    -1,   207,    -1,    -1,    -1,  3033,   934,  3035,
13320       -1,    -1,    -1,    -1,   218,    -1,    -1,    -1,    -1,   437,
13321       -1,    -1,   440,   441,   442,    -1,   444,   445,   446,   447,
13322      448,   449,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13323       -1,    -1,    -1,    -1,   344,    -1,  3072,    -1,    -1,    -1,
13324       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13325       -1,    -1,    -1,  3089,  3090,    -1,    -1,    -1,    -1,    -1,
13326       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3103,    -1,    -1,
13327       -1,    -1,    -1,    -1,    -1,  1011,    -1,    -1,    -1,    -1,
13328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13329       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13330       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13331     3146,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13332       -1,    -1,  3158,    -1,    -1,  3161,    -1,   437,    -1,    -1,
13333      440,   441,   442,    -1,   444,   445,   446,   447,   448,   449,
13334       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3183,    -1,    -1,
13335     3186,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13336       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3203,    -1,    -1,
13337     3206,    -1,    -1,    -1,    -1,    -1,  3212,    -1,    -1,  1115,
13338       -1,    -1,  3218,    -1,  3220,    -1,    -1,  3223,    -1,    -1,
13339       -1,  3227,  3228,  3229,  3230,  3231,    -1,    -1,  3234,  3235,
13340     3236,  3237,  3238,  3239,  3240,  3241,  3242,  3243,    -1,    -1,
13341       -1,  3247,  3248,    -1,    -1,    -1,  3252,    -1,    -1,    -1,
13342       -1,  3257,    -1,    -1,    -1,  3261,  4136,  3263,    -1,  3265,
13343       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3273,    -1,    -1,
13344     3276,    -1,  3278,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13345     3286,  3287,    -1,    -1,  3290,  3291,    -1,    -1,    -1,  3295,
13346     3296,    -1,    -1,    -1,    -1,    -1,  3302,    -1,    -1,    -1,
13347       -1,    -1,    -1,    -1,    -1,    -1,  3312,    -1,  3314,    -1,
13348       -1,    -1,    -1,    -1,     8,    -1,    -1,    11,    -1,    -1,
13349     3326,    15,    16,    17,    -1,    -1,  3332,  3333,  3334,    -1,
13350       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    32,    -1,
13351       -1,    35,    -1,    -1,    -1,    -1,    40,    -1,    -1,    -1,
13352       -1,    -1,    46,    -1,    -1,  3361,    -1,    -1,    -1,    -1,
13353       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3374,    -1,
13354       -1,    -1,    -1,    -1,  3380,    -1,    70,    -1,    -1,    -1,
13355       -1,    -1,    -1,    -1,    -1,   569,    -1,    -1,    -1,  3395,
13356      574,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,     8,
13357       -1,   585,    11,    -1,    -1,    -1,    15,    16,    17,    -1,
13358       -1,    -1,    -1,  1319,    -1,    -1,    -1,   601,    -1,    -1,
13359       -1,    -1,  3428,    32,    -1,    -1,    -1,    -1,    -1,    -1,
13360       -1,    40,    -1,   617,    -1,    -1,    -1,    46,    -1,   623,
13361       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13362      634,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   642,    -1,
13363       -1,    70,    -1,    -1,    -1,    -1,    -1,    -1,  3474,    -1,
13364       -1,    -1,    -1,  3479,  3480,  3481,    -1,    -1,  1384,  4359,
13365       -1,    -1,   176,    -1,    -1,    -1,    -1,   181,    -1,    -1,
13366       -1,    -1,    -1,    -1,    -1,  4375,    -1,    -1,    -1,    -1,
13367       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   202,   203,
13368       -1,    -1,    -1,    -1,    -1,    -1,  1422,    -1,    -1,    -1,
13369       -1,    -1,    -1,   217,    -1,    -1,    -1,  3533,     8,  4409,
13370     3536,    11,    -1,    -1,    -1,    15,    16,    17,    -1,    -1,
13371       -1,    -1,    -1,   727,    -1,    -1,    -1,    -1,    -1,    -1,
13372       -1,    -1,    32,    -1,    -1,   249,    -1,    -1,    -1,    -1,
13373       40,    -1,    -1,    -1,    -1,    -1,    46,   176,   262,    -1,
13374       -1,   265,   181,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13375       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13376       70,    -1,  3598,   202,   203,    -1,    -1,  1503,    -1,    -1,
13377       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   217,    -1,
13378       -1,    -1,  1518,    -1,    -1,  3621,  3622,    -1,    -1,  3625,
13379     1526,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3634,    -1,
13380     3636,  1537,    -1,    -1,    -1,    -1,    -1,  4517,    -1,    -1,
13381      249,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13382      344,    -1,    -1,   262,    -1,    -1,   265,    -1,    -1,    -1,
13383       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3674,  3675,
13384     3676,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1584,    -1,
13385       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13386       -1,  1597,    -1,    -1,    -1,    -1,   176,    -1,    -1,    -1,
13387       -1,   181,    -1,  1609,    -1,    -1,    -1,    -1,    -1,    -1,
13388       -1,    -1,    -1,    -1,    -1,  1621,    -1,    -1,    -1,    -1,
13389     4600,    -1,   202,   203,  3730,    -1,    -1,    -1,    -1,    -1,
13390       -1,    -1,    -1,    -1,    -1,   344,    -1,   217,    -1,    -1,
13391       -1,    -1,    -1,   437,    -1,  3751,   440,   441,   442,    -1,
13392      444,   445,   446,   447,   448,   449,  3762,    -1,    -1,  1665,
13393       -1,    -1,  1668,    -1,   373,    -1,    -1,    -1,    -1,   249,
13394       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13395       -1,    -1,   262,    -1,    -1,   265,  3792,    -1,    -1,    -1,
13396       -1,    -1,    -1,    -1,    -1,    -1,  3802,  3803,    -1,  3805,
13397       -1,    -1,    -1,  3809,  3810,    -1,    -1,    -1,  3814,  3815,
13398       -1,    -1,    -1,  3819,    -1,    -1,  3822,  3823,    -1,    -1,
13399       -1,  3827,    -1,    -1,    -1,    -1,    -1,  3833,   437,    -1,
13400       -1,   440,   441,   442,    -1,   444,   445,   446,   447,   448,
13401      449,    -1,    -1,    -1,    -1,  3851,    -1,     8,    -1,  3855,
13402       11,    -1,    -1,    -1,    15,    16,    17,    -1,    -1,    -1,
13403       -1,  3867,  1046,    -1,   344,    -1,  3872,    -1,    -1,    -1,
13404       -1,    32,  3878,    -1,    35,    -1,    -1,    -1,    -1,    40,
13405       -1,    -1,  1066,    -1,    -1,    46,  3892,    -1,    -1,    -1,
13406       -1,  1797,    -1,    -1,  1078,    -1,    -1,    -1,    -1,    -1,
13407       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    70,
13408     3916,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13409       -1,    -1,  1106,    -1,    -1,    -1,    -1,    -1,  3934,  1835,
13410       -1,    -1,    -1,  1117,    -1,    -1,    -1,    -1,    -1,    -1,
13411       -1,    -1,    -1,    -1,    -1,  3951,    -1,    -1,  1132,    -1,
13412     3956,  1135,    -1,    -1,    -1,    -1,    -1,   437,    -1,  3965,
13413      440,   441,   442,    -1,   444,   445,   446,   447,   448,   449,
13414       -1,    -1,    -1,    -1,    -1,  3981,    -1,    -1,    -1,    -1,
13415     3986,    -1,    -1,    -1,    -1,    -1,    -1,  3993,    -1,    -1,
13416       -1,    -1,    -1,    -1,  4000,  4001,    -1,    -1,  4004,    -1,
13417       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4014,    -1,
13418       -1,    -1,    -1,    -1,    -1,   176,    -1,    -1,    -1,    -1,
13419      181,    -1,    -1,    -1,    -1,    -1,   721,   722,    -1,    -1,
13420       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4044,    -1,
13421       -1,   202,   203,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13422       -1,    -1,    -1,    -1,    -1,    -1,   217,    -1,   753,    -1,
13423     4066,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1252,    -1,
13424       -1,  4077,    -1,    -1,    -1,    -1,  1260,  1261,    -1,    -1,
13425       -1,    -1,    -1,    -1,    -1,    -1,  1270,    -1,   249,     0,
13426       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13427       -1,   262,    -1,    -1,   265,    -1,    -1,    18,  2014,    -1,
13428       -1,    -1,  2018,  2019,    -1,    -1,    -1,    28,    -1,    30,
13429       31,    -1,    -1,    -1,    -1,  4131,    -1,  4133,    -1,    -1,
13430       -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,    -1,
13431       -1,  1325,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13432       -1,    -1,    -1,  4159,    65,    -1,    67,    68,    -1,    -1,
13433       -1,    -1,    73,    -1,    75,    -1,    -1,    -1,    -1,  4175,
13434       -1,    -1,    -1,  4179,    -1,    86,  2082,    88,  4184,    -1,
13435       -1,    -1,    -1,   344,    -1,    -1,    -1,    -1,  2094,    -1,
13436       -1,    -1,    -1,    -1,   105,  4201,  4202,   108,    -1,  4205,
13437       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13438      121,    -1,   123,  4219,    -1,    -1,   127,    -1,  4224,    -1,
13439       -1,    -1,   133,  4229,    -1,    -1,  4232,  4233,  2134,    -1,
13440      141,    -1,   143,    -1,  4240,  4241,    -1,    -1,   149,    -1,
13441       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13442     4256,    -1,    -1,   164,    -1,    -1,    -1,  4263,    -1,  4265,
13443       -1,    -1,    -1,  4269,    -1,    -1,    -1,    -1,    -1,   180,
13444       -1,    -1,    -1,    -1,    -1,    -1,   437,    -1,    -1,   440,
13445      441,   442,    -1,   444,   445,   446,   447,   448,   449,    -1,
13446       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4303,  4304,  1483,
13447       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4313,   219,   220,
13448       -1,    -1,    -1,    -1,   225,    -1,    -1,    -1,    -1,    -1,
13449       -1,    -1,    -1,    -1,    -1,    -1,   237,    -1,    -1,    -1,
13450       -1,    -1,    -1,    -1,    -1,    -1,    -1,   248,    -1,    -1,
13451       -1,    -1,    -1,    -1,  4350,    -1,    -1,    -1,  1532,    -1,
13452     4356,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13453       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1553,
13454       -1,    -1,    -1,  1557,    -1,    -1,    -1,   288,    -1,    -1,
13455       -1,    -1,    -1,    -1,    -1,  1569,    -1,  2293,    -1,   300,
13456       -1,    -1,    -1,    -1,   305,   306,    -1,   308,    -1,    -1,
13457       -1,    -1,   313,    -1,  4410,    -1,  4412,   318,    -1,    -1,
13458      321,    -1,    -1,    -1,    -1,   326,    -1,    -1,    -1,    -1,
13459      331,   332,    -1,    -1,    -1,    -1,    -1,    -1,   339,    -1,
13460       -1,    -1,   343,  4439,  4440,    -1,  4442,    -1,  4444,    -1,
13461       -1,    -1,   353,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13462       -1,    -1,  1147,    -1,   365,    -1,    -1,  2363,  1642,  1643,
13463       -1,    -1,  4468,    -1,    -1,    -1,  4472,    -1,    -1,    -1,
13464       -1,  1655,  4478,   384,    -1,    -1,    -1,  4483,    -1,    -1,
13465       -1,  1176,    -1,   394,    -1,    -1,  1670,  1671,    -1,   400,
13466       -1,    -1,    -1,    -1,   405,    -1,  4502,    -1,  1682,    -1,
13467       -1,    -1,    -1,    -1,    -1,    -1,    -1,   418,    -1,  1204,
13468     1205,  1206,    -1,  1208,    -1,    20,    -1,    -1,    -1,  4525,
13469       25,    -1,    -1,    -1,    -1,  4531,    -1,    -1,   439,  4535,
13470     4536,    -1,    37,  1228,  4540,    -1,    -1,    -1,    -1,    -1,
13471       -1,    -1,   453,    -1,    -1,   456,    -1,    -1,    -1,    -1,
13472     4556,    -1,    -1,    58,    -1,    -1,    -1,    -1,    -1,    -1,
13473       -1,    -1,    -1,    -1,    -1,    -1,    71,    -1,    -1,    -1,
13474       -1,    -1,    -1,    -1,  1269,  2481,    -1,    -1,  4584,    -1,
13475       85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13476       -1,    -1,  2498,    -1,    -1,    -1,    -1,    -1,   103,  4605,
13477       -1,    -1,    -1,  2509,  1299,    -1,    -1,    -1,  1303,  1304,
13478       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1802,    -1,
13479      125,  4627,  4628,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13480       -1,   136,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   144,
13481       -1,    -1,  4648,    -1,    -1,  4651,    -1,    -1,    -1,    -1,
13482       -1,   156,    -1,    -1,  4660,    -1,   161,    -1,    -1,  4665,
13483       -1,  4667,   167,  4669,    -1,    -1,    -1,    -1,    -1,    -1,
13484     4676,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   184,
13485       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4693,    -1,    -1,
13486       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13487       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4714,    -1,
13488     4716,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13489       -1,    -1,    -1,    -1,    -1,   230,    -1,    -1,    -1,    -1,
13490       -1,    -1,    -1,    -1,    -1,   612,    -1,    -1,  2644,  2645,
13491     2646,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13492       -1,  4757,    -1,    -1,    -1,    -1,   633,   262,    -1,    -1,
13493       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   273,    -1,
13494       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   283,  4785,
13495     4786,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   293,    -1,
13496     4796,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4804,    -1,
13497       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13498     4816,    -1,    -1,  2719,    -1,   320,  2722,    -1,  2724,    -1,
13499      325,    -1,   327,  2729,    -1,    -1,    -1,    -1,   333,    -1,
13500       -1,   336,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13501       -1,    -1,    -1,    -1,  2028,    -1,    -1,    -1,  2032,  2033,
13502       -1,    -1,    -1,  2037,    -1,    -1,    -1,    -1,  4864,    -1,
13503      365,  2045,    -1,   368,  4870,  4871,  4872,   372,    -1,    -1,
13504       -1,    -1,    -1,    -1,   379,  2781,   381,    -1,    -1,  2063,
13505       -1,   386,    -1,    -1,    -1,  4891,    -1,    -1,    -1,    -1,
13506       -1,    -1,  2798,   398,    -1,    -1,    -1,  4903,    -1,    -1,
13507       -1,    -1,    -1,    -1,    -1,    -1,   411,    -1,    -1,    -1,
13508       -1,  4917,    -1,    -1,    -1,    -1,    -1,  2823,    -1,    -1,
13509       -1,    -1,    -1,  2107,    -1,    -1,    -1,    -1,    -1,    -1,
13510       -1,    -1,   612,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13511       -1,  2125,  2126,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13512       -1,    -1,    -1,   633,    -1,    -1,    -1,    -1,    -1,    -1,
13513       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4974,  4975,
13514       -1,    -1,  2156,  2157,  4980,    -1,  2160,    -1,    -1,    -1,
13515       -1,    -1,  4988,    -1,    -1,    -1,  2892,    -1,  2894,    -1,
13516       -1,    -1,    -1,  4999,  5000,  5001,    -1,    -1,    -1,    -1,
13517       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2191,    -1,    -1,
13518       -1,  2195,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13519       -1,    -1,    -1,   900,    -1,    -1,    -1,    -1,    -1,  2213,
13520       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13521     2224,    -1,    -1,   920,    -1,    -1,    -1,    -1,    -1,  2955,
13522       -1,    -1,    -1,  2237,    -1,    -1,    -1,   934,    -1,    -1,
13523     1755,    -1,  2246,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13524       -1,    -1,    -1,  1768,  2980,  1770,    -1,    -1,  1773,  1774,
13525     1775,    -1,    -1,    -1,    -1,  1780,    -1,    -1,  1783,    -1,
13526       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13527     3006,    -1,    -1,  1798,  1799,  1800,  1801,  3013,    -1,    -1,
13528       -1,  1806,    -1,    -1,    -1,  1810,    -1,  2301,  1813,    -1,
13529       -1,  1816,  1817,  1818,  1819,  1820,  1821,  1822,  1823,  1824,
13530       -1,  1826,    -1,    -1,  1011,    -1,    -1,    -1,  1833,    -1,
13531     1835,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13532       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13533       -1,    -1,    -1,    -1,    -1,    -1,  3072,    -1,    -1,    -1,
13534       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13535       -1,    -1,    -1,  2367,  3090,    -1,    -1,    -1,    -1,    -1,
13536       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3103,    -1,    -1,
13537       -1,    20,    -1,    -1,    -1,    -1,    25,    -1,    -1,    -1,
13538       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    -1,
13539      900,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13540       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1115,    58,
13541      920,    -1,    -1,    -1,    -1,  2429,    -1,    -1,    -1,    -1,
13542       -1,    -1,    71,    -1,   934,    -1,    -1,    -1,    -1,    -1,
13543       -1,    -1,    81,    -1,    -1,    -1,    85,    -1,  1963,    -1,
13544       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13545       -1,  2465,    -1,    -1,   103,    -1,    -1,    -1,    -1,    -1,
13546      109,  1986,  1987,    -1,    -1,    -1,    -1,    -1,    -1,  2483,
13547     3206,    -1,    -1,    -1,    -1,    -1,   125,  2491,    -1,    -1,
13548       -1,    -1,    -1,    -1,    -1,    -1,    -1,   136,    -1,    -1,
13549       -1,  3227,    -1,    -1,    -1,   144,    -1,    -1,    -1,    -1,
13550       -1,  1011,    -1,    -1,    -1,    -1,    -1,   156,    -1,    -1,
13551       -1,    -1,    -1,    -1,   163,    -1,  3252,    -1,   167,    -1,
13552       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13553       -1,    -1,    -1,    -1,    -1,   184,    -1,    -1,    -1,    -1,
13554       -1,  2066,    -1,    -1,   612,    -1,    -1,    -1,  1255,    -1,
13555     3286,    -1,    -1,    -1,  2568,    -1,    -1,    -1,    -1,    -1,
13556     2574,    -1,    -1,    -1,    -1,   633,    -1,    -1,    -1,    -1,
13557       -1,    -1,   221,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13558       -1,   230,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13559       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3334,    -1,
13560       -1,    -1,    -1,    -1,    -1,  1115,    -1,    -1,    -1,    -1,
13561       -1,    -1,  1319,   262,    -1,    -1,   265,    -1,    -1,    -1,
13562       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13563       -1,    -1,    -1,    -1,   283,    -1,    -1,    -1,    -1,    -1,
13564       -1,    -1,    -1,    -1,  3380,  2659,    -1,    -1,    -1,    -1,
13565       -1,    -1,    -1,   302,    -1,    -1,    -1,    -1,    -1,    -1,
13566       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13567       -1,   320,    -1,    -1,   612,    -1,    -1,  1384,   327,    -1,
13568       -1,    -1,    -1,    -1,   333,    -1,    -1,   336,    -1,    -1,
13569       -1,    -1,    -1,    -1,    -1,   633,    -1,    -1,    -1,    -1,
13570       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13571       -1,    -1,    -1,    -1,    -1,  1422,   365,  2731,    -1,   368,
13572      369,    -1,   371,   372,    -1,    -1,    -1,    -1,    -1,    -1,
13573       -1,    -1,   381,  2747,  2748,    -1,    -1,   386,    -1,    -1,
13574       -1,    -1,    -1,   392,  3480,    -1,   395,    -1,    -1,   398,
13575       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13576     2774,    -1,   411,  2777,    -1,    -1,    -1,  2292,    -1,    -1,
13577       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13578       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13579       -1,    -1,    -1,    -1,    -1,    -1,  1503,    -1,    -1,    -1,
13580       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1319,
13581       -1,  1518,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1526,
13582       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13583     1537,    -1,   900,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13584       -1,    -1,    -1,    -1,  2858,  2859,  2860,    -1,    -1,    -1,
13585       -1,    -1,   920,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13586       -1,    -1,    -1,    -1,    -1,    -1,   934,    -1,  2882,    -1,
13587       -1,    -1,    -1,    -1,  1384,    -1,    -1,  1584,    -1,    -1,
13588       -1,  2895,    -1,  2897,    -1,    -1,  2900,    -1,    -1,  3625,
13589     1597,    -1,    -1,    -1,    -1,    -1,  2910,    -1,    -1,    -1,
13590       -1,    -1,  1609,    -1,    -1,    -1,    -1,    -1,    -1,  2434,
13591       -1,    -1,  1422,    -1,  1621,    -1,    -1,    -1,    -1,    -1,
13592       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13593       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3674,    -1,
13594       -1,    -1,    -1,  1011,    -1,    -1,    -1,    -1,    -1,    -1,
13595       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1665,    -1,
13596     2974,  1668,   900,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13597       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13598       -1,    -1,   920,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13599       -1,    -1,    -1,  1503,  2519,    -1,   934,    -1,  3012,  2524,
13600       -1,    -1,    -1,    -1,    -1,  3019,    -1,  3021,  1518,    -1,
13601       -1,    -1,    -1,    -1,    -1,    -1,  1526,    -1,    -1,  3033,
13602       -1,  3035,    -1,    -1,  2549,    -1,    -1,  1537,    -1,    -1,
13603       -1,    -1,    -1,    -1,    -1,  2560,    -1,  2562,  2563,    -1,
13604       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1115,  2573,    -1,
13605       -1,  2576,    -1,  2578,    -1,    -1,    -1,    -1,    -1,    -1,
13606       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3805,
13607       -1,    -1,    -1,  1011,  1584,  3089,    -1,    -1,    -1,  3815,
13608       -1,    -1,  2607,    -1,  2609,    -1,  2611,  1597,    -1,    -1,
13609     1797,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1609,
13610       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13611       -1,  1621,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2644,
13612     2645,  2646,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13613       -1,  3867,  3146,    -1,    -1,    -1,  3872,  2662,    -1,    -1,
13614       -1,    -1,  3878,    -1,    -1,    -1,    -1,  3161,    -1,  2674,
13615       -1,    -1,    -1,    -1,    -1,  1665,    -1,    -1,  1668,    -1,
13616       -1,    -1,    -1,    -1,  2689,    -1,    -1,    -1,    -1,  3183,
13617       -1,    -1,  3186,    -1,    -1,    -1,    -1,  1115,    -1,    -1,
13618       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13619       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3934,    -1,
13620       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13621       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13622       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2753,  3965,
13623       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13624       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3263,
13625     3986,  1319,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13626       -1,    -1,    -1,    -1,    -1,  4001,    -1,    -1,    -1,    -1,
13627       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13628       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1797,    -1,    -1,
13629       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13630       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2014,  4044,    -1,
13631       -1,  2018,  2019,    -1,    -1,    -1,  1384,    -1,    -1,    -1,
13632       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13633       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13634       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13635       -1,    -1,    -1,    -1,  1422,    -1,    -1,    -1,    -1,    -1,
13636       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13637       -1,    -1,    -1,    -1,    -1,  2082,    -1,    -1,    -1,    -1,
13638       -1,  1319,    -1,    -1,    -1,    -1,    -1,  2094,    -1,    -1,
13639       -1,    -1,    -1,    -1,    -1,  4131,    -1,  4133,    -1,    -1,
13640       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13641       -1,    -1,    -1,    -1,  3428,    -1,    -1,    -1,    -1,    -1,
13642       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2134,    -1,    -1,
13643       -1,    -1,    -1,    -1,    -1,  1503,    -1,    -1,    -1,    -1,
13644       -1,    -1,    -1,  4179,    -1,    -1,  1384,    -1,    -1,    -1,
13645     1518,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1526,    -1,
13646     3474,    -1,    -1,    -1,    -1,  3479,    -1,  3481,    -1,  1537,
13647       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13648       -1,    -1,    -1,    -1,  1422,    -1,    -1,    -1,    -1,    -1,
13649       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13650       -1,    -1,    -1,    -1,  2014,    -1,    -1,    -1,  2018,  2019,
13651       -1,    -1,    -1,    -1,    -1,    -1,  1584,    -1,    -1,  3533,
13652       -1,    -1,  3536,    -1,    -1,    -1,    -1,    -1,    -1,  1597,
13653       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13654       -1,  1609,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13655       -1,    -1,    -1,  1621,    -1,    -1,    -1,    -1,    -1,    -1,
13656       -1,    -1,    -1,    -1,    -1,  1503,    -1,  4303,    -1,    -1,
13657       -1,    -1,  2082,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13658     1518,    -1,    -1,    -1,  2094,    -1,  2293,    -1,  1526,    -1,
13659       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1665,    -1,  1537,
13660     1668,    -1,    -1,    -1,    -1,    -1,    -1,  3621,  3622,    -1,
13661       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13662     3634,    -1,  3636,    -1,  2134,    -1,    -1,    -1,    -1,    -1,
13663       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13664       -1,    -1,    -1,    -1,    -1,    -1,  1584,    -1,    -1,    -1,
13665       -1,    -1,    -1,    -1,    -1,    -1,  2363,    -1,    -1,  1597,
13666       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13667       -1,  1609,    -1,    -1,    -1,    -1,  4412,    -1,  3203,    -1,
13668       -1,    -1,    -1,  1621,    -1,    -1,    -1,  3212,    -1,    -1,
13669       -1,    -1,    -1,  3218,    -1,  3220,    -1,    -1,    -1,    -1,
13670       -1,    -1,    -1,    -1,  4440,    -1,    -1,    -1,    -1,    -1,
13671       -1,    -1,    -1,    -1,    -1,    -1,  3730,    -1,    -1,    -1,
13672       -1,    -1,  3247,  3248,    -1,    -1,    -1,  1665,    -1,  1797,
13673     1668,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13674     3265,    -1,  4478,    -1,    -1,    -1,    -1,    -1,  3273,    -1,
13675       -1,  3276,    -1,  3278,    -1,    -1,    -1,    -1,    -1,    -1,
13676       -1,    -1,  3287,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13677     3295,  3296,    -1,    -1,  2481,    -1,    -1,    -1,    -1,    -1,
13678       -1,    -1,    -1,  2293,    -1,    -1,    -1,    -1,    -1,    -1,
13679       -1,  2498,    -1,    -1,    -1,  4531,    -1,    -1,    -1,  4535,
13680     4536,  3326,  2509,    -1,    -1,    -1,    -1,  3332,  3333,  3334,
13681       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13682       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13683       -1,    -1,    -1,    -1,    -1,    -1,  3361,    -1,    -1,    -1,
13684       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3374,
13685       -1,    -1,    -1,  2363,    -1,    -1,    -1,    -1,    -1,  1797,
13686      612,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13687       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13688       -1,   633,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13689       -1,  4627,  4628,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13690       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13691       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13692       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13693       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3951,    -1,    -1,
13694       -1,    -1,  3956,    -1,    -1,    -1,  2014,    -1,    -1,    -1,
13695     2018,  2019,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13696       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3981,    -1,    -1,
13697       -1,  2481,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3993,
13698       -1,    -1,    -1,    -1,    -1,    -1,  4000,    -1,  2498,    -1,
13699       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2509,
13700     4014,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13701       -1,    -1,  2719,    -1,  2082,  2722,    -1,  2724,    -1,    -1,
13702       -1,    -1,  2729,    -1,    -1,    -1,  2094,    -1,    -1,    -1,
13703       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13704       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13705       -1,   612,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13706       -1,    -1,    -1,    -1,    -1,    -1,  2134,    -1,    -1,    -1,
13707       -1,    -1,   633,    -1,  2781,    -1,  2014,    -1,    -1,    -1,
13708     2018,  2019,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13709       -1,  2798,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13710       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13711       -1,    -1,    -1,    -1,    -1,    -1,  2823,    -1,    -1,    -1,
13712       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13713       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13714       -1,    -1,    -1,    -1,  2082,  4159,    -1,    -1,   900,    -1,
13715     3675,  3676,    -1,    -1,    -1,    -1,  2094,    -1,    -1,    -1,
13716       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   920,    -1,
13717       -1,    -1,    -1,    -1,    -1,    -1,   612,    -1,    -1,    -1,
13718       -1,    -1,   934,    -1,    -1,  2892,    -1,  2894,    -1,    -1,
13719       -1,    -1,    -1,    -1,    -1,    -1,  2134,   633,    -1,    -1,
13720       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2719,
13721       -1,    -1,  2722,    -1,  2724,    -1,    -1,    -1,    -1,  2729,
13722       -1,    -1,    -1,    -1,    -1,  2293,  3751,    -1,    -1,    -1,
13723       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3762,    -1,    -1,
13724       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2955,  4263,
13725       -1,  4265,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1011,
13726       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13727       -1,  2781,    -1,  2980,    -1,    -1,    -1,  3802,  3803,    -1,
13728       -1,    -1,    -1,    -1,  3809,  3810,    -1,    -1,  2798,  3814,
13729     4304,    -1,    -1,    -1,  3819,  2363,    -1,  3822,  3823,  3006,
13730       -1,    -1,  3827,    -1,    -1,    -1,  3013,    -1,  3833,    -1,
13731       -1,    -1,    -1,  2823,    -1,    -1,    -1,    -1,    -1,    -1,
13732       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13733       -1,    -1,    -1,    -1,    -1,    -1,  4350,    -1,    -1,   900,
13734       -1,    -1,  3867,    -1,    -1,    -1,    -1,  3872,    -1,    -1,
13735       -1,    -1,    -1,  3878,    -1,  2293,    -1,    -1,    -1,   920,
13736       -1,    -1,    -1,  1115,    -1,  3072,    -1,  3892,    -1,    -1,
13737       -1,    -1,    -1,   934,    -1,    -1,    -1,    -1,    -1,    -1,
13738       -1,    -1,  2892,  3090,  2894,    -1,    -1,    -1,    -1,    -1,
13739       -1,  3916,    -1,    -1,    -1,    -1,  3103,    -1,    -1,    -1,
13740       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13741       -1,    -1,    -1,  2481,    -1,    -1,    -1,    -1,    -1,    -1,
13742       -1,    -1,    -1,    -1,    -1,  2363,    -1,    -1,    -1,    -1,
13743     2498,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13744       -1,  2509,    -1,    -1,    -1,  2955,    -1,    -1,    -1,    -1,
13745     1011,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13746       -1,    -1,    -1,    -1,   900,    -1,    -1,    -1,    -1,    -1,
13747     2980,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4004,
13748       -1,    -1,    -1,    -1,   920,    -1,    -1,    -1,    -1,    -1,
13749       -1,    -1,    -1,    -1,    -1,    -1,  3006,    -1,   934,  3206,
13750       -1,    -1,    -1,  3013,    -1,    -1,    -1,    -1,    -1,    -1,
13751       -1,  4525,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13752     3227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13753       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13754       -1,  4066,  4556,  2481,    -1,  3252,    -1,    -1,    -1,    -1,
13755       -1,    -1,    -1,    -1,  1115,    -1,    -1,    -1,    -1,    -1,
13756     2498,    -1,  3072,    -1,    -1,    -1,    -1,  1319,    -1,    -1,
13757       -1,  2509,    -1,    -1,    -1,  1011,    -1,    -1,    -1,  3286,
13758     3090,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13759       -1,    -1,    -1,  3103,    -1,    -1,    -1,    -1,    -1,    -1,
13760       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13761       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13762       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13763       -1,    -1,  1384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13764       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13765       -1,  2719,    -1,    -1,  2722,    -1,  2724,    -1,    -1,    -1,
13766       -1,  2729,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13767     1422,    -1,    -1,  3380,    -1,    -1,  4201,  4202,    -1,  1115,
13768     4205,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13769       -1,    -1,    -1,    -1,    -1,    -1,  3206,    -1,    -1,    -1,
13770     4714,    -1,  4716,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13771       -1,    -1,    -1,  2781,    -1,  4240,  4241,  3227,    -1,    -1,
13772       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13773     2798,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13774       -1,    -1,  3252,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13775       -1,  1503,    -1,    -1,    -1,  2823,    -1,    -1,  1319,    -1,
13776       -1,    -1,    -1,    -1,    -1,    -1,  1518,    -1,    -1,    -1,
13777       -1,    -1,    -1,  3480,  1526,    -1,  3286,    -1,    -1,    -1,
13778       -1,  2719,    -1,    -1,  2722,  1537,  2724,    -1,    -1,    -1,
13779     4804,  2729,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13780       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13781       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13782       -1,    -1,    -1,  1384,  2892,    -1,  2894,    -1,    -1,    -1,
13783       -1,    -1,  1584,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13784       -1,    -1,    -1,  2781,    -1,  1597,    -1,    -1,    -1,    -1,
13785       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1609,    -1,    -1,
13786     2798,  1422,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1621,
13787     3380,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13788       -1,    -1,    -1,  1319,    -1,  2823,    -1,  2955,    -1,  4903,
13789       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13790       -1,    -1,    -1,  4917,    -1,    -1,    -1,    -1,    -1,    -1,
13791       -1,    -1,  2980,  1665,    -1,    -1,  1668,  4442,  3625,    -1,
13792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13793       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3006,    -1,
13794       -1,    -1,  1503,  4468,    -1,  3013,    -1,    -1,  1384,    -1,
13795       -1,    -1,    -1,    -1,  2892,    -1,  2894,  1518,  4483,    -1,
13796       -1,    -1,    -1,    -1,    -1,  1526,  4980,  3674,    -1,    -1,
13797     3480,    -1,    -1,    -1,    -1,    -1,  1537,  4502,    -1,    -1,
13798       -1,    -1,    -1,    -1,    -1,  4999,  1422,    -1,    -1,    -1,
13799       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13800       -1,    -1,    -1,    -1,  3072,    -1,    -1,    -1,    -1,    -1,
13801       -1,    -1,    -1,    -1,    -1,  4540,    -1,  2955,    -1,    -1,
13802       -1,    -1,  3090,  1584,    -1,    -1,    -1,    -1,    -1,    -1,
13803       -1,    -1,    -1,    -1,    -1,  3103,  1597,    -1,    -1,    -1,
13804       -1,    -1,  2980,    -1,    -1,  1797,    -1,    -1,  1609,    -1,
13805       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13806     1621,    -1,    -1,    -1,    -1,    -1,    -1,  1503,  3006,    -1,
13807       -1,    -1,    -1,    -1,    -1,  3013,    -1,    -1,    -1,    -1,
13808     4605,    -1,  1518,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13809     1526,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3805,    -1,
13810       -1,  1537,    -1,    -1,  1665,    -1,    -1,  1668,  3815,    -1,
13811       -1,    -1,    -1,    -1,    -1,  3625,    -1,    -1,    -1,    -1,
13812       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13813       -1,    -1,    -1,    -1,  3072,    -1,    -1,    -1,  3206,    -1,
13814       -1,    -1,    -1,    -1,  4669,    -1,    -1,    -1,  1584,    -1,
13815       -1,    -1,  3090,    -1,    -1,    -1,    -1,    -1,    -1,  3227,
13816       -1,  1597,    -1,    -1,  3674,  3103,    -1,    -1,  4693,    -1,
13817       -1,    -1,    -1,  1609,    -1,    -1,    -1,    -1,    -1,    -1,
13818       -1,    -1,    -1,    -1,  3252,  1621,    -1,    -1,    -1,    -1,
13819       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13820       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13821       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3286,    -1,
13822       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3934,    -1,  1665,
13823       -1,    -1,  1668,    -1,    -1,    -1,  1797,    -1,    -1,    -1,
13824       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13825       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3965,    -1,
13826     4785,  4786,  2014,    -1,    -1,    -1,  2018,  2019,  3206,    -1,
13827       -1,  4796,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3986,
13828       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3227,
13829       -1,    -1,    -1,    -1,  4001,  3805,    -1,    -1,    -1,    -1,
13830       -1,    -1,    -1,    -1,    -1,  3815,    -1,    -1,    -1,    -1,
13831       -1,    -1,  3380,    -1,  3252,    -1,    -1,    -1,    -1,    -1,
13832       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13833     2082,    -1,    -1,    -1,    -1,    -1,    -1,  4044,    -1,    -1,
13834       -1,    -1,  2094,    -1,    -1,    -1,    -1,  4872,  3286,    -1,
13835       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13836       -1,  1797,    -1,    -1,    -1,    -1,  4891,    -1,    -1,    -1,
13837       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13838       -1,    -1,  2134,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13839       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13841       -1,    -1,  3480,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13842       -1,    -1,    -1,    -1,  3934,    -1,  4133,    -1,    -1,    -1,
13843       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13844       -1,    -1,  3380,    -1,    -1,    -1,    -1,    -1,    -1,  4974,
13845     4975,    -1,    -1,  2014,    -1,  3965,    -1,  2018,  2019,    -1,
13846       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13847       -1,    -1,  4179,    -1,    -1,    -1,  3986,    -1,    -1,    -1,
13848       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13849       -1,  4001,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13850       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13851       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13852       -1,  2082,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13853       -1,    -1,    -1,  2094,  4044,    -1,    -1,    -1,    -1,    -1,
13854       -1,  2293,  3480,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13855       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3625,    -1,    -1,
13856       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13857       -1,    -1,    -1,  2134,    -1,    -1,    -1,    -1,  2014,    -1,
13858       -1,    -1,  2018,  2019,    -1,    -1,    -1,    -1,    -1,    -1,
13859       -1,    -1,    -1,    -1,    -1,    -1,  4303,    -1,    -1,    -1,
13860       -1,    -1,    -1,    -1,    -1,    -1,  3674,    -1,    -1,    -1,
13861       -1,  2363,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13862       -1,    -1,    -1,  4133,    -1,    -1,    -1,    -1,    -1,    -1,
13863       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13864       -1,    -1,    -1,    -1,    -1,    -1,  2082,    -1,    -1,    -1,
13865       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2094,    -1,
13866       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4179,
13867       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13868       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3625,    -1,    -1,
13869       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2134,    -1,
13870       -1,    -1,    -1,    -1,    -1,  4412,    -1,    -1,    -1,    -1,
13871       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13872       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2481,
13873       -1,    -1,  2293,  4440,    -1,    -1,  3674,  3805,    -1,    -1,
13874       -1,    -1,    -1,    -1,    -1,    -1,  2498,  3815,    -1,    -1,
13875       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2509,    -1,    -1,
13876       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13877       -1,  4478,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13878       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13879       -1,    -1,    -1,  4303,    -1,    -1,    -1,    -1,    -1,    -1,
13880       -1,    -1,  2363,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13881       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13882       -1,    -1,    -1,    -1,  4531,    -1,    -1,    -1,  4535,  4536,
13883       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13884       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13885       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2293,    -1,    -1,
13886       -1,    -1,    -1,    -1,    -1,    -1,  3934,  3805,    -1,    -1,
13887       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3815,    -1,    -1,
13888       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13889       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3965,    -1,    -1,
13890       -1,    -1,  4412,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13891       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3986,    -1,
13892     2481,  4628,    -1,    -1,    -1,    -1,    -1,  2363,    -1,    -1,
13893     4440,    -1,    -1,  4001,    -1,    -1,    -1,  2498,    -1,    -1,
13894     1220,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2509,    -1,
13895       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13896       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2719,  4478,    -1,
13897     2722,    -1,  2724,    -1,    -1,    -1,  4044,  2729,    -1,    -1,
13898       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13899       -1,    -1,    -1,    -1,    -1,    -1,  3934,    -1,    -1,    -1,
13900       -1,    -1,    -1,    -1,  1284,    -1,    -1,    -1,    -1,    -1,
13901       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13902       -1,  4531,    -1,    -1,    -1,  4535,  4536,  3965,    -1,  2781,
13903       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13904       -1,    -1,    -1,    -1,    -1,  2481,  2798,    -1,  3986,    -1,
13905       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13906       -1,    -1,  2498,  4001,    -1,  4133,    -1,    -1,    -1,    -1,
13907       -1,  2823,    -1,  2509,    -1,    -1,    -1,    -1,    -1,    -1,
13908       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13909       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13910       -1,    -1,    -1,    -1,    -1,    -1,  4044,    -1,    -1,    -1,
13911       -1,  4179,    -1,    -1,    -1,    -1,    -1,    -1,  4628,    -1,
13912       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13913       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13914     2892,    -1,  2894,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13915       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2719,    -1,
13916       -1,  2722,    -1,  2724,    -1,    -1,    -1,    -1,  2729,    -1,
13917       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13918       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13919       -1,    -1,    -1,    -1,    -1,  4133,    -1,    -1,    -1,    -1,
13920       -1,    -1,    -1,  2955,    -1,    -1,    -1,    -1,    -1,    -1,
13921       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13922     2781,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2980,    -1,
13923       -1,    -1,    -1,    -1,    -1,  4303,    -1,  2798,    -1,    -1,
13924       -1,  4179,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13925       -1,    -1,    -1,    -1,  3006,    -1,    -1,    -1,    -1,    -1,
13926       -1,  3013,  2823,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13927       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13928       -1,    -1,    -1,  2719,    -1,    -1,  2722,    -1,  2724,    -1,
13929       -1,    -1,    -1,  2729,    -1,    -1,    -1,    -1,    -1,    -1,
13930       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13931       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13932     3072,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13933       -1,  2892,    -1,  2894,    -1,    -1,    -1,    -1,  3090,    -1,
13934       -1,    -1,    -1,    -1,  4412,  2781,    -1,    -1,    -1,    -1,
13935       -1,  3103,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13936       -1,    -1,  2798,    -1,    -1,  4303,    -1,    -1,    -1,    -1,
13937       -1,    -1,  4440,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13938       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2823,    -1,    -1,
13939       -1,    -1,    -1,    -1,  2955,    -1,    -1,    -1,  1678,    -1,
13940       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13941     4478,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2980,
13942       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13943       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13944       -1,    -1,    -1,    -1,    -1,  3006,    -1,    -1,    -1,    -1,
13945       -1,    -1,  3013,    -1,  3206,    -1,  2892,    -1,  2894,    -1,
13946       -1,    -1,    -1,  4531,    -1,    -1,    -1,  4535,  4536,    -1,
13947       -1,    -1,    -1,  1753,  4412,  3227,    -1,    -1,    -1,    -1,
13948       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1767,    -1,    -1,
13949       -1,  1771,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13950     3252,    -1,  4440,    -1,    -1,  1785,  1786,  1787,    -1,  1789,
13951       -1,  3072,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2955,
13952       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3090,
13953       -1,    -1,    -1,    -1,  3286,    -1,    -1,    -1,    -1,    -1,
13954     4478,    -1,  3103,    -1,  2980,    -1,    -1,    -1,    -1,    -1,
13955       -1,  1831,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13956     4628,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13957     3006,    -1,    -1,    -1,    -1,    -1,    -1,  3013,    -1,    -1,
13958       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1868,    -1,
13959       -1,    -1,    -1,  4531,    -1,    -1,    -1,  4535,  4536,    -1,
13960       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13961       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13962       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3380,    -1,
13963       -1,    -1,    -1,    -1,    -1,    -1,  3072,    -1,    -1,    -1,
13964       -1,    -1,    -1,    -1,    -1,  3206,    -1,    -1,    -1,    -1,
13965       -1,    -1,    -1,    -1,  3090,    -1,    -1,    -1,    -1,    -1,
13966       -1,    -1,    -1,    -1,    -1,    -1,  3227,  3103,    -1,    -1,
13967       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13968       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13969     4628,  3252,    -1,  1973,    -1,    -1,    -1,    -1,    -1,    -1,
13970       -1,    -1,    -1,    -1,    -1,  1985,    -1,    -1,    -1,    -1,
13971     1990,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13972       -1,    -1,    -1,    -1,    -1,  3286,    -1,    -1,  3480,    -1,
13973       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13974       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13975       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13976       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13977     3206,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13978       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13979       -1,  3227,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13980       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13981       -1,    -1,    -1,    -1,    -1,    -1,  3252,    -1,    -1,  3380,
13982       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13983       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13984       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13985     3286,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13986       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13987       -1,    -1,    -1,  3625,    -1,    -1,    -1,    -1,    -1,    -1,
13988       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13989       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13990       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13991       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3480,
13992       -1,    -1,  3674,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13993       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13994       -1,    -1,    -1,    -1,  3380,    -1,    -1,    -1,    -1,    -1,
13995       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13996       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13997       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13998       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
13999       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14000       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14001       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14002       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14003       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14004       -1,    -1,    -1,    -1,  3480,    -1,    -1,    -1,    -1,    -1,
14005       -1,    -1,    -1,  3805,    -1,    -1,    -1,    -1,    -1,    -1,
14006       -1,    -1,    -1,  3815,  3625,    -1,    -1,    -1,    -1,    -1,
14007       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14008       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14009       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14010       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14011       -1,    -1,    -1,  3674,    -1,    -1,    -1,    -1,    -1,    -1,
14012       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14013       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14014       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14015       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14016       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14017       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14018       -1,    -1,  3934,    -1,    -1,    -1,    -1,    -1,    -1,  3625,
14019       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14020       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14021       -1,    -1,    -1,  3965,    -1,    -1,    -1,    -1,    -1,    -1,
14022       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14023       -1,    -1,    -1,    -1,  3986,    -1,    -1,    -1,  3674,    -1,
14024       -1,    -1,  2522,    -1,  3805,    -1,    -1,    -1,    -1,  4001,
14025       -1,    -1,    -1,    -1,  3815,    -1,    -1,    -1,    -1,    -1,
14026       -1,    -1,  2542,    -1,  2544,    -1,    -1,  2547,  2548,    -1,
14027     2550,    -1,  2552,    -1,    -1,    -1,  2556,    -1,    -1,  2559,
14028       -1,    -1,    -1,    -1,  2564,    -1,    -1,    -1,    -1,    -1,
14029     2570,    -1,  4044,    -1,    -1,  2575,    -1,    -1,    -1,    -1,
14030       -1,    -1,  2582,  2583,  2584,  2585,    -1,    -1,    -1,  2589,
14031     2590,    -1,  2592,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14032       -1,    -1,    -1,    -1,  2604,    -1,  2606,    -1,    -1,    -1,
14033       -1,    -1,    -1,  2613,  2614,  2615,  2616,  2617,  2618,  2619,
14034     2620,  2621,  2622,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14035       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14036       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3805,
14037     2650,    -1,    -1,  3934,    -1,    -1,    -1,    -1,    -1,  3815,
14038       -1,  4133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14039       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14040       -1,    -1,    -1,    -1,  3965,    -1,    -1,    -1,    -1,    -1,
14041       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14042       -1,    -1,    -1,    -1,    -1,  3986,    -1,  4179,    -1,    -1,
14043       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14044     4001,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14045       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14046       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14047       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14048       -1,    -1,    -1,  4044,    -1,    -1,    -1,    -1,  2768,    -1,
14049       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3934,    -1,
14050       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14051       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14052       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3965,
14053       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14054       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14055     3986,  4303,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14056       -1,    -1,    -1,    -1,    -1,  4001,    -1,    -1,    -1,    -1,
14057       -1,    -1,  4133,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14058       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14059       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14060       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4044,    -1,
14061       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4179,    -1,
14062       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14063       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14064       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14065       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14066     4412,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14067       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14068       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4440,    -1,
14069       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4133,    -1,    -1,
14070       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14071       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14072       -1,    -1,    -1,    -1,    -1,    -1,  4478,    -1,    -1,  3009,
14073       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14074       -1,    -1,  4303,  4179,    -1,    -1,    -1,    -1,    -1,    -1,
14075       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14076       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14077       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4531,
14078       -1,    -1,    -1,  4535,  4536,    -1,    -1,    -1,    -1,    -1,
14079       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14080       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14081       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14082       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14083       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14084       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14085       -1,  4412,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14086       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4303,    -1,  3149,
14087       -1,    -1,    -1,    -1,    -1,    -1,  4628,    -1,    -1,  4440,
14088       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14089       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14090       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14091       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4478,    -1,    -1,
14092       -1,    -1,  3202,    -1,    -1,    -1,    -1,    -1,  3208,    -1,
14093       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14094       -1,    -1,    -1,    -1,  3224,  3225,    -1,    -1,  3228,  3229,
14095     3230,  3231,    -1,    -1,  3234,  3235,  3236,  3237,  3238,  3239,
14096     3240,  3241,  3242,  3243,  3244,    -1,    -1,    -1,    -1,    -1,
14097     4531,    -1,    -1,    -1,  4535,  4536,  4412,    -1,    -1,    -1,
14098       -1,    -1,    -1,    -1,    -1,    -1,  3266,    -1,    -1,  3269,
14099       -1,  3271,    -1,    -1,  3274,  3275,    -1,    -1,    -1,    -1,
14100       -1,    -1,    -1,    -1,  4440,    -1,    -1,    -1,    -1,  3289,
14101     3290,  3291,  3292,    -1,  3294,    -1,    -1,    -1,    -1,    -1,
14102       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14103       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14104       -1,    -1,  4478,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14105       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14106       -1,    -1,  3342,    -1,    -1,    -1,    -1,  4628,    -1,    -1,
14107       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14108       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14109       -1,    -1,    -1,    -1,    -1,  4531,    -1,    -1,    -1,  4535,
14110     4536,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14111       -1,    -1,  3392,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14112       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14113       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14114       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14115       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14116       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14117       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14118       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14119       -1,    -1,  4628,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14120       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14121       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14122       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14123       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14124       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14125       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14126       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14127       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14128       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14129       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14130       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14131       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3598,    -1,
14132       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14133       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14134       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14135       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14136       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14137       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14138       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14139       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14140       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14141       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14142       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14143       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14144       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14145       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14146       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14147       -1,    -1,  3752,    -1,    -1,    -1,  3756,  3757,  3758,    -1,
14148       -1,    -1,    -1,    -1,  3764,  3765,  3766,  3767,    -1,    -1,
14149       -1,    -1,  3772,  3773,  3774,  3775,  3776,  3777,  3778,  3779,
14150     3780,  3781,  3782,  3783,    -1,    -1,    -1,    -1,    -1,    -1,
14151       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14152       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3808,    -1,
14153       -1,  3811,    -1,  3813,    -1,    -1,    -1,  3817,    -1,    -1,
14154     3820,  3821,    -1,    -1,  3824,  3825,    -1,    -1,    -1,    -1,
14155       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14156       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14157       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14158       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3869,
14159       -1,    -1,    -1,    -1,    -1,    -1,  3876,  3877,    -1,    -1,
14160       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14161       -1,  3891,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14162       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14163       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14166       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14167       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14168       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14169       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14170       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14171       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14172       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14173       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14174       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14175       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14176       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14177       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14178       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4069,
14179       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14180       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14181       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14182       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14183       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14184       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4128,  4129,
14185       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14186       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14187       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14188       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4169,
14189       -1,    -1,    -1,    -1,  4174,  4175,    -1,    -1,    -1,    -1,
14190       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4189,
14191       -1,  4191,    -1,    -1,    -1,  4195,  4196,  4197,    -1,    -1,
14192     4200,    -1,    -1,  4203,  4204,    -1,    -1,    -1,  4208,    -1,
14193       -1,    -1,  4212,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14194       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14195       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14196       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14197       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14198       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4267,    -1,    -1,
14199       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14200       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14201       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14202       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14203       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14204       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4327,    -1,    -1,
14205       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14206       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14207       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14208       -1,  4361,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14209       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14210       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14211       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14212       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14213       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14214       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14215       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4438,  4439,
14216       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14217       -1,    -1,    -1,    -1,  4454,  4455,  4456,    -1,    -1,    -1,
14218       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14219       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14220       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14221     4490,  4491,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14222       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14223       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14224       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14225       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14226       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14227       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14228       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14229       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14230       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14231       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14232       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14233       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14234       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14235       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14236     4640,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14237       -1,    -1,    -1,    -1,    -1,    -1,  4656,    -1,    -1,    -1,
14238       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14239       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14240       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14241       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14242       -1,    -1,    -1,    -1,    -1,  4705,    -1,    -1,    -1,    -1,
14243       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14244       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14245       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14246       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14247       -1,    -1,    -1,    -1,    -1,    -1,  4756,    -1,    -1,    -1,
14248       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14249       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14250       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14251       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14252       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14253       -1,    -1,    -1,    -1,  4814,    -1,    -1,    -1,    -1,    -1,
14254       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14255       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14256       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14257       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14258       -1,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
14259       -1,    -1,    -1,    -1,    -1,  4875,    18,    19,    20,    21,
14260       22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
14261       -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,
14262       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
14263       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
14264       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    71,
14265       -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
14266       82,    83,    84,    85,    86,    87,  4946,    89,    90,    91,
14267       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
14268      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
14269      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
14270      122,    -1,   124,   125,   126,   127,   128,  4987,   130,   131,
14271      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
14272      142,   143,   144,   145,   146,   147,   148,    -1,   150,   151,
14273      152,   153,    -1,   155,    -1,   157,   158,    -1,   160,   161,
14274      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
14275      172,   173,   174,   175,   176,   177,   178,   179,   180,    -1,
14276      182,   183,   184,   185,   186,   187,    -1,   189,   190,   191,
14277      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
14278      202,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
14279       -1,   213,   214,   215,   216,   217,    -1,   219,   220,   221,
14280      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
14281      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
14282      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
14283      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
14284      262,   263,   264,    -1,    -1,   267,   268,   269,   270,   271,
14285      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
14286      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
14287      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
14288      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
14289      312,   313,   314,   315,    -1,   317,   318,   319,   320,   321,
14290      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
14291       -1,   333,   334,   335,   336,   337,   338,   339,   340,   341,
14292      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
14293      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
14294       -1,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
14295      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
14296      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
14297      392,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
14298      402,   403,   404,   405,   406,   407,   408,   409,   410,   411,
14299      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
14300      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
14301      432,   433,   434,   435,   436,   437,    -1,    -1,    -1,    -1,
14302       -1,    -1,   444,   445,   446,    -1,    -1,    -1,    -1,    -1,
14303       -1,   453,   454,     3,     4,     5,     6,     7,     8,     9,
14304       10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
14305       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
14306       -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,
14307       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
14308       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
14309       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
14310       -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
14311       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
14312       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
14313      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
14314      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
14315      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
14316      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
14317      140,   141,   142,   143,   144,   145,   146,   147,   148,    -1,
14318      150,   151,   152,   153,    -1,   155,    -1,   157,   158,    -1,
14319      160,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
14320       -1,   171,   172,   173,   174,   175,   176,   177,   178,   179,
14321      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
14322      190,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
14323       -1,   201,   202,   203,   204,   205,   206,   207,   208,   209,
14324      210,    -1,    -1,   213,   214,   215,   216,   217,    -1,   219,
14325      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
14326      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
14327      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
14328      250,   251,   252,   253,   254,   255,   256,   257,    -1,   259,
14329       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,   269,
14330      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
14331      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
14332       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
14333      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
14334      310,   311,   312,   313,   314,   315,    -1,   317,   318,   319,
14335      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
14336      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
14337      340,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
14338      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
14339      360,   361,    -1,   363,   364,   365,   366,   367,   368,   369,
14340      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
14341      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
14342      390,    -1,   392,   393,   394,   395,   396,   397,   398,    -1,
14343      400,   401,   402,   403,   404,   405,   406,    -1,   408,   409,
14344      410,   411,   412,   413,    -1,    -1,   416,    -1,   418,   419,
14345      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
14346      430,   431,   432,   433,   434,   435,   436,   437,    -1,   439,
14347       -1,    -1,    -1,    -1,   444,   445,    -1,    -1,    -1,    -1,
14348       -1,    -1,    -1,   453,   454,     3,     4,     5,     6,     7,
14349        8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14350       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
14351       28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,
14352       38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
14353       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
14354       58,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
14355       68,    69,    -1,    71,    -1,    73,    74,    75,    76,    77,
14356       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
14357       -1,    89,    90,    91,    92,    93,    94,    95,    96,    97,
14358       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
14359      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
14360       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
14361      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
14362      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
14363      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
14364      158,    -1,   160,   161,   162,   163,    -1,   165,   166,    -1,
14365      168,   169,    -1,   171,   172,   173,   174,   175,   176,   177,
14366      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
14367       -1,   189,   190,   191,   192,   193,   194,   195,   196,   197,
14368       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
14369      208,   209,   210,    -1,    -1,   213,   214,   215,   216,   217,
14370       -1,   219,   220,   221,   222,   223,   224,   225,   226,   227,
14371      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
14372      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
14373      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
14374       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
14375      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
14376      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
14377      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
14378      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
14379      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
14380      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
14381      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
14382      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
14383      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
14384      358,   359,   360,   361,    -1,   363,   364,    -1,   366,   367,
14385      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
14386      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
14387      388,   389,   390,    -1,   392,   393,   394,   395,   396,   397,
14388      398,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
14389      408,   409,   410,   411,   412,   413,    -1,    -1,   416,    -1,
14390       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
14391      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
14392       -1,    -1,    -1,    -1,    -1,    -1,   444,   445,    -1,    -1,
14393       -1,    -1,    -1,    -1,    -1,   453,   454,     3,     4,     5,
14394        6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,
14395       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
14396       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,
14397       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
14398       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
14399       56,    57,    58,    59,    60,    61,    62,    63,    -1,    65,
14400       66,    67,    68,    69,    -1,    71,    -1,    73,    74,    75,
14401       76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
14402       86,    87,    -1,    89,    90,    91,    92,    93,    94,    95,
14403       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
14404      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
14405      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
14406      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
14407      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
14408      146,   147,   148,    -1,   150,   151,   152,   153,    -1,   155,
14409       -1,   157,   158,    -1,   160,   161,   162,   163,    -1,   165,
14410      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
14411      176,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
14412      186,   187,    -1,   189,   190,   191,   192,   193,   194,   195,
14413      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
14414      206,   207,   208,   209,   210,    -1,    -1,   213,   214,   215,
14415      216,   217,    -1,   219,   220,   221,   222,   223,   224,   225,
14416      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
14417      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
14418      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
14419      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
14420       -1,   267,   268,   269,   270,   271,   272,   273,   274,   275,
14421      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
14422      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
14423      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
14424      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
14425       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
14426      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
14427      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
14428      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
14429      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
14430      366,   367,   368,   369,   370,   371,   372,    -1,   374,   375,
14431       -1,    -1,   378,   379,   380,   381,   382,   383,   384,   385,
14432      386,   387,   388,   389,   390,    -1,   392,   393,   394,   395,
14433      396,   397,   398,    -1,   400,   401,   402,   403,   404,   405,
14434      406,    -1,   408,   409,   410,   411,   412,   413,    -1,    -1,
14435      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
14436      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
14437      436,   437,    -1,    -1,    -1,    -1,    -1,    -1,   444,   445,
14438       -1,    -1,    -1,    -1,    -1,    -1,    -1,   453,   454,     3,
14439        4,     5,     6,     7,     8,     9,    10,    -1,    -1,    -1,
14440       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
14441       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
14442       34,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
14443       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
14444       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
14445       -1,    65,    66,    67,    68,    69,    -1,    71,    -1,    73,
14446       74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
14447       84,    85,    86,    87,    -1,    89,    90,    91,    92,    93,
14448       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
14449      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
14450      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
14451      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
14452      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
14453      144,   145,   146,   147,   148,    -1,   150,   151,   152,   153,
14454       -1,   155,    -1,   157,   158,    -1,   160,   161,   162,   163,
14455       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
14456      174,   175,   176,   177,   178,   179,   180,    -1,   182,   183,
14457      184,   185,   186,   187,    -1,   189,   190,   191,   192,   193,
14458      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
14459      204,   205,   206,   207,   208,   209,   210,    -1,    -1,   213,
14460      214,   215,   216,   217,    -1,   219,   220,   221,   222,   223,
14461      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
14462      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
14463      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
14464      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
14465      264,    -1,    -1,   267,   268,   269,   270,   271,   272,   273,
14466      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
14467      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
14468      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
14469       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
14470      314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
14471      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
14472      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
14473      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
14474      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
14475      364,    -1,   366,   367,   368,   369,   370,   371,   372,    -1,
14476      374,   375,    -1,    -1,   378,   379,   380,   381,   382,   383,
14477      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
14478      394,   395,   396,   397,   398,    -1,   400,   401,   402,   403,
14479      404,   405,   406,    -1,   408,   409,   410,   411,   412,   413,
14480       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
14481      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
14482      434,   435,   436,   437,    -1,    -1,     3,    -1,    -1,    -1,
14483      444,   445,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   453,
14484      454,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
14485       27,    28,    29,    -1,    -1,    -1,    -1,    -1,    35,    -1,
14486       37,    38,    -1,    40,    41,    -1,    43,    44,    45,    46,
14487       47,    -1,    49,    50,    -1,    52,    53,    54,    55,    56,
14488       -1,    -1,    59,    60,    61,    62,    63,    -1,    65,    66,
14489       67,    68,    69,    -1,    -1,    -1,    73,    74,    75,    76,
14490       -1,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
14491       87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,    -1,
14492       -1,    -1,    -1,   100,   101,   102,   103,   104,   105,   106,
14493      107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
14494      117,    -1,   119,   120,   121,    -1,    -1,   124,   125,   126,
14495      127,   128,    -1,   130,   131,   132,    -1,   134,   135,   136,
14496       -1,   138,   139,   140,   141,   142,   143,   144,   145,   146,
14497       -1,   148,    -1,   150,   151,   152,   153,    -1,   155,    -1,
14498      157,    -1,    -1,   160,   161,   162,   163,    -1,   165,   166,
14499       -1,   168,   169,    -1,   171,   172,   173,   174,   175,    -1,
14500      177,   178,   179,   180,    -1,   182,   183,   184,   185,   186,
14501      187,    -1,   189,   190,   191,   192,   193,   194,   195,   196,
14502      197,    -1,   199,    -1,   201,    -1,    -1,   204,   205,   206,
14503      207,   208,   209,   210,    -1,    -1,   213,   214,   215,   216,
14504       -1,    -1,   219,   220,   221,    -1,    -1,   224,   225,   226,
14505      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
14506      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
14507      247,   248,    -1,   250,    -1,   252,   253,   254,   255,   256,
14508      257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,
14509      267,   268,    -1,   270,    -1,   272,   273,   274,   275,   276,
14510      277,   278,   279,   280,    -1,   282,   283,   284,   285,   286,
14511      287,   288,   289,    -1,   291,   292,   293,   294,   295,   296,
14512      297,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
14513      307,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
14514      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
14515      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
14516      337,    -1,   339,   340,   341,   342,   343,    -1,   345,   346,
14517      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
14518      357,   358,   359,   360,   361,    -1,   363,   364,    -1,   366,
14519       -1,   368,   369,   370,   371,   372,    -1,   374,   375,    -1,
14520       -1,   378,   379,   380,   381,   382,    -1,   384,   385,   386,
14521      387,   388,   389,   390,    -1,    -1,   393,   394,   395,   396,
14522      397,    -1,    -1,   400,   401,   402,   403,   404,   405,   406,
14523       -1,   408,    -1,   410,   411,   412,   413,    -1,    -1,   416,
14524       -1,    -1,   419,   420,   421,   422,   423,   424,   425,   426,
14525      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
14526       -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,
14527       -1,    -1,    -1,    -1,    -1,    -1,    -1,   454,    18,    19,
14528       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
14529       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
14530       40,    41,    42,    43,    44,    45,    -1,    47,    48,    49,
14531       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
14532       60,    61,    62,    63,    -1,    65,    66,    67,    68,    -1,
14533       -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
14534       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
14535       90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,    -1,
14536      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
14537      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
14538      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
14539      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
14540      140,   141,    -1,   143,   144,   145,    -1,    -1,   148,    -1,
14541      150,   151,   152,   153,    -1,   155,    -1,   157,   158,    -1,
14542      160,   161,   162,   163,    -1,   165,    -1,    -1,    -1,   169,
14543       -1,   171,   172,   173,   174,   175,   176,   177,   178,   179,
14544      180,   181,   182,   183,   184,   185,   186,   187,    -1,   189,
14545      190,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
14546       -1,   201,   202,   203,   204,   205,   206,   207,   208,   209,
14547      210,    -1,    -1,   213,    -1,   215,   216,   217,    -1,   219,
14548      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
14549      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
14550      240,   241,   242,   243,   244,    -1,    -1,   247,   248,   249,
14551      250,    -1,    -1,   253,   254,   255,   256,   257,    -1,   259,
14552       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,   269,
14553      270,   271,    -1,   273,   274,   275,   276,   277,   278,   279,
14554      280,    -1,   282,   283,    -1,   285,    -1,   287,   288,   289,
14555       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
14556      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
14557      310,   311,   312,   313,   314,   315,    -1,   317,   318,   319,
14558      320,   321,   322,    -1,   324,   325,   326,   327,   328,   329,
14559      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
14560      340,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
14561      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
14562      360,    -1,    -1,   363,   364,    -1,   366,   367,   368,   369,
14563      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
14564       -1,   381,    -1,    -1,   384,   385,   386,   387,   388,   389,
14565      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
14566      400,   401,   402,   403,   404,    -1,   406,   407,   408,   409,
14567      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
14568      420,   421,   422,   423,   424,     3,    -1,    -1,    -1,    -1,
14569       -1,    -1,    -1,    -1,   434,   435,   436,    -1,    -1,    -1,
14570       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
14571       28,    29,    -1,    -1,   454,    -1,    -1,    -1,    -1,    37,
14572       38,    -1,    40,    41,    42,    43,    44,    45,    -1,    47,
14573       48,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
14574       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
14575       68,    -1,    -1,    71,    -1,    73,    74,    75,    76,    77,
14576       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
14577       -1,    89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,
14578       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
14579      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
14580       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
14581      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
14582      138,   139,   140,   141,    -1,   143,   144,   145,    -1,    -1,
14583      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
14584      158,    -1,   160,   161,   162,   163,    -1,   165,    -1,    -1,
14585       -1,   169,    -1,   171,   172,   173,   174,   175,   176,   177,
14586      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
14587       -1,   189,   190,   191,   192,   193,   194,   195,   196,   197,
14588       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
14589      208,   209,   210,    -1,    -1,   213,    -1,   215,   216,   217,
14590       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
14591      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
14592      238,   239,   240,   241,   242,   243,   244,    -1,    -1,   247,
14593      248,   249,   250,    -1,    -1,   253,   254,   255,   256,   257,
14594       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
14595      268,   269,   270,   271,    -1,   273,   274,   275,   276,   277,
14596      278,   279,   280,    -1,   282,   283,    -1,   285,    -1,   287,
14597      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
14598      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
14599      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
14600      318,   319,   320,   321,   322,    -1,   324,   325,   326,   327,
14601      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
14602       -1,   339,   340,   341,   342,   343,   344,   345,   346,   347,
14603      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
14604      358,   359,   360,    -1,    -1,   363,   364,    -1,   366,   367,
14605      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
14606      378,   379,    -1,   381,    -1,    -1,   384,   385,   386,   387,
14607      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
14608       -1,    -1,   400,   401,   402,   403,   404,    -1,   406,   407,
14609      408,   409,   410,   411,   412,   413,    -1,    -1,   416,    -1,
14610       -1,   419,   420,   421,   422,   423,   424,     3,     4,     5,
14611        6,     7,     8,     9,    10,    -1,   434,   435,   436,    -1,
14612       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
14613       -1,    27,    28,    29,    -1,    -1,   454,    -1,    34,    -1,
14614       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
14615       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
14616       56,    57,    58,    59,    60,    61,    62,    63,    -1,    65,
14617       66,    67,    68,    69,    -1,    71,    -1,    73,    74,    75,
14618       76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
14619       86,    87,    -1,    89,    90,    91,    92,    93,    94,    95,
14620       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
14621      106,   107,   108,   109,   110,    -1,   112,   113,   114,   115,
14622      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
14623      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
14624      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
14625      146,   147,   148,    -1,   150,   151,   152,   153,    -1,   155,
14626       -1,   157,   158,    -1,   160,   161,   162,   163,    -1,   165,
14627      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
14628      176,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
14629      186,   187,    -1,   189,   190,   191,   192,   193,   194,   195,
14630      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
14631      206,   207,   208,   209,   210,    -1,    -1,   213,   214,   215,
14632      216,   217,    -1,   219,   220,   221,   222,   223,   224,   225,
14633      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
14634      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
14635      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
14636      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
14637       -1,   267,   268,   269,   270,   271,   272,   273,   274,   275,
14638      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
14639      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
14640      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
14641      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
14642       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
14643      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
14644      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
14645      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
14646      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
14647      366,   367,   368,   369,   370,   371,   372,    -1,   374,   375,
14648       -1,    -1,   378,   379,   380,   381,   382,   383,   384,   385,
14649      386,   387,   388,   389,   390,    -1,   392,   393,   394,   395,
14650      396,   397,   398,    -1,   400,   401,   402,   403,   404,   405,
14651      406,    -1,   408,   409,   410,   411,   412,   413,    -1,    -1,
14652      416,    -1,   418,   419,   420,   421,   422,   423,   424,   425,
14653      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
14654      436,   437,    -1,   439,    -1,    -1,    -1,    -1,   444,   445,
14655       -1,    -1,    -1,    -1,    -1,    -1,    -1,   453,     3,     4,
14656        5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
14657       -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
14658       25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,
14659       -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
14660       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
14661       55,    56,    57,    58,    59,    60,    61,    62,    63,    -1,
14662       65,    66,    67,    68,    69,    -1,    71,    -1,    73,    74,
14663       75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
14664       85,    86,    87,    -1,    89,    90,    91,    92,    93,    94,
14665       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
14666      105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
14667      115,   116,   117,    -1,   119,   120,   121,    -1,    -1,   124,
14668      125,   126,   127,   128,    -1,   130,   131,   132,    -1,   134,
14669      135,   136,    -1,   138,   139,   140,   141,   142,   143,   144,
14670      145,   146,   147,   148,    -1,   150,   151,   152,   153,    -1,
14671      155,    -1,   157,   158,    -1,   160,   161,   162,   163,    -1,
14672      165,   166,    -1,   168,   169,    -1,   171,   172,   173,   174,
14673      175,   176,   177,   178,   179,   180,    -1,   182,   183,   184,
14674      185,   186,   187,    -1,   189,   190,   191,   192,   193,   194,
14675      195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
14676      205,   206,   207,   208,   209,   210,    -1,    -1,   213,   214,
14677      215,   216,   217,    -1,   219,   220,   221,   222,   223,   224,
14678      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
14679      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
14680      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
14681      255,   256,   257,    -1,   259,    -1,    -1,   262,   263,   264,
14682       -1,    -1,   267,   268,   269,   270,   271,   272,   273,   274,
14683      275,   276,   277,   278,   279,   280,    -1,   282,   283,   284,
14684      285,   286,   287,   288,   289,    -1,   291,   292,   293,   294,
14685      295,   296,   297,   298,   299,   300,   301,   302,   303,    -1,
14686      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
14687      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
14688      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
14689      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
14690      345,   346,   347,   348,    -1,   350,   351,   352,   353,   354,
14691      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
14692      365,   366,   367,   368,   369,   370,   371,   372,    -1,   374,
14693      375,    -1,    -1,   378,   379,   380,   381,   382,   383,   384,
14694      385,   386,   387,   388,   389,   390,    -1,   392,   393,   394,
14695      395,   396,   397,   398,    -1,   400,   401,   402,   403,   404,
14696      405,   406,    -1,   408,   409,   410,   411,   412,   413,    -1,
14697       -1,   416,    -1,   418,   419,   420,   421,   422,   423,   424,
14698      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
14699      435,   436,   437,    -1,   439,    -1,    -1,    -1,    -1,   444,
14700      445,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   453,     3,
14701        4,     5,     6,     7,     8,     9,    10,    -1,    -1,    -1,
14702       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
14703       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
14704       34,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
14705       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
14706       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
14707       -1,    65,    66,    67,    68,    69,    -1,    71,    -1,    73,
14708       74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
14709       84,    85,    86,    87,    -1,    89,    90,    91,    92,    93,
14710       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
14711      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
14712      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
14713      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
14714      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
14715      144,   145,   146,   147,   148,    -1,   150,   151,   152,   153,
14716       -1,   155,    -1,   157,   158,   159,   160,   161,   162,   163,
14717       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
14718      174,   175,   176,   177,   178,   179,   180,    -1,   182,   183,
14719      184,   185,   186,   187,    -1,   189,   190,   191,   192,   193,
14720      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
14721      204,   205,   206,   207,   208,   209,   210,    -1,   212,   213,
14722      214,   215,   216,   217,    -1,   219,   220,   221,   222,   223,
14723      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
14724      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
14725      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
14726      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
14727      264,    -1,    -1,   267,   268,   269,   270,   271,   272,   273,
14728      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
14729      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
14730      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
14731       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
14732      314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
14733      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
14734      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
14735      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
14736      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
14737      364,    -1,   366,   367,   368,   369,   370,   371,   372,    -1,
14738      374,   375,    -1,   377,   378,   379,   380,   381,   382,   383,
14739      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
14740      394,   395,   396,   397,   398,    -1,   400,   401,   402,   403,
14741      404,   405,   406,    -1,   408,   409,   410,   411,   412,   413,
14742       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
14743      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
14744      434,   435,   436,   437,    -1,    -1,    -1,    -1,    -1,    -1,
14745      444,   445,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   453,
14746        3,     4,     5,     6,     7,     8,     9,    10,    -1,    -1,
14747       -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
14748       23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
14749       -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,    42,
14750       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
14751       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
14752       63,    -1,    65,    66,    67,    68,    69,    -1,    71,    -1,
14753       73,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
14754       83,    84,    85,    86,    87,    -1,    89,    90,    91,    92,
14755       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
14756      103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
14757      113,   114,   115,   116,   117,    -1,   119,   120,   121,    -1,
14758       -1,   124,   125,   126,   127,   128,    -1,   130,   131,   132,
14759       -1,   134,   135,   136,    -1,   138,   139,   140,   141,   142,
14760      143,   144,   145,   146,   147,   148,    -1,   150,   151,   152,
14761      153,    -1,   155,    -1,   157,   158,    -1,   160,   161,   162,
14762      163,    -1,   165,   166,    -1,   168,   169,    -1,   171,   172,
14763      173,   174,   175,   176,   177,   178,   179,   180,    -1,   182,
14764      183,   184,   185,   186,   187,    -1,   189,   190,   191,   192,
14765      193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
14766      203,   204,   205,   206,   207,   208,   209,   210,    -1,    -1,
14767      213,   214,   215,   216,   217,    -1,   219,   220,   221,   222,
14768      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
14769      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
14770      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
14771      253,   254,   255,   256,   257,    -1,   259,    -1,    -1,   262,
14772      263,   264,    -1,    -1,   267,   268,   269,   270,   271,   272,
14773      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
14774      283,   284,   285,   286,   287,   288,   289,    -1,   291,   292,
14775      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
14776      303,    -1,   305,   306,   307,   308,   309,   310,   311,   312,
14777      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
14778      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
14779      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
14780      343,   344,   345,   346,   347,   348,    -1,   350,   351,   352,
14781      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
14782      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
14783       -1,   374,   375,    -1,    -1,   378,   379,   380,   381,   382,
14784      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
14785      393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
14786      403,   404,   405,   406,    -1,   408,   409,   410,   411,   412,
14787      413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,
14788      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
14789      433,   434,   435,   436,   437,    -1,    -1,    -1,    -1,    -1,
14790       -1,   444,   445,    -1,    -1,    -1,    -1,    -1,   451,   452,
14791      453,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
14792       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
14793       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
14794       -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,
14795       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
14796       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
14797       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    71,
14798       -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
14799       82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
14800       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
14801      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
14802      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
14803       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
14804      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
14805      142,   143,   144,   145,   146,   147,   148,    -1,   150,   151,
14806      152,   153,    -1,   155,    -1,   157,   158,    -1,   160,   161,
14807      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
14808      172,   173,   174,   175,   176,   177,   178,   179,   180,    -1,
14809      182,   183,   184,   185,   186,   187,    -1,   189,   190,   191,
14810      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
14811      202,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
14812       -1,   213,   214,   215,   216,   217,    -1,   219,   220,   221,
14813      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
14814      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
14815      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
14816      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
14817      262,   263,   264,    -1,    -1,   267,   268,   269,   270,   271,
14818      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
14819      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
14820      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
14821      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
14822      312,   313,   314,   315,    -1,   317,   318,   319,   320,   321,
14823      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
14824       -1,   333,   334,   335,   336,   337,   338,   339,   340,   341,
14825      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
14826      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
14827       -1,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
14828      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
14829      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
14830      392,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
14831      402,   403,   404,   405,   406,    -1,   408,   409,   410,   411,
14832      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
14833      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
14834      432,   433,   434,   435,   436,   437,    -1,    -1,    -1,    -1,
14835       -1,    -1,   444,   445,   446,    -1,    -1,    -1,    -1,    -1,
14836       -1,   453,     3,     4,     5,     6,     7,     8,     9,    10,
14837       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
14838       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
14839       -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,
14840       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
14841       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
14842       61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
14843       71,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
14844       -1,    82,    83,    84,    85,    86,    87,    -1,    89,    90,
14845       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
14846      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
14847       -1,   112,   113,   114,   115,   116,   117,    -1,   119,   120,
14848      121,    -1,    -1,   124,   125,   126,   127,   128,    -1,   130,
14849      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
14850      141,   142,   143,   144,   145,   146,   147,   148,    -1,   150,
14851      151,   152,   153,    -1,   155,    -1,   157,   158,    -1,   160,
14852      161,   162,   163,    -1,   165,   166,    -1,   168,   169,    -1,
14853      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
14854       -1,   182,   183,   184,   185,   186,   187,    -1,   189,   190,
14855      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
14856      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
14857       -1,    -1,   213,   214,   215,   216,   217,    -1,   219,   220,
14858      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
14859      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
14860      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
14861      251,   252,   253,   254,   255,   256,   257,    -1,   259,    -1,
14862       -1,   262,   263,   264,    -1,    -1,   267,   268,   269,   270,
14863      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
14864       -1,   282,   283,   284,   285,   286,   287,   288,   289,    -1,
14865      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
14866      301,   302,   303,    -1,   305,   306,   307,   308,   309,   310,
14867      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
14868      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
14869      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
14870      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
14871      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
14872      361,    -1,   363,   364,    -1,   366,   367,   368,   369,   370,
14873      371,   372,    -1,   374,   375,    -1,    -1,   378,   379,   380,
14874      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
14875       -1,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
14876      401,   402,   403,   404,   405,   406,    -1,   408,   409,   410,
14877      411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,
14878      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
14879      431,   432,   433,   434,   435,   436,   437,    -1,    -1,    -1,
14880       -1,    -1,    -1,   444,   445,    -1,    -1,    -1,    -1,    -1,
14881       -1,    -1,   453,     3,     4,     5,     6,     7,     8,     9,
14882       10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
14883       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
14884       -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,
14885       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
14886       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
14887       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
14888       -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
14889       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
14890       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
14891      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
14892      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
14893      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
14894      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
14895      140,   141,   142,   143,   144,   145,   146,   147,   148,    -1,
14896      150,   151,   152,   153,    -1,   155,    -1,   157,   158,    -1,
14897      160,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
14898       -1,   171,   172,   173,   174,   175,   176,   177,   178,   179,
14899      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
14900      190,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
14901       -1,   201,   202,   203,   204,   205,   206,   207,   208,   209,
14902      210,    -1,    -1,   213,   214,   215,   216,   217,    -1,   219,
14903      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
14904      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
14905      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
14906      250,   251,   252,   253,   254,   255,   256,   257,    -1,   259,
14907       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,   269,
14908      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
14909      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
14910       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
14911      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
14912      310,   311,   312,   313,   314,   315,    -1,   317,   318,   319,
14913      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
14914      330,   331,    -1,   333,   334,   335,   336,   337,   338,   339,
14915      340,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
14916      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
14917      360,   361,    -1,   363,   364,    -1,   366,   367,   368,   369,
14918      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
14919      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
14920      390,    -1,   392,   393,   394,   395,   396,   397,   398,    -1,
14921      400,   401,   402,   403,   404,   405,   406,    -1,   408,   409,
14922      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
14923      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
14924      430,   431,   432,   433,   434,   435,   436,   437,    -1,    -1,
14925       -1,    -1,    -1,    -1,   444,   445,    -1,    -1,    -1,    -1,
14926       -1,    -1,    -1,   453,     3,     4,     5,     6,     7,     8,
14927        9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
14928       19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
14929       29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
14930       -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
14931       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
14932       59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
14933       69,    -1,    71,    -1,    73,    74,    75,    76,    77,    78,
14934       79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
14935       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
14936       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
14937       -1,   110,    -1,   112,   113,   114,   115,   116,   117,    -1,
14938      119,   120,   121,    -1,    -1,   124,   125,   126,   127,   128,
14939       -1,   130,   131,   132,    -1,   134,   135,   136,    -1,   138,
14940      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
14941       -1,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
14942      159,   160,   161,   162,   163,    -1,   165,   166,    -1,   168,
14943      169,    -1,   171,   172,   173,   174,   175,   176,   177,   178,
14944      179,   180,    -1,   182,   183,   184,   185,   186,   187,    -1,
14945      189,   190,   191,   192,   193,   194,   195,   196,   197,    -1,
14946      199,    -1,   201,   202,   203,   204,   205,   206,   207,   208,
14947      209,   210,    -1,    -1,   213,   214,   215,   216,   217,    -1,
14948      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
14949      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
14950      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
14951      249,   250,   251,   252,   253,   254,   255,   256,   257,    -1,
14952      259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,
14953      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
14954      279,   280,    -1,   282,   283,   284,   285,   286,   287,   288,
14955      289,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
14956      299,   300,   301,   302,   303,    -1,   305,   306,   307,   308,
14957      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
14958      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
14959      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
14960      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
14961       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
14962      359,   360,   361,    -1,   363,   364,    -1,   366,   367,   368,
14963      369,   370,   371,   372,    -1,   374,   375,    -1,    -1,   378,
14964      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
14965      389,   390,    -1,   392,   393,   394,   395,   396,   397,   398,
14966       -1,   400,   401,   402,   403,   404,   405,   406,    -1,   408,
14967      409,   410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,
14968      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
14969      429,   430,   431,   432,   433,   434,   435,   436,   437,    -1,
14970       -1,    -1,    -1,    -1,    -1,   444,   445,    -1,    -1,    -1,
14971       -1,    -1,    -1,    -1,   453,     3,     4,     5,     6,     7,
14972        8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14973       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
14974       28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,
14975       38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
14976       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
14977       58,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
14978       68,    69,    -1,    71,    -1,    73,    74,    75,    76,    77,
14979       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
14980       -1,    89,    90,    91,    92,    93,    94,    95,    96,    97,
14981       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
14982      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
14983       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
14984      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
14985      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
14986      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
14987      158,    -1,   160,   161,   162,   163,    -1,   165,   166,    -1,
14988      168,   169,    -1,   171,   172,   173,   174,   175,   176,   177,
14989      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
14990       -1,   189,   190,   191,   192,   193,   194,   195,   196,   197,
14991       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
14992      208,   209,   210,    -1,    -1,   213,   214,   215,   216,   217,
14993       -1,   219,   220,   221,   222,   223,   224,   225,   226,   227,
14994      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
14995      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
14996      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
14997       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
14998      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
14999      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
15000      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
15001      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
15002      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
15003      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
15004      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
15005      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
15006      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
15007      358,   359,   360,   361,    -1,   363,   364,    -1,   366,   367,
15008      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
15009      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
15010      388,   389,   390,    -1,   392,   393,   394,   395,   396,   397,
15011      398,    -1,   400,   401,   402,   403,   404,   405,   406,   407,
15012      408,   409,   410,   411,   412,   413,    -1,    -1,   416,    -1,
15013       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
15014      428,   429,   430,   431,   432,   433,   434,   435,   436,   437,
15015       -1,    -1,    -1,    -1,    -1,    -1,   444,   445,    -1,    -1,
15016       -1,    -1,    -1,    -1,    -1,   453,     3,     4,     5,     6,
15017        7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
15018       -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
15019       27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,
15020       37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
15021       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
15022       57,    58,    59,    60,    61,    62,    63,    -1,    65,    66,
15023       67,    68,    69,    -1,    71,    -1,    73,    74,    75,    76,
15024       77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
15025       87,    -1,    89,    90,    91,    92,    93,    94,    95,    96,
15026       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
15027      107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
15028      117,    -1,   119,   120,   121,    -1,    -1,   124,   125,   126,
15029      127,   128,    -1,   130,   131,   132,    -1,   134,   135,   136,
15030       -1,   138,   139,   140,   141,   142,   143,   144,   145,   146,
15031      147,   148,    -1,   150,   151,   152,   153,    -1,   155,    -1,
15032      157,   158,    -1,   160,   161,   162,   163,    -1,   165,   166,
15033       -1,   168,   169,    -1,   171,   172,   173,   174,   175,   176,
15034      177,   178,   179,   180,    -1,   182,   183,   184,   185,   186,
15035      187,    -1,   189,   190,   191,   192,   193,   194,   195,   196,
15036      197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
15037      207,   208,   209,   210,    -1,    -1,   213,   214,   215,   216,
15038      217,    -1,   219,   220,   221,   222,   223,   224,   225,   226,
15039      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
15040      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
15041      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
15042      257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,
15043      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
15044      277,   278,   279,   280,    -1,   282,   283,   284,   285,   286,
15045      287,   288,   289,    -1,   291,   292,   293,   294,   295,   296,
15046      297,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
15047      307,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
15048      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
15049      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
15050      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
15051      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
15052      357,   358,   359,   360,   361,    -1,   363,   364,    -1,   366,
15053      367,   368,   369,   370,   371,   372,    -1,   374,   375,    -1,
15054       -1,   378,   379,   380,   381,   382,   383,   384,   385,   386,
15055      387,   388,   389,   390,    -1,   392,   393,   394,   395,   396,
15056      397,   398,    -1,   400,   401,   402,   403,   404,   405,   406,
15057       -1,   408,   409,   410,   411,   412,   413,    -1,    -1,   416,
15058       -1,    -1,   419,   420,   421,   422,   423,   424,   425,   426,
15059      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
15060      437,    -1,    -1,    -1,    -1,    -1,    -1,   444,   445,    -1,
15061       -1,    -1,    -1,    -1,    -1,    -1,   453,     3,     4,     5,
15062        6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,
15063       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
15064       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,
15065       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
15066       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
15067       56,    57,    58,    59,    60,    61,    62,    63,    -1,    65,
15068       66,    67,    68,    69,    -1,    71,    -1,    73,    74,    75,
15069       76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
15070       86,    87,    -1,    89,    90,    91,    92,    93,    94,    95,
15071       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
15072      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
15073      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
15074      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
15075      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
15076      146,   147,   148,    -1,   150,   151,   152,   153,    -1,   155,
15077       -1,   157,   158,    -1,   160,   161,   162,   163,    -1,   165,
15078      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
15079      176,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
15080      186,   187,    -1,   189,   190,   191,   192,   193,   194,   195,
15081      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
15082      206,   207,   208,   209,   210,    -1,    -1,   213,   214,   215,
15083      216,   217,    -1,   219,   220,   221,   222,   223,   224,   225,
15084      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
15085      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
15086      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
15087      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
15088       -1,   267,   268,   269,   270,   271,   272,   273,   274,   275,
15089      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
15090      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
15091      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
15092      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
15093       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
15094      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
15095      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
15096      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
15097      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
15098      366,   367,   368,   369,   370,   371,   372,    -1,   374,   375,
15099       -1,    -1,   378,   379,   380,   381,   382,   383,   384,   385,
15100      386,   387,   388,   389,   390,    -1,   392,   393,   394,   395,
15101      396,   397,   398,    -1,   400,   401,   402,   403,   404,   405,
15102      406,    -1,   408,   409,   410,   411,   412,   413,    -1,    -1,
15103      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
15104      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
15105      436,   437,    -1,    -1,    -1,    -1,    -1,    -1,   444,   445,
15106       -1,    -1,    -1,    -1,    -1,    -1,    -1,   453,     3,     4,
15107        5,     6,     7,     8,     9,    10,    -1,    -1,    -1,    -1,
15108       -1,    -1,    -1,    18,    19,    20,    21,    22,    23,    24,
15109       25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,
15110       -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
15111       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
15112       55,    56,    57,    58,    59,    60,    61,    62,    63,    -1,
15113       65,    66,    67,    68,    69,    -1,    71,    -1,    73,    74,
15114       75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
15115       85,    86,    87,    -1,    89,    90,    91,    92,    93,    94,
15116       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
15117      105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
15118      115,   116,   117,    -1,   119,   120,   121,    -1,    -1,   124,
15119      125,   126,   127,   128,    -1,   130,   131,   132,    -1,   134,
15120      135,   136,    -1,   138,   139,   140,   141,   142,   143,   144,
15121      145,   146,   147,   148,    -1,   150,   151,   152,   153,    -1,
15122      155,    -1,   157,   158,    -1,   160,   161,   162,   163,    -1,
15123      165,   166,    -1,   168,   169,    -1,   171,   172,   173,   174,
15124      175,   176,   177,   178,   179,   180,    -1,   182,   183,   184,
15125      185,   186,   187,    -1,   189,   190,   191,   192,   193,   194,
15126      195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
15127      205,   206,   207,   208,   209,   210,    -1,    -1,   213,   214,
15128      215,   216,   217,    -1,   219,   220,   221,   222,   223,   224,
15129      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
15130      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
15131      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
15132      255,   256,   257,    -1,   259,    -1,    -1,   262,   263,   264,
15133       -1,    -1,   267,   268,   269,   270,   271,   272,   273,   274,
15134      275,   276,   277,   278,   279,   280,    -1,   282,   283,   284,
15135      285,   286,   287,   288,   289,    -1,   291,   292,   293,   294,
15136      295,   296,   297,   298,   299,   300,   301,   302,   303,    -1,
15137      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
15138      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
15139      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
15140      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
15141      345,   346,   347,   348,    -1,   350,   351,   352,   353,   354,
15142      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
15143       -1,   366,   367,   368,   369,   370,   371,   372,    -1,   374,
15144      375,    -1,    -1,   378,   379,   380,   381,   382,   383,   384,
15145      385,   386,   387,   388,   389,   390,    -1,   392,   393,   394,
15146      395,   396,   397,   398,    -1,   400,   401,   402,   403,   404,
15147      405,   406,    -1,   408,   409,   410,   411,   412,   413,    -1,
15148       -1,   416,    -1,    -1,   419,   420,   421,   422,   423,   424,
15149      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
15150      435,   436,   437,    -1,    -1,    -1,    -1,    -1,    -1,   444,
15151      445,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   453,     3,
15152        4,     5,     6,     7,     8,     9,    10,    -1,    -1,    -1,
15153       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
15154       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
15155       34,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
15156       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
15157       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
15158       -1,    65,    66,    67,    68,    69,    -1,    71,    -1,    73,
15159       74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
15160       84,    85,    86,    87,    -1,    89,    90,    91,    92,    93,
15161       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
15162      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
15163      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
15164      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
15165      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
15166      144,   145,   146,   147,   148,    -1,   150,   151,   152,   153,
15167       -1,   155,    -1,   157,   158,    -1,   160,   161,   162,   163,
15168       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
15169      174,   175,   176,   177,   178,   179,   180,    -1,   182,   183,
15170      184,   185,   186,   187,    -1,   189,   190,   191,   192,   193,
15171      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
15172      204,   205,   206,   207,   208,   209,   210,    -1,    -1,   213,
15173      214,   215,   216,   217,    -1,   219,   220,   221,   222,   223,
15174      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
15175      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
15176      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
15177      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
15178      264,    -1,    -1,   267,   268,   269,   270,   271,   272,   273,
15179      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
15180      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
15181      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
15182       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
15183      314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
15184      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
15185      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
15186      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
15187      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
15188      364,    -1,   366,   367,   368,   369,   370,   371,   372,    -1,
15189      374,   375,    -1,    -1,   378,   379,   380,   381,   382,   383,
15190      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
15191      394,   395,   396,   397,   398,    -1,   400,   401,   402,   403,
15192      404,   405,   406,    -1,   408,   409,   410,   411,   412,   413,
15193       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
15194      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
15195      434,   435,   436,   437,    -1,    -1,    -1,    -1,    -1,    -1,
15196      444,   445,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   453,
15197        3,     4,     5,     6,     7,     8,     9,    10,    -1,    -1,
15198       -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,
15199       23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
15200       -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,    42,
15201       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
15202       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
15203       63,    -1,    65,    66,    67,    68,    69,    -1,    71,    -1,
15204       73,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
15205       83,    84,    85,    86,    87,    -1,    89,    90,    91,    92,
15206       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
15207      103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
15208      113,   114,   115,   116,   117,    -1,   119,   120,   121,    -1,
15209       -1,   124,   125,   126,   127,   128,    -1,   130,   131,   132,
15210       -1,   134,   135,   136,    -1,   138,   139,   140,   141,   142,
15211      143,   144,   145,   146,   147,   148,    -1,   150,   151,   152,
15212      153,    -1,   155,    -1,   157,   158,    -1,   160,   161,   162,
15213      163,    -1,   165,   166,    -1,   168,   169,    -1,   171,   172,
15214      173,   174,   175,   176,   177,   178,   179,   180,    -1,   182,
15215      183,   184,   185,   186,   187,    -1,   189,   190,   191,   192,
15216      193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
15217      203,   204,   205,   206,   207,   208,   209,   210,    -1,    -1,
15218      213,   214,   215,   216,   217,    -1,   219,   220,   221,   222,
15219      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
15220      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
15221      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
15222      253,   254,   255,   256,   257,    -1,   259,    -1,    -1,   262,
15223      263,   264,    -1,    -1,   267,   268,   269,   270,   271,   272,
15224      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
15225      283,   284,   285,   286,   287,   288,   289,    -1,   291,   292,
15226      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
15227      303,    -1,   305,   306,   307,   308,   309,   310,   311,   312,
15228      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
15229      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
15230      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
15231      343,   344,   345,   346,   347,   348,    -1,   350,   351,   352,
15232      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
15233      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
15234       -1,   374,   375,    -1,    -1,   378,   379,   380,   381,   382,
15235      383,   384,   385,   386,   387,   388,   389,   390,    -1,   392,
15236      393,   394,   395,   396,   397,   398,    -1,   400,   401,   402,
15237      403,   404,   405,   406,    -1,   408,   409,   410,   411,   412,
15238      413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,
15239      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
15240      433,   434,   435,   436,   437,    -1,    -1,    -1,    -1,    -1,
15241       -1,   444,   445,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15242      453,     3,     4,     5,     6,     7,     8,     9,    10,    -1,
15243       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
15244       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
15245       -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,
15246       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
15247       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
15248       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    71,
15249       -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
15250       82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
15251       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
15252      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
15253      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
15254       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
15255      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
15256      142,   143,   144,   145,   146,   147,   148,    -1,   150,   151,
15257      152,   153,    -1,   155,    -1,   157,   158,    -1,   160,   161,
15258      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
15259      172,   173,   174,   175,   176,   177,   178,   179,   180,    -1,
15260      182,   183,   184,   185,   186,   187,    -1,   189,   190,   191,
15261      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
15262      202,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
15263       -1,   213,   214,   215,   216,   217,    -1,   219,   220,   221,
15264      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
15265      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
15266      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
15267      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
15268      262,   263,   264,    -1,    -1,   267,   268,   269,   270,   271,
15269      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
15270      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
15271      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
15272      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
15273      312,   313,   314,   315,    -1,   317,   318,   319,   320,   321,
15274      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
15275       -1,   333,   334,   335,   336,   337,   338,   339,   340,   341,
15276      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
15277      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
15278       -1,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
15279      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
15280      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
15281      392,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
15282      402,   403,   404,   405,   406,    -1,   408,   409,   410,   411,
15283      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
15284      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
15285      432,   433,   434,   435,   436,   437,    -1,    -1,    -1,    -1,
15286       -1,    -1,   444,   445,    -1,    -1,    -1,    -1,    -1,    -1,
15287       -1,   453,     3,     4,     5,     6,     7,     8,     9,    10,
15288       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
15289       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
15290       -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,
15291       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
15292       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
15293       61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
15294       71,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
15295       -1,    82,    83,    84,    85,    86,    87,    -1,    89,    90,
15296       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
15297      101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
15298       -1,   112,   113,   114,   115,   116,   117,    -1,   119,   120,
15299      121,    -1,    -1,   124,   125,   126,   127,   128,    -1,   130,
15300      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
15301      141,   142,   143,   144,   145,   146,   147,   148,    -1,   150,
15302      151,   152,   153,    -1,   155,    -1,   157,   158,    -1,   160,
15303      161,   162,   163,    -1,   165,   166,    -1,   168,   169,    -1,
15304      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
15305       -1,   182,   183,   184,   185,   186,   187,    -1,   189,   190,
15306      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
15307      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
15308       -1,    -1,   213,   214,   215,   216,   217,    -1,   219,   220,
15309      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
15310      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
15311      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
15312      251,   252,   253,   254,   255,   256,   257,    -1,   259,    -1,
15313       -1,   262,   263,   264,    -1,    -1,   267,   268,   269,   270,
15314      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
15315       -1,   282,   283,   284,   285,   286,   287,   288,   289,    -1,
15316      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
15317      301,   302,   303,    -1,   305,   306,   307,   308,   309,   310,
15318      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
15319      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
15320      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
15321      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
15322      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
15323      361,    -1,   363,   364,    -1,   366,   367,   368,   369,   370,
15324      371,   372,    -1,   374,   375,    -1,    -1,   378,   379,   380,
15325      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
15326       -1,   392,   393,   394,   395,   396,   397,   398,    -1,   400,
15327      401,   402,   403,   404,   405,   406,    -1,   408,   409,   410,
15328      411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,
15329      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
15330      431,   432,   433,   434,   435,   436,   437,    -1,    -1,    -1,
15331       -1,    -1,    -1,   444,   445,    -1,    -1,    -1,    -1,    -1,
15332       -1,    -1,   453,     3,     4,     5,     6,     7,     8,     9,
15333       10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
15334       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
15335       -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,
15336       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
15337       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
15338       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
15339       -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
15340       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
15341       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
15342      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
15343      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
15344      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
15345      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
15346      140,   141,   142,   143,   144,   145,   146,   147,   148,    -1,
15347      150,   151,   152,   153,    -1,   155,    -1,   157,   158,    -1,
15348      160,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
15349       -1,   171,   172,   173,   174,   175,   176,   177,   178,   179,
15350      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
15351      190,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
15352       -1,   201,   202,   203,   204,   205,   206,   207,   208,   209,
15353      210,    -1,    -1,   213,   214,   215,   216,   217,    -1,   219,
15354      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
15355      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
15356      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
15357      250,   251,   252,   253,   254,   255,   256,   257,    -1,   259,
15358       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,   269,
15359      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
15360      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
15361       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
15362      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
15363      310,   311,   312,   313,   314,   315,    -1,   317,   318,   319,
15364      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
15365      330,   331,    -1,   333,   334,   335,   336,   337,   338,   339,
15366      340,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
15367      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
15368      360,   361,    -1,   363,   364,    -1,   366,   367,   368,   369,
15369      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
15370      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
15371      390,    -1,   392,   393,   394,   395,   396,   397,   398,    -1,
15372      400,   401,   402,   403,   404,   405,   406,    -1,   408,   409,
15373      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
15374      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
15375      430,   431,   432,   433,   434,   435,   436,   437,    -1,    -1,
15376       -1,    -1,    -1,    -1,   444,   445,    -1,    -1,    -1,    -1,
15377       -1,    -1,    -1,   453,     3,     4,     5,     6,     7,     8,
15378        9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,
15379       19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
15380       29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,
15381       -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
15382       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
15383       59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
15384       69,    -1,    71,    -1,    73,    74,    75,    76,    77,    78,
15385       79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
15386       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
15387       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
15388       -1,   110,    -1,   112,   113,   114,   115,   116,   117,    -1,
15389      119,   120,   121,    -1,    -1,   124,   125,   126,   127,   128,
15390       -1,   130,   131,   132,    -1,   134,   135,   136,    -1,   138,
15391      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
15392       -1,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
15393       -1,   160,   161,   162,   163,    -1,   165,   166,    -1,   168,
15394      169,    -1,   171,   172,   173,   174,   175,   176,   177,   178,
15395      179,   180,    -1,   182,   183,   184,   185,   186,   187,    -1,
15396      189,   190,   191,   192,   193,   194,   195,   196,   197,    -1,
15397      199,    -1,   201,   202,   203,   204,   205,   206,   207,   208,
15398      209,   210,    -1,    -1,   213,   214,   215,   216,   217,    -1,
15399      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
15400      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
15401      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
15402      249,   250,   251,   252,   253,   254,   255,   256,   257,    -1,
15403      259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,
15404      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
15405      279,   280,    -1,   282,   283,   284,   285,   286,   287,   288,
15406      289,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
15407      299,   300,   301,   302,   303,    -1,   305,   306,   307,   308,
15408      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
15409      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
15410      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
15411      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
15412       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
15413      359,   360,   361,    -1,   363,   364,    -1,   366,   367,   368,
15414      369,   370,   371,   372,    -1,   374,   375,    -1,    -1,   378,
15415      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
15416      389,   390,    -1,   392,   393,   394,   395,   396,   397,   398,
15417       -1,   400,   401,   402,   403,   404,   405,   406,    -1,   408,
15418      409,   410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,
15419      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
15420      429,   430,   431,   432,   433,   434,   435,   436,   437,    -1,
15421       -1,    -1,    -1,    -1,    -1,   444,   445,    -1,    -1,    -1,
15422       -1,    -1,    -1,    -1,   453,     3,     4,     5,     6,     7,
15423        8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15424       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
15425       28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,    37,
15426       38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
15427       48,    49,    50,    -1,    52,    53,    54,    55,    56,    57,
15428       58,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
15429       68,    69,    -1,    71,    -1,    73,    74,    75,    76,    77,
15430       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
15431       -1,    89,    90,    91,    92,    93,    94,    95,    96,    97,
15432       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
15433      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
15434       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
15435      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
15436      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
15437      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
15438      158,    -1,   160,   161,   162,   163,    -1,   165,   166,    -1,
15439      168,   169,    -1,   171,   172,   173,   174,   175,   176,   177,
15440      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
15441       -1,   189,   190,   191,   192,   193,   194,   195,   196,   197,
15442       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
15443      208,   209,   210,    -1,    -1,   213,   214,   215,   216,   217,
15444       -1,   219,   220,   221,   222,   223,   224,   225,   226,   227,
15445      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
15446      238,   239,   240,   241,   242,   243,   244,   245,    -1,   247,
15447      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
15448       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
15449      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
15450      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
15451      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
15452      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
15453      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
15454      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
15455      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
15456      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
15457      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
15458      358,   359,   360,   361,    -1,   363,   364,    -1,   366,   367,
15459      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
15460      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
15461      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
15462      398,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
15463      408,   409,   410,   411,   412,   413,    -1,    -1,   416,    -1,
15464       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
15465      428,   429,   430,   431,   432,   433,   434,   435,   436,    -1,
15466       -1,    -1,    -1,    -1,    -1,    -1,   444,   445,    -1,    -1,
15467       -1,    -1,    -1,    -1,    -1,   453,     3,     4,     5,     6,
15468        7,     8,     9,    10,    -1,    -1,    -1,    -1,    -1,    -1,
15469       -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
15470       27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,    -1,
15471       37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
15472       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
15473       57,    58,    59,    60,    61,    62,    63,    -1,    65,    66,
15474       67,    68,    69,    -1,    71,    -1,    73,    74,    75,    76,
15475       77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
15476       87,    -1,    89,    90,    91,    92,    93,    94,    95,    96,
15477       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
15478      107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
15479      117,    -1,   119,   120,   121,    -1,    -1,   124,   125,   126,
15480      127,   128,    -1,   130,   131,   132,    -1,   134,   135,   136,
15481       -1,   138,   139,   140,   141,   142,   143,   144,   145,   146,
15482      147,   148,    -1,   150,   151,   152,   153,    -1,   155,    -1,
15483      157,   158,    -1,   160,   161,   162,   163,    -1,   165,   166,
15484       -1,   168,   169,    -1,   171,   172,   173,   174,   175,   176,
15485      177,   178,   179,   180,    -1,   182,   183,   184,   185,   186,
15486      187,    -1,   189,   190,   191,   192,   193,   194,   195,   196,
15487      197,    -1,   199,    -1,   201,    -1,    -1,   204,   205,   206,
15488      207,   208,   209,   210,    -1,    -1,   213,   214,   215,   216,
15489      217,    -1,   219,   220,   221,   222,   223,   224,   225,   226,
15490      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
15491      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
15492      247,   248,    -1,   250,   251,   252,   253,   254,   255,   256,
15493      257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,
15494      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
15495      277,   278,   279,   280,    -1,   282,   283,   284,   285,   286,
15496      287,   288,   289,    -1,   291,   292,   293,   294,   295,   296,
15497      297,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
15498      307,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
15499      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
15500      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
15501      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
15502      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
15503      357,   358,   359,   360,   361,    -1,   363,   364,    -1,   366,
15504      367,   368,   369,   370,   371,   372,    -1,   374,   375,    -1,
15505       -1,   378,   379,   380,   381,   382,   383,   384,   385,   386,
15506      387,   388,   389,   390,    -1,   392,   393,   394,   395,   396,
15507      397,   398,    -1,   400,   401,   402,   403,   404,   405,   406,
15508       -1,   408,   409,   410,   411,   412,   413,    -1,    -1,   416,
15509       -1,    -1,   419,   420,   421,   422,   423,   424,   425,   426,
15510      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
15511      437,    -1,    -1,    -1,    -1,    -1,    -1,   444,   445,    -1,
15512       -1,     3,     4,     5,     6,     7,   453,     9,    10,    -1,
15513       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
15514       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
15515       -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,    41,
15516       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
15517       52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
15518       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    71,
15519       -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
15520       82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
15521       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
15522      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
15523      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
15524       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
15525      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
15526      142,   143,   144,   145,   146,   147,   148,    -1,   150,   151,
15527      152,   153,    -1,   155,    -1,   157,   158,    -1,   160,   161,
15528      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
15529      172,   173,   174,   175,   176,   177,   178,   179,   180,    -1,
15530      182,   183,   184,   185,   186,   187,    -1,   189,   190,   191,
15531      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
15532      202,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
15533       -1,   213,   214,   215,   216,   217,    -1,   219,   220,   221,
15534      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
15535      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
15536      242,   243,   244,   245,    -1,   247,   248,   249,   250,   251,
15537      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
15538      262,   263,   264,    -1,    -1,   267,   268,   269,   270,   271,
15539      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
15540      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
15541      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
15542      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
15543      312,   313,   314,   315,    -1,   317,   318,   319,   320,   321,
15544      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
15545       -1,   333,   334,   335,   336,   337,   338,   339,   340,   341,
15546      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
15547      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
15548       -1,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
15549      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
15550      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
15551       -1,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
15552      402,   403,   404,   405,   406,    -1,   408,   409,   410,   411,
15553      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
15554      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
15555      432,   433,   434,   435,   436,    -1,    -1,    -1,    -1,    -1,
15556       -1,    -1,   444,   445,    -1,    -1,    -1,    -1,    -1,    -1,
15557       -1,   453,     3,     4,     5,     6,     7,     8,     9,    10,
15558       -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,
15559       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
15560       -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,    40,
15561       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
15562       -1,    52,    53,    54,    55,    56,    57,    58,    59,    60,
15563       61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
15564       71,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
15565       -1,    82,    83,    84,    85,    86,    87,    -1,    89,    90,
15566       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
15567      101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
15568       -1,   112,   113,   114,   115,   116,   117,    -1,   119,   120,
15569      121,    -1,    -1,   124,   125,   126,   127,   128,    -1,   130,
15570      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
15571      141,   142,   143,   144,   145,   146,   147,   148,    -1,   150,
15572      151,   152,   153,    -1,   155,    -1,   157,   158,    -1,   160,
15573      161,   162,   163,    -1,   165,   166,    -1,   168,   169,    -1,
15574      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
15575       -1,   182,   183,   184,   185,   186,   187,    -1,   189,   190,
15576      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
15577      201,    -1,   203,   204,   205,   206,   207,   208,   209,   210,
15578       -1,    -1,   213,   214,   215,   216,   217,    -1,   219,   220,
15579      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
15580      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
15581      241,   242,   243,   244,   245,    -1,   247,   248,   249,   250,
15582      251,   252,   253,   254,   255,   256,   257,    -1,   259,    -1,
15583       -1,   262,   263,   264,    -1,    -1,   267,   268,   269,   270,
15584      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
15585       -1,   282,   283,   284,   285,   286,   287,   288,   289,    -1,
15586      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
15587      301,   302,   303,    -1,   305,   306,   307,   308,   309,   310,
15588      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
15589      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
15590      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
15591      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
15592      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
15593      361,    -1,   363,   364,    -1,   366,   367,   368,   369,   370,
15594      371,   372,    -1,   374,   375,    -1,    -1,   378,   379,   380,
15595      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
15596       -1,    -1,   393,   394,   395,   396,   397,   398,    -1,   400,
15597      401,   402,   403,   404,   405,   406,    -1,   408,   409,   410,
15598      411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,
15599      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
15600      431,   432,   433,   434,   435,   436,    -1,    -1,    -1,    -1,
15601       -1,    -1,    -1,   444,   445,    -1,    -1,     3,     4,     5,
15602        6,     7,   453,     9,    10,    -1,    -1,    -1,    -1,    -1,
15603       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
15604       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    34,    -1,
15605       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
15606       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
15607       56,    57,    58,    59,    60,    61,    62,    63,    -1,    65,
15608       66,    67,    68,    69,    -1,    71,    -1,    73,    74,    75,
15609       76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
15610       86,    87,    -1,    89,    90,    91,    92,    93,    94,    95,
15611       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
15612      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
15613      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
15614      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
15615      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
15616      146,   147,   148,    -1,   150,   151,   152,   153,    -1,   155,
15617       -1,   157,   158,    -1,   160,   161,   162,   163,    -1,   165,
15618      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
15619      176,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
15620      186,   187,    -1,   189,   190,   191,   192,   193,   194,   195,
15621      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
15622      206,   207,   208,   209,   210,    -1,    -1,   213,   214,   215,
15623      216,   217,    -1,   219,   220,   221,   222,   223,   224,   225,
15624      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
15625      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
15626       -1,   247,   248,   249,   250,   251,   252,   253,   254,   255,
15627      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
15628       -1,   267,   268,   269,   270,   271,   272,   273,   274,   275,
15629      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
15630      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
15631      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
15632      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
15633       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
15634      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
15635      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
15636      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
15637      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
15638      366,   367,   368,   369,   370,   371,   372,    -1,   374,   375,
15639       -1,    -1,   378,   379,   380,   381,   382,   383,   384,   385,
15640      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
15641      396,   397,   398,    -1,   400,   401,   402,   403,   404,   405,
15642      406,    -1,   408,   409,   410,   411,   412,   413,    -1,    -1,
15643      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
15644      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
15645      436,    -1,    -1,     3,     4,     5,     6,     7,    -1,     9,
15646       10,    -1,    -1,    -1,    -1,    -1,    -1,   453,    18,    19,
15647       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
15648       -1,    -1,    -1,    -1,    34,    -1,    -1,    37,    38,    -1,
15649       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
15650       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
15651       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
15652       -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
15653       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
15654       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
15655      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
15656      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
15657      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
15658      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
15659      140,   141,   142,   143,   144,   145,   146,   147,   148,    -1,
15660      150,   151,   152,   153,    -1,   155,    -1,   157,   158,    -1,
15661      160,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
15662       -1,   171,   172,   173,   174,   175,   176,   177,   178,   179,
15663      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
15664      190,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
15665       -1,   201,   202,   203,   204,   205,   206,   207,   208,   209,
15666      210,    -1,    -1,   213,   214,   215,   216,   217,    -1,   219,
15667      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
15668      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
15669      240,   241,   242,   243,   244,   245,    -1,   247,   248,   249,
15670      250,   251,   252,   253,   254,   255,   256,   257,    -1,   259,
15671       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,   269,
15672      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
15673      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
15674       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
15675      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
15676      310,   311,   312,   313,   314,   315,    -1,   317,   318,   319,
15677      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
15678      330,   331,    -1,   333,   334,   335,   336,   337,   338,   339,
15679      340,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
15680      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
15681      360,   361,    -1,   363,   364,    -1,   366,   367,   368,   369,
15682      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
15683      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
15684      390,    -1,    -1,   393,   394,   395,   396,   397,   398,    -1,
15685      400,   401,   402,   403,   404,   405,   406,    -1,   408,   409,
15686      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
15687      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
15688      430,   431,   432,   433,   434,   435,   436,    -1,    -1,     3,
15689        4,     5,     6,     7,     8,     9,    10,    -1,    -1,    -1,
15690       -1,    -1,    -1,   453,    18,    19,    20,    21,    22,    23,
15691       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
15692       34,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
15693       44,    45,    -1,    47,    48,    49,    50,    -1,    52,    53,
15694       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
15695       -1,    65,    66,    67,    68,    69,    -1,    71,    -1,    73,
15696       74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
15697       84,    85,    86,    87,    -1,    89,    90,    91,    92,    93,
15698       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
15699      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
15700      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
15701      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
15702      134,    -1,   136,    -1,   138,   139,   140,   141,   142,   143,
15703      144,   145,   146,   147,   148,    -1,   150,   151,   152,   153,
15704       -1,   155,    -1,   157,   158,    -1,   160,   161,   162,   163,
15705       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
15706      174,   175,    -1,   177,   178,   179,   180,    -1,   182,   183,
15707      184,   185,   186,   187,    -1,   189,   190,   191,   192,   193,
15708      194,   195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,
15709      204,   205,   206,   207,   208,   209,   210,    -1,    -1,   213,
15710      214,   215,   216,    -1,    -1,   219,   220,   221,   222,   223,
15711      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
15712      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
15713      244,   245,   246,   247,   248,    -1,   250,   251,   252,   253,
15714      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
15715      264,    -1,    -1,   267,   268,   269,   270,   271,   272,   273,
15716      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
15717      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
15718      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
15719       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
15720      314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
15721      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
15722      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
15723       -1,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
15724      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
15725      364,    -1,   366,   367,   368,   369,   370,   371,   372,    -1,
15726      374,   375,    -1,    -1,   378,   379,   380,   381,   382,   383,
15727      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
15728      394,   395,   396,   397,   398,    -1,   400,   401,   402,   403,
15729      404,   405,   406,    -1,   408,   409,   410,   411,   412,   413,
15730       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
15731      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
15732      434,   435,   436,    -1,    -1,     3,    -1,    -1,    -1,    -1,
15733      444,   445,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   453,
15734       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
15735       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
15736       38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
15737       48,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
15738       58,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
15739       68,    69,    -1,    71,    -1,    73,    74,    75,    76,    77,
15740       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
15741       -1,    89,    90,    91,    92,    93,    94,    95,    96,    97,
15742       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
15743      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
15744       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
15745      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
15746      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
15747      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
15748      158,    -1,   160,   161,   162,   163,    -1,   165,   166,    -1,
15749      168,   169,    -1,   171,   172,   173,   174,   175,   176,   177,
15750      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
15751       -1,   189,   190,   191,   192,   193,   194,   195,   196,   197,
15752       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
15753      208,   209,   210,   211,    -1,   213,   214,   215,   216,   217,
15754       -1,   219,   220,   221,   222,   223,   224,   225,   226,   227,
15755      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
15756      238,   239,   240,   241,   242,   243,   244,   245,    -1,   247,
15757      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
15758       -1,   259,    -1,   261,   262,   263,   264,    -1,    -1,   267,
15759      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
15760      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
15761      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
15762      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
15763      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
15764      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
15765      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
15766      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
15767      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
15768      358,   359,   360,   361,    -1,   363,   364,   365,   366,   367,
15769      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
15770      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
15771      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
15772      398,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
15773      408,   409,   410,   411,   412,   413,    -1,    -1,   416,    -1,
15774      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
15775      428,   429,   430,   431,   432,   433,   434,   435,   436,    -1,
15776       -1,   439,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15777       -1,    -1,    -1,    -1,    -1,   453,    -1,    18,    19,    20,
15778       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
15779       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
15780       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
15781       -1,    52,    53,    54,    55,    56,    -1,    58,    59,    60,
15782       61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
15783       71,    -1,    73,    74,    75,    76,    77,    78,    79,    80,
15784       -1,    82,    83,    84,    85,    86,    87,    -1,    89,    90,
15785       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
15786      101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
15787       -1,   112,   113,   114,   115,   116,   117,    -1,   119,   120,
15788      121,    -1,    -1,   124,   125,   126,   127,   128,    -1,   130,
15789      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
15790      141,   142,   143,   144,   145,   146,    -1,   148,    -1,   150,
15791      151,   152,   153,    -1,   155,    -1,   157,   158,    -1,   160,
15792      161,   162,   163,    -1,   165,   166,    -1,   168,   169,    -1,
15793      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
15794       -1,   182,   183,   184,   185,   186,   187,    -1,   189,   190,
15795      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
15796      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
15797      211,    -1,   213,   214,   215,   216,   217,    -1,   219,   220,
15798      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
15799      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
15800      241,   242,   243,   244,   245,    -1,   247,   248,   249,   250,
15801       -1,   252,   253,   254,   255,   256,   257,    -1,   259,    -1,
15802      261,   262,   263,   264,    -1,    -1,   267,   268,   269,   270,
15803      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
15804       -1,   282,   283,   284,   285,   286,   287,   288,   289,    -1,
15805      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
15806      301,   302,   303,    -1,   305,   306,   307,   308,   309,   310,
15807      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
15808      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
15809      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
15810      341,   342,   343,   344,   345,   346,   347,   348,    -1,   350,
15811      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
15812      361,    -1,   363,   364,    -1,   366,   367,   368,   369,   370,
15813      371,   372,    -1,   374,   375,    -1,    -1,   378,   379,   380,
15814      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
15815       -1,    -1,   393,   394,   395,   396,   397,   398,    -1,   400,
15816      401,   402,   403,   404,   405,   406,    -1,   408,   409,   410,
15817      411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,
15818      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
15819      431,   432,   433,   434,   435,   436,    -1,    -1,     3,    -1,
15820       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15821       -1,    -1,   453,    18,    19,    20,    21,    22,    23,    24,
15822       25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
15823       -1,    -1,    37,    38,    -1,    40,    41,    42,    43,    44,
15824       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
15825       55,    56,    -1,    58,    59,    60,    61,    62,    63,    -1,
15826       65,    66,    67,    68,    69,    -1,    71,    -1,    73,    74,
15827       75,    76,    77,    78,    79,    80,    -1,    82,    83,    84,
15828       85,    86,    87,    -1,    89,    90,    91,    92,    93,    94,
15829       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
15830      105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
15831      115,   116,   117,    -1,   119,   120,   121,    -1,    -1,   124,
15832      125,   126,   127,   128,    -1,   130,   131,   132,    -1,   134,
15833      135,   136,    -1,   138,   139,   140,   141,   142,   143,   144,
15834      145,   146,    -1,   148,    -1,   150,   151,   152,   153,    -1,
15835      155,    -1,   157,   158,    -1,   160,   161,   162,   163,    -1,
15836      165,   166,    -1,   168,   169,    -1,   171,   172,   173,   174,
15837      175,   176,   177,   178,   179,   180,    -1,   182,   183,   184,
15838      185,   186,   187,    -1,   189,   190,   191,   192,   193,   194,
15839      195,   196,   197,    -1,   199,    -1,   201,   202,   203,   204,
15840      205,   206,   207,   208,   209,   210,    -1,    -1,   213,   214,
15841      215,   216,   217,    -1,   219,   220,   221,   222,   223,   224,
15842      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
15843      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
15844      245,    -1,   247,   248,   249,   250,    -1,   252,   253,   254,
15845      255,   256,   257,    -1,   259,    -1,    -1,   262,   263,   264,
15846       -1,    -1,   267,   268,   269,   270,   271,   272,   273,   274,
15847      275,   276,   277,   278,   279,   280,    -1,   282,   283,   284,
15848      285,   286,   287,   288,   289,    -1,   291,   292,   293,   294,
15849      295,   296,   297,   298,   299,   300,   301,   302,   303,    -1,
15850      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
15851      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
15852      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
15853      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
15854      345,   346,   347,   348,    -1,   350,   351,   352,   353,   354,
15855      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
15856       -1,   366,   367,   368,   369,   370,   371,   372,    -1,   374,
15857      375,    -1,    -1,   378,   379,   380,   381,   382,    -1,   384,
15858      385,   386,   387,   388,   389,   390,    -1,    -1,   393,   394,
15859      395,   396,   397,   398,    -1,   400,   401,   402,   403,   404,
15860      405,   406,    -1,   408,   409,   410,   411,   412,   413,    -1,
15861       -1,   416,    -1,    -1,   419,   420,   421,   422,   423,   424,
15862      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
15863      435,   436,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
15864       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   453,    18,
15865       19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
15866       29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
15867       -1,    40,    41,    42,    43,    44,    45,    46,    47,    48,
15868       49,    50,    -1,    52,    53,    54,    55,    56,    -1,    58,
15869       59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
15870       69,    -1,    71,    -1,    73,    74,    75,    76,    77,    78,
15871       79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
15872       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
15873       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
15874       -1,   110,    -1,   112,   113,   114,   115,   116,   117,    -1,
15875      119,   120,   121,    -1,    -1,   124,   125,   126,   127,   128,
15876       -1,   130,   131,   132,    -1,   134,   135,   136,    -1,   138,
15877      139,   140,   141,   142,   143,   144,   145,   146,    -1,   148,
15878       -1,   150,   151,   152,   153,    -1,   155,    -1,   157,   158,
15879       -1,   160,   161,   162,   163,    -1,   165,   166,    -1,   168,
15880      169,    -1,   171,   172,   173,   174,   175,   176,   177,   178,
15881      179,   180,    -1,   182,   183,   184,   185,   186,   187,    -1,
15882      189,   190,   191,   192,   193,   194,   195,   196,   197,    -1,
15883      199,    -1,   201,   202,   203,   204,   205,   206,   207,   208,
15884      209,   210,    -1,    -1,   213,   214,   215,   216,   217,    -1,
15885      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
15886      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
15887      239,   240,   241,   242,   243,   244,   245,    -1,   247,   248,
15888      249,   250,    -1,   252,   253,   254,   255,   256,   257,    -1,
15889      259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,
15890      269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
15891      279,   280,    -1,   282,   283,   284,   285,   286,   287,   288,
15892      289,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
15893      299,   300,   301,   302,   303,    -1,   305,   306,   307,   308,
15894      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
15895      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
15896      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
15897      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
15898       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
15899      359,   360,   361,    -1,   363,   364,    -1,   366,   367,   368,
15900      369,   370,   371,   372,    -1,   374,   375,    -1,    -1,   378,
15901      379,   380,   381,   382,    -1,   384,   385,   386,   387,   388,
15902      389,   390,    -1,    -1,   393,   394,   395,   396,   397,   398,
15903       -1,   400,   401,   402,   403,   404,   405,   406,    -1,   408,
15904      409,   410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,
15905      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
15906      429,   430,   431,   432,   433,   434,   435,   436,    -1,    -1,
15907        3,     4,     5,    -1,    -1,    -1,     9,    -1,    -1,    -1,
15908       -1,    -1,    -1,    -1,   453,    18,    19,    20,    21,    22,
15909       23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
15910       -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,
15911       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
15912       53,    54,    55,    56,    -1,    -1,    59,    60,    61,    62,
15913       63,    -1,    65,    66,    67,    68,    69,    -1,    71,    -1,
15914       73,    74,    75,    76,    77,    78,    79,    80,    -1,    82,
15915       83,    84,    85,    86,    87,    -1,    89,    90,    91,    92,
15916       -1,    -1,    -1,    96,    -1,    -1,    -1,   100,   101,   102,
15917      103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
15918      113,   114,   115,   116,   117,    -1,   119,   120,   121,    -1,
15919       -1,   124,   125,   126,   127,   128,    -1,   130,   131,   132,
15920       -1,   134,   135,   136,    -1,   138,   139,   140,   141,   142,
15921      143,   144,   145,   146,   147,   148,    -1,   150,   151,   152,
15922      153,    -1,   155,    -1,   157,   158,    -1,   160,   161,   162,
15923      163,    -1,   165,   166,    -1,   168,   169,    -1,   171,   172,
15924      173,   174,   175,   176,   177,   178,   179,   180,    -1,   182,
15925      183,   184,   185,   186,   187,    -1,   189,   190,   191,   192,
15926      193,   194,   195,   196,   197,    -1,   199,    -1,   201,   202,
15927      203,   204,   205,   206,   207,   208,   209,   210,    -1,    -1,
15928      213,   214,   215,   216,   217,    -1,   219,   220,   221,    -1,
15929       -1,   224,   225,   226,   227,   228,   229,   230,   231,   232,
15930      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
15931      243,   244,   245,    -1,   247,   248,   249,   250,    -1,   252,
15932      253,   254,   255,   256,   257,    -1,   259,   260,    -1,   262,
15933      263,   264,    -1,    -1,   267,   268,   269,   270,   271,   272,
15934      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
15935      283,   284,   285,   286,   287,   288,   289,    -1,   291,   292,
15936      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
15937      303,    -1,   305,   306,   307,   308,   309,   310,   311,   312,
15938      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
15939      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
15940      333,   334,   335,   336,   337,    -1,   339,   340,   341,   342,
15941      343,   344,   345,   346,   347,   348,    -1,   350,   351,   352,
15942      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
15943      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
15944       -1,   374,   375,    -1,    -1,   378,   379,   380,   381,   382,
15945      383,   384,   385,   386,   387,   388,   389,   390,    -1,    -1,
15946      393,   394,   395,   396,   397,    -1,    -1,   400,   401,   402,
15947      403,   404,   405,   406,    -1,   408,   409,   410,   411,   412,
15948      413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,
15949      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
15950      433,   434,   435,   436,    -1,    -1,     3,    -1,    -1,    -1,
15951       -1,   444,   445,   446,    -1,    -1,    -1,    -1,    -1,    -1,
15952      453,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
15953       27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
15954       37,    38,    -1,    40,    41,    42,    43,    44,    45,    46,
15955       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
15956       -1,    -1,    59,    60,    61,    62,    63,    -1,    65,    66,
15957       67,    68,    69,    -1,    71,    -1,    73,    74,    75,    76,
15958       77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
15959       87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,    96,
15960       -1,    -1,    -1,   100,   101,   102,   103,   104,   105,   106,
15961      107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
15962      117,    -1,   119,   120,   121,    -1,    -1,   124,   125,   126,
15963      127,   128,    -1,   130,   131,   132,    -1,   134,   135,   136,
15964       -1,   138,   139,   140,   141,   142,   143,   144,   145,   146,
15965       -1,   148,    -1,   150,   151,   152,   153,    -1,   155,    -1,
15966      157,   158,    -1,   160,   161,   162,   163,    -1,   165,   166,
15967       -1,   168,   169,    -1,   171,   172,   173,   174,   175,   176,
15968      177,   178,   179,   180,    -1,   182,   183,   184,   185,   186,
15969      187,    -1,   189,   190,   191,   192,   193,   194,   195,   196,
15970      197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
15971      207,   208,   209,   210,    -1,    -1,   213,   214,   215,   216,
15972      217,    -1,   219,   220,   221,    -1,    -1,   224,   225,   226,
15973      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
15974      237,   238,   239,   240,   241,   242,   243,   244,   245,    -1,
15975      247,   248,   249,   250,    -1,   252,   253,   254,   255,   256,
15976      257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,
15977      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
15978      277,   278,   279,   280,    -1,   282,   283,   284,   285,   286,
15979      287,   288,   289,    -1,   291,   292,   293,   294,   295,   296,
15980      297,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
15981      307,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
15982      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
15983      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
15984      337,    -1,   339,   340,   341,   342,   343,   344,   345,   346,
15985      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
15986      357,   358,   359,   360,   361,    -1,   363,   364,   365,   366,
15987      367,   368,   369,   370,   371,   372,    -1,   374,   375,    -1,
15988       -1,   378,   379,   380,   381,   382,    -1,   384,   385,   386,
15989      387,   388,   389,   390,    -1,    -1,   393,   394,   395,   396,
15990      397,    -1,    -1,   400,   401,   402,   403,   404,   405,   406,
15991       -1,   408,   409,   410,   411,   412,   413,    -1,    -1,   416,
15992       -1,   418,   419,   420,   421,   422,   423,   424,   425,   426,
15993      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
15994       -1,    -1,   439,     3,    -1,    -1,    -1,    -1,    -1,    -1,
15995       -1,    -1,    -1,    -1,    -1,    -1,   453,    -1,    18,    19,
15996       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
15997       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
15998       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
15999       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
16000       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
16001       -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
16002       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
16003       90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,    -1,
16004      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
16005      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
16006      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
16007      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
16008      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
16009      150,   151,   152,   153,    -1,   155,    -1,   157,   158,    -1,
16010      160,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
16011       -1,   171,   172,   173,   174,   175,   176,   177,   178,   179,
16012      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
16013      190,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
16014       -1,   201,   202,   203,   204,   205,   206,   207,   208,   209,
16015      210,    -1,    -1,   213,   214,   215,   216,   217,    -1,   219,
16016      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
16017      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
16018      240,   241,   242,   243,   244,   245,    -1,   247,   248,   249,
16019      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
16020       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,   269,
16021      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
16022      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
16023       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
16024      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
16025      310,   311,   312,   313,   314,   315,    -1,   317,   318,   319,
16026      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
16027      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
16028      340,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
16029      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
16030      360,   361,    -1,   363,   364,    -1,   366,   367,   368,   369,
16031      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
16032      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
16033      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
16034      400,   401,   402,   403,   404,   405,   406,    -1,   408,   409,
16035      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
16036      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
16037      430,   431,   432,   433,   434,   435,   436,    -1,    -1,     3,
16038       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16039       -1,    -1,    -1,   453,    18,    19,    20,    21,    22,    23,
16040       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
16041       -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
16042       44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
16043       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
16044       -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
16045       74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
16046       84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
16047       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
16048      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
16049      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
16050      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
16051      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
16052      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
16053       -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,   163,
16054       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
16055      174,   175,    -1,   177,   178,   179,   180,    -1,   182,   183,
16056      184,   185,   186,   187,    -1,   189,    -1,   191,   192,   193,
16057      194,   195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,
16058      204,    -1,   206,   207,   208,   209,   210,    -1,    -1,   213,
16059      214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,    -1,
16060      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
16061      234,   235,   236,   237,   238,   239,   240,    -1,   242,   243,
16062      244,   245,    -1,   247,   248,    -1,   250,    -1,   252,   253,
16063      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
16064      264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,   273,
16065      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
16066      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
16067      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
16068       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
16069      314,   315,    -1,   317,   318,    -1,   320,   321,   322,   323,
16070      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
16071      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
16072       -1,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
16073      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
16074      364,   365,   366,    -1,   368,   369,   370,   371,   372,    -1,
16075      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
16076      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
16077      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
16078      404,   405,   406,    -1,   408,    -1,   410,   411,   412,   413,
16079       -1,    -1,   416,    -1,   418,   419,   420,   421,   422,   423,
16080      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
16081      434,   435,   436,    -1,    -1,   439,     3,    -1,    -1,    -1,
16082       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   453,
16083       -1,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
16084       27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16085       37,    38,    -1,    40,    41,    -1,    43,    44,    45,    46,
16086       47,    -1,    49,    50,    -1,    52,    53,    54,    55,    56,
16087       -1,    -1,    59,    60,    61,    62,    63,    -1,    65,    66,
16088       67,    68,    69,    -1,    -1,    -1,    73,    74,    75,    76,
16089       -1,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
16090       87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,
16091       -1,    -1,    -1,   100,   101,   102,   103,   104,   105,   106,
16092      107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
16093      117,    -1,   119,   120,   121,    -1,    -1,   124,   125,   126,
16094      127,   128,    -1,   130,   131,   132,    -1,   134,   135,   136,
16095       -1,   138,   139,   140,   141,   142,   143,   144,   145,   146,
16096       -1,   148,    -1,   150,   151,   152,   153,    -1,   155,    -1,
16097      157,    -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,
16098       -1,   168,   169,    -1,   171,   172,   173,   174,   175,    -1,
16099      177,   178,   179,   180,    -1,   182,   183,   184,   185,   186,
16100      187,    -1,   189,    -1,   191,   192,   193,   194,   195,   196,
16101      197,    -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,
16102      207,   208,   209,   210,    -1,    -1,   213,   214,    -1,   216,
16103       -1,    -1,   219,   220,   221,    -1,    -1,   224,   225,   226,
16104      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
16105      237,   238,   239,   240,    -1,   242,   243,   244,   245,    -1,
16106      247,   248,    -1,   250,    -1,   252,   253,   254,   255,   256,
16107      257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,
16108      267,   268,    -1,   270,    -1,   272,   273,   274,   275,   276,
16109      277,   278,   279,   280,    -1,   282,   283,   284,   285,   286,
16110      287,   288,   289,    -1,   291,   292,   293,   294,   295,   296,
16111      297,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
16112      307,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
16113      317,   318,    -1,   320,   321,   322,   323,   324,   325,   326,
16114      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
16115      337,    -1,   339,   340,   341,   342,   343,    -1,   345,   346,
16116      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
16117      357,   358,   359,   360,   361,    -1,   363,   364,    -1,   366,
16118       -1,   368,   369,   370,   371,   372,    -1,   374,   375,    -1,
16119       -1,   378,   379,   380,   381,   382,    -1,   384,   385,   386,
16120      387,   388,   389,   390,    -1,    -1,   393,   394,   395,   396,
16121      397,    -1,    -1,   400,   401,   402,   403,   404,   405,   406,
16122       -1,   408,    -1,   410,   411,   412,   413,    -1,    -1,   416,
16123       -1,    -1,   419,   420,   421,   422,   423,   424,   425,   426,
16124      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
16125       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16126       -1,    -1,    -1,    -1,    -1,    -1,   453,    18,    19,    20,
16127       21,    22,    23,    24,    25,    -1,    27,    28,    29,    -1,
16128       -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,
16129       41,    -1,    43,    44,    45,    46,    47,    -1,    49,    50,
16130       -1,    52,    53,    54,    55,    56,    -1,    -1,    59,    60,
16131       61,    62,    63,    -1,    65,    66,    67,    68,    69,    -1,
16132       -1,    -1,    73,    74,    75,    76,    -1,    78,    79,    80,
16133       -1,    82,    83,    84,    85,    86,    87,    -1,    -1,    90,
16134       91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,
16135      101,   102,   103,   104,   105,   106,   107,   108,    -1,   110,
16136       -1,   112,   113,   114,   115,   116,   117,    -1,   119,   120,
16137      121,    -1,    -1,   124,   125,   126,   127,   128,    -1,   130,
16138      131,   132,    -1,   134,   135,   136,    -1,   138,   139,   140,
16139      141,   142,   143,   144,   145,   146,    -1,   148,    -1,   150,
16140      151,   152,   153,    -1,   155,    -1,   157,    -1,    -1,    -1,
16141      161,   162,   163,    -1,   165,   166,    -1,   168,   169,    -1,
16142      171,   172,   173,   174,   175,    -1,   177,   178,   179,   180,
16143       -1,   182,   183,   184,   185,   186,   187,    -1,   189,    -1,
16144      191,   192,   193,   194,   195,   196,   197,    -1,   199,    -1,
16145      201,    -1,    -1,   204,    -1,   206,   207,   208,   209,   210,
16146       -1,    -1,   213,   214,    -1,   216,    -1,    -1,   219,   220,
16147      221,    -1,    -1,   224,   225,   226,   227,   228,   229,   230,
16148      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
16149       -1,   242,   243,   244,   245,    -1,   247,   248,    -1,   250,
16150       -1,   252,   253,   254,   255,   256,   257,    -1,   259,    -1,
16151       -1,   262,   263,   264,    -1,    -1,   267,   268,    -1,   270,
16152       -1,   272,   273,   274,   275,   276,   277,   278,   279,   280,
16153       -1,   282,   283,   284,   285,   286,   287,   288,   289,    -1,
16154      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
16155      301,   302,   303,    -1,   305,   306,   307,   308,   309,   310,
16156      311,   312,   313,   314,   315,    -1,   317,   318,    -1,   320,
16157      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
16158      331,    -1,   333,   334,   335,   336,   337,    -1,   339,   340,
16159      341,   342,   343,    -1,   345,   346,   347,   348,    -1,   350,
16160      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
16161      361,    -1,   363,   364,    -1,   366,    -1,   368,   369,   370,
16162      371,   372,    -1,   374,   375,    -1,    -1,   378,   379,   380,
16163      381,   382,    -1,   384,   385,   386,   387,   388,   389,   390,
16164       -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,   400,
16165      401,   402,   403,   404,   405,   406,    -1,   408,    -1,   410,
16166      411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,
16167      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
16168      431,   432,   433,   434,   435,   436,    -1,    -1,     3,    -1,
16169       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16170       -1,    -1,   453,    18,    19,    20,    21,    22,    23,    24,
16171       25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,
16172       -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,    44,
16173       45,    46,    47,    -1,    49,    50,    -1,    52,    53,    54,
16174       55,    56,    -1,    -1,    59,    60,    61,    62,    63,    -1,
16175       65,    66,    67,    68,    69,    -1,    -1,    -1,    73,    74,
16176       75,    76,    -1,    78,    79,    80,    -1,    82,    83,    84,
16177       85,    86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,
16178       -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,
16179      105,   106,   107,   108,    -1,   110,    -1,   112,   113,   114,
16180      115,   116,   117,    -1,   119,   120,   121,    -1,    -1,   124,
16181      125,   126,   127,   128,    -1,   130,   131,   132,    -1,   134,
16182      135,   136,    -1,   138,   139,   140,   141,   142,   143,   144,
16183      145,   146,    -1,   148,    -1,   150,   151,   152,   153,    -1,
16184      155,    -1,   157,    -1,    -1,    -1,   161,   162,   163,    -1,
16185      165,   166,    -1,   168,   169,    -1,   171,   172,   173,   174,
16186      175,    -1,   177,   178,   179,   180,    -1,   182,   183,   184,
16187      185,   186,   187,    -1,   189,    -1,   191,   192,   193,   194,
16188      195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,   204,
16189       -1,   206,   207,   208,   209,   210,    -1,    -1,   213,   214,
16190       -1,   216,    -1,    -1,   219,   220,   221,    -1,    -1,   224,
16191      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
16192      235,   236,   237,   238,   239,   240,    -1,   242,   243,   244,
16193      245,    -1,   247,   248,    -1,   250,    -1,   252,   253,   254,
16194      255,   256,   257,    -1,   259,    -1,    -1,   262,   263,   264,
16195       -1,    -1,   267,   268,    -1,   270,    -1,   272,   273,   274,
16196      275,   276,   277,   278,   279,   280,    -1,   282,   283,   284,
16197      285,   286,   287,   288,   289,    -1,   291,   292,   293,   294,
16198      295,   296,   297,   298,   299,   300,   301,   302,   303,    -1,
16199      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
16200      315,    -1,   317,   318,    -1,   320,   321,   322,   323,   324,
16201      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
16202      335,   336,   337,    -1,   339,   340,   341,   342,   343,    -1,
16203      345,   346,   347,   348,    -1,   350,   351,   352,   353,   354,
16204      355,   356,   357,   358,   359,   360,   361,    -1,   363,   364,
16205       -1,   366,    -1,   368,   369,   370,   371,   372,    -1,   374,
16206      375,    -1,    -1,   378,   379,   380,   381,   382,    -1,   384,
16207      385,   386,   387,   388,   389,   390,    -1,    -1,   393,   394,
16208      395,   396,   397,    -1,    -1,   400,   401,   402,   403,   404,
16209      405,   406,    -1,   408,    -1,   410,   411,   412,   413,    -1,
16210       -1,   416,    -1,    -1,   419,   420,   421,   422,   423,   424,
16211      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
16212      435,   436,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
16213       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   453,    18,
16214       19,    20,    21,    22,    23,    24,    25,    -1,    27,    28,
16215       29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,
16216       -1,    40,    41,    -1,    43,    44,    45,    46,    47,    -1,
16217       49,    50,    -1,    52,    53,    54,    55,    56,    -1,    -1,
16218       59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
16219       69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,
16220       79,    80,    -1,    82,    83,    84,    85,    86,    87,    -1,
16221       -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,
16222       -1,   100,   101,   102,   103,   104,   105,   106,   107,   108,
16223       -1,   110,    -1,   112,   113,   114,   115,   116,   117,    -1,
16224      119,   120,   121,    -1,    -1,   124,   125,   126,   127,   128,
16225       -1,   130,   131,   132,    -1,   134,   135,   136,    -1,   138,
16226      139,   140,   141,   142,   143,   144,   145,   146,    -1,   148,
16227       -1,   150,   151,   152,   153,    -1,   155,    -1,   157,    -1,
16228       -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,   168,
16229      169,    -1,   171,   172,   173,   174,   175,    -1,   177,   178,
16230      179,   180,    -1,   182,   183,   184,   185,   186,   187,    -1,
16231      189,    -1,   191,   192,   193,   194,   195,   196,   197,    -1,
16232      199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,   208,
16233      209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,    -1,
16234      219,   220,   221,    -1,    -1,   224,   225,   226,   227,   228,
16235      229,   230,   231,   232,   233,   234,   235,   236,   237,   238,
16236      239,   240,    -1,   242,   243,   244,   245,    -1,   247,   248,
16237       -1,   250,    -1,   252,   253,   254,   255,   256,   257,    -1,
16238      259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,
16239       -1,   270,    -1,   272,   273,   274,   275,   276,   277,   278,
16240      279,   280,    -1,   282,   283,   284,   285,   286,   287,   288,
16241      289,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
16242      299,   300,   301,   302,   303,    -1,   305,   306,   307,   308,
16243      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
16244       -1,   320,   321,   322,   323,   324,   325,   326,   327,   328,
16245      329,   330,   331,    -1,   333,   334,   335,   336,   337,    -1,
16246      339,   340,   341,   342,   343,    -1,   345,   346,   347,   348,
16247       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
16248      359,   360,   361,    -1,   363,   364,    -1,   366,    -1,   368,
16249      369,   370,   371,   372,    -1,   374,   375,    -1,    -1,   378,
16250      379,   380,   381,   382,    -1,   384,   385,   386,   387,   388,
16251      389,   390,    -1,    -1,   393,   394,   395,   396,   397,    -1,
16252       -1,   400,   401,   402,   403,   404,   405,   406,    -1,   408,
16253       -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,
16254      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
16255      429,   430,   431,   432,   433,   434,   435,   436,    -1,    -1,
16256       -1,    -1,    -1,     3,     4,     5,    -1,    -1,     8,     9,
16257       -1,    -1,    -1,    -1,   453,    15,    16,    17,    18,    19,
16258       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
16259       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
16260       40,    41,    42,    43,    44,    45,    -1,    47,    48,    49,
16261       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
16262       60,    61,    62,    63,    64,    65,    66,    67,    68,    -1,
16263       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
16264       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
16265       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
16266      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
16267      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
16268      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
16269      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
16270      140,   141,    -1,   143,   144,   145,    -1,   147,   148,   149,
16271      150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
16272      160,   161,   162,   163,   164,   165,    -1,   167,    -1,   169,
16273      170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
16274      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
16275      190,    -1,   192,   193,   194,   195,   196,   197,   198,   199,
16276      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
16277      210,   211,   212,   213,    -1,   215,   216,   217,   218,   219,
16278      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
16279      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
16280      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
16281      250,   251,    -1,   253,   254,   255,   256,   257,   258,   259,
16282      260,   261,   262,   263,   264,   265,   266,   267,    -1,   269,
16283      270,   271,    -1,   273,   274,   275,   276,   277,   278,   279,
16284      280,   281,   282,   283,    -1,   285,    -1,   287,   288,   289,
16285      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
16286      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
16287      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
16288      320,   321,   322,    -1,   324,   325,   326,   327,   328,   329,
16289      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
16290      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
16291      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
16292      360,    -1,   362,   363,   364,   365,   366,   367,   368,   369,
16293      370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
16294       -1,   381,    -1,   383,   384,   385,   386,   387,   388,   389,
16295      390,   391,   392,   393,   394,   395,   396,   397,   398,   399,
16296      400,   401,   402,   403,   404,    -1,   406,   407,   408,   409,
16297      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
16298      420,   421,   422,   423,   424,    -1,    -1,    -1,    -1,    -1,
16299       -1,    -1,    -1,    -1,   434,   435,   436,    -1,    -1,    -1,
16300      440,   441,   442,    -1,   444,   445,   446,   447,   448,   449,
16301        3,     4,     5,    -1,    -1,     8,     9,    -1,    -1,    -1,
16302       -1,    -1,    15,    16,    17,    18,    19,    20,    21,    22,
16303       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
16304       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
16305       43,    44,    45,    -1,    47,    48,    49,    50,    51,    52,
16306       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
16307       63,    64,    65,    66,    67,    68,    -1,    70,    71,    72,
16308       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
16309       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
16310       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
16311      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
16312      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
16313      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
16314      133,   134,   135,   136,   137,   138,   139,   140,   141,    -1,
16315      143,   144,   145,    -1,   147,   148,   149,   150,   151,   152,
16316      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
16317      163,   164,   165,    -1,   167,    -1,   169,   170,   171,   172,
16318      173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
16319      183,   184,   185,   186,   187,   188,   189,   190,    -1,   192,
16320      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
16321      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
16322      213,    -1,   215,   216,   217,   218,   219,   220,   221,   222,
16323      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
16324      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
16325      243,   244,    -1,   246,   247,   248,   249,   250,   251,    -1,
16326      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
16327      263,   264,   265,   266,   267,    -1,   269,   270,   271,    -1,
16328      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
16329      283,    -1,   285,    -1,   287,   288,   289,   290,   291,   292,
16330      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
16331      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
16332      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
16333       -1,   324,   325,   326,   327,   328,   329,   330,   331,   332,
16334      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
16335      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
16336      353,   354,   355,   356,   357,   358,   359,   360,    -1,   362,
16337      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
16338      373,   374,   375,   376,   377,   378,   379,    -1,   381,    -1,
16339      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
16340      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
16341      403,   404,    -1,   406,   407,   408,   409,   410,   411,   412,
16342      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
16343      423,   424,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16344       -1,   434,   435,   436,    -1,     3,    -1,   440,   441,   442,
16345        8,   444,   445,   446,   447,   448,   449,    15,    16,    17,
16346       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
16347       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
16348       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
16349       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
16350       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
16351       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
16352       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
16353       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
16354       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
16355      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
16356       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
16357      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
16358      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
16359      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
16360       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
16361      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
16362      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
16363       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
16364       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
16365      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
16366       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
16367      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
16368      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
16369      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
16370       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
16371      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
16372      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
16373      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
16374      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
16375      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
16376      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
16377      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
16378       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
16379      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
16380      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
16381      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
16382      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
16383      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
16384       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
16385      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
16386       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
16387      428,   429,   430,   431,   432,   433,   434,   435,   436,    -1,
16388        3,    -1,   440,   441,   442,     8,   444,   445,   446,   447,
16389      448,   449,    15,    16,    17,    18,    19,    20,    21,    22,
16390       23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
16391       -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,
16392       43,    44,    45,    46,    47,    -1,    49,    50,    -1,    52,
16393       53,    54,    55,    56,    -1,    -1,    59,    60,    61,    62,
16394       63,    -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,
16395       73,    74,    75,    76,    -1,    78,    79,    80,    -1,    82,
16396       83,    84,    85,    86,    87,    -1,    -1,    90,    91,    92,
16397       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,
16398      103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
16399      113,   114,   115,   116,   117,    -1,   119,   120,   121,    -1,
16400       -1,   124,   125,   126,   127,   128,    -1,   130,   131,   132,
16401       -1,   134,   135,   136,    -1,   138,   139,   140,   141,   142,
16402      143,   144,   145,   146,    -1,   148,    -1,   150,   151,   152,
16403      153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,
16404      163,    -1,   165,   166,    -1,   168,   169,    -1,   171,   172,
16405      173,   174,   175,    -1,   177,   178,   179,   180,    -1,   182,
16406      183,   184,   185,   186,   187,    -1,   189,    -1,   191,   192,
16407      193,   194,   195,   196,   197,    -1,   199,    -1,   201,    -1,
16408       -1,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
16409      213,   214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,
16410       -1,   224,   225,   226,   227,   228,   229,   230,   231,   232,
16411      233,   234,   235,   236,   237,   238,   239,   240,    -1,   242,
16412      243,   244,   245,    -1,   247,   248,    -1,   250,    -1,   252,
16413      253,   254,   255,   256,   257,    -1,   259,    -1,    -1,   262,
16414      263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,
16415      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
16416      283,   284,   285,   286,   287,   288,   289,    -1,   291,   292,
16417      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
16418      303,    -1,   305,   306,   307,   308,   309,   310,   311,   312,
16419      313,   314,   315,    -1,   317,   318,    -1,   320,   321,   322,
16420      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
16421      333,   334,   335,   336,   337,    -1,   339,   340,   341,   342,
16422      343,    -1,   345,   346,   347,   348,    -1,   350,   351,   352,
16423      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
16424      363,   364,    -1,   366,    -1,   368,   369,   370,   371,   372,
16425       -1,   374,   375,    -1,    -1,   378,   379,   380,   381,   382,
16426       -1,   384,   385,   386,   387,   388,   389,   390,    -1,    -1,
16427      393,   394,   395,   396,   397,    -1,    -1,   400,   401,   402,
16428      403,   404,   405,   406,    -1,   408,    -1,   410,   411,   412,
16429      413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,
16430      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
16431      433,   434,   435,   436,    -1,     3,    -1,   440,   441,   442,
16432        8,   444,   445,   446,   447,   448,   449,    15,    16,    17,
16433       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
16434       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
16435       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
16436       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
16437       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
16438       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
16439       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
16440       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
16441       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
16442      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
16443       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
16444      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
16445      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
16446      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
16447       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
16448      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
16449      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
16450       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
16451       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
16452      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
16453       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
16454      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
16455      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
16456      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
16457       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
16458      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
16459      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
16460      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
16461      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
16462      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
16463      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
16464      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
16465       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
16466      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
16467      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
16468      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
16469      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
16470      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
16471       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
16472      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
16473       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
16474      428,   429,   430,   431,   432,   433,   434,   435,   436,    -1,
16475        3,    -1,   440,   441,   442,     8,   444,   445,   446,   447,
16476      448,   449,    15,    16,    17,    18,    19,    20,    21,    22,
16477       23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
16478       -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,
16479       43,    44,    45,    46,    47,    -1,    49,    50,    -1,    52,
16480       53,    54,    55,    56,    -1,    -1,    59,    60,    61,    62,
16481       63,    -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,
16482       73,    74,    75,    76,    -1,    78,    79,    80,    -1,    82,
16483       83,    84,    85,    86,    87,    -1,    -1,    90,    91,    92,
16484       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,
16485      103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
16486      113,   114,   115,   116,   117,    -1,   119,   120,   121,    -1,
16487       -1,   124,   125,   126,   127,   128,    -1,   130,   131,   132,
16488       -1,   134,   135,   136,    -1,   138,   139,   140,   141,   142,
16489      143,   144,   145,   146,    -1,   148,    -1,   150,   151,   152,
16490      153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,
16491      163,    -1,   165,   166,    -1,   168,   169,    -1,   171,   172,
16492      173,   174,   175,    -1,   177,   178,   179,   180,    -1,   182,
16493      183,   184,   185,   186,   187,    -1,   189,    -1,   191,   192,
16494      193,   194,   195,   196,   197,    -1,   199,    -1,   201,    -1,
16495       -1,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
16496      213,   214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,
16497       -1,   224,   225,   226,   227,   228,   229,   230,   231,   232,
16498      233,   234,   235,   236,   237,   238,   239,   240,    -1,   242,
16499      243,   244,   245,    -1,   247,   248,    -1,   250,    -1,   252,
16500      253,   254,   255,   256,   257,    -1,   259,    -1,    -1,   262,
16501      263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,
16502      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
16503      283,   284,   285,   286,   287,   288,   289,    -1,   291,   292,
16504      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
16505      303,    -1,   305,   306,   307,   308,   309,   310,   311,   312,
16506      313,   314,   315,    -1,   317,   318,    -1,   320,   321,   322,
16507      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
16508      333,   334,   335,   336,   337,    -1,   339,   340,   341,   342,
16509      343,    -1,   345,   346,   347,   348,    -1,   350,   351,   352,
16510      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
16511      363,   364,    -1,   366,    -1,   368,   369,   370,   371,   372,
16512       -1,   374,   375,    -1,    -1,   378,   379,   380,   381,   382,
16513       -1,   384,   385,   386,   387,   388,   389,   390,    -1,    -1,
16514      393,   394,   395,   396,   397,    -1,    -1,   400,   401,   402,
16515      403,   404,   405,   406,    -1,   408,    -1,   410,   411,   412,
16516      413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,
16517      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
16518      433,   434,   435,   436,    -1,     3,    -1,   440,   441,   442,
16519        8,   444,   445,   446,   447,   448,   449,    15,    16,    17,
16520       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
16521       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
16522       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
16523       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
16524       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
16525       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
16526       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
16527       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
16528       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
16529      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
16530       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
16531      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
16532      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
16533      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
16534       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
16535      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
16536      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
16537       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
16538       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
16539      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
16540       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
16541      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
16542      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
16543      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
16544       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
16545      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
16546      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
16547      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
16548      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
16549      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
16550      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
16551      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
16552       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
16553      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
16554      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
16555      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
16556      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
16557      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
16558       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
16559      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
16560       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
16561      428,   429,   430,   431,   432,   433,   434,   435,   436,    -1,
16562        3,    -1,   440,   441,   442,     8,   444,   445,   446,   447,
16563      448,   449,    15,    16,    17,    18,    19,    20,    21,    22,
16564       23,    24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,
16565       -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,
16566       43,    44,    45,    46,    47,    -1,    49,    50,    -1,    52,
16567       53,    54,    55,    56,    -1,    -1,    59,    60,    61,    62,
16568       63,    -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,
16569       73,    74,    75,    76,    -1,    78,    79,    80,    -1,    82,
16570       83,    84,    85,    86,    87,    -1,    -1,    90,    91,    92,
16571       -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,
16572      103,   104,   105,   106,   107,   108,    -1,   110,    -1,   112,
16573      113,   114,   115,   116,   117,    -1,   119,   120,   121,    -1,
16574       -1,   124,   125,   126,   127,   128,    -1,   130,   131,   132,
16575       -1,   134,   135,   136,    -1,   138,   139,   140,   141,   142,
16576      143,   144,   145,   146,    -1,   148,    -1,   150,   151,   152,
16577      153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,
16578      163,    -1,   165,   166,    -1,   168,   169,    -1,   171,   172,
16579      173,   174,   175,    -1,   177,   178,   179,   180,    -1,   182,
16580      183,   184,   185,   186,   187,    -1,   189,    -1,   191,   192,
16581      193,   194,   195,   196,   197,    -1,   199,    -1,   201,    -1,
16582       -1,   204,    -1,   206,   207,   208,   209,   210,    -1,    -1,
16583      213,   214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,
16584       -1,   224,   225,   226,   227,   228,   229,   230,   231,   232,
16585      233,   234,   235,   236,   237,   238,   239,   240,    -1,   242,
16586      243,   244,   245,    -1,   247,   248,    -1,   250,    -1,   252,
16587      253,   254,   255,   256,   257,    -1,   259,    -1,    -1,   262,
16588      263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,
16589      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
16590      283,   284,   285,   286,   287,   288,   289,    -1,   291,   292,
16591      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
16592      303,    -1,   305,   306,   307,   308,   309,   310,   311,   312,
16593      313,   314,   315,    -1,   317,   318,    -1,   320,   321,   322,
16594      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
16595      333,   334,   335,   336,   337,    -1,   339,   340,   341,   342,
16596      343,    -1,   345,   346,   347,   348,    -1,   350,   351,   352,
16597      353,   354,   355,   356,   357,   358,   359,   360,   361,    -1,
16598      363,   364,    -1,   366,    -1,   368,   369,   370,   371,   372,
16599       -1,   374,   375,    -1,    -1,   378,   379,   380,   381,   382,
16600       -1,   384,   385,   386,   387,   388,   389,   390,    -1,    -1,
16601      393,   394,   395,   396,   397,    -1,    -1,   400,   401,   402,
16602      403,   404,   405,   406,    -1,   408,    -1,   410,   411,   412,
16603      413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,
16604      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
16605      433,   434,   435,   436,    -1,     3,    -1,   440,   441,   442,
16606        8,   444,   445,   446,   447,   448,   449,    15,    16,    17,
16607       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
16608       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
16609       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
16610       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
16611       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
16612       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
16613       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
16614       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
16615       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
16616      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
16617       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
16618      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
16619      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
16620      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
16621       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
16622      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
16623      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
16624       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
16625       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
16626      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
16627       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
16628      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
16629      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
16630      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
16631       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
16632      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
16633      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
16634      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
16635      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
16636      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
16637      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
16638      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
16639       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
16640      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
16641      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
16642      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
16643      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
16644      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
16645       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
16646      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
16647       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
16648      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
16649       -1,    -1,   440,   441,   442,    -1,   444,   445,   446,   447,
16650      448,   449,    -1,    -1,    18,    19,    20,    21,    22,    23,
16651       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
16652       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
16653       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
16654       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
16655       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
16656       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
16657       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
16658       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
16659      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
16660      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
16661      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
16662      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
16663      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
16664      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
16665      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
16666      174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
16667      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
16668      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
16669      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
16670      214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
16671      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
16672      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
16673      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
16674      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
16675      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
16676      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
16677      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
16678      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
16679      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
16680      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
16681      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
16682      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
16683      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
16684      354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
16685      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
16686      374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
16687      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
16688      394,   395,   396,   397,   398,   399,   400,   401,   402,   403,
16689      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
16690      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
16691      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
16692      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
16693       -1,    -1,   446,    -1,    -1,    -1,    -1,    -1,    18,    19,
16694       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
16695       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
16696       40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
16697       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
16698       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
16699       -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
16700       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
16701       90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16702      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
16703      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
16704      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
16705      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
16706      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
16707      150,   151,   152,   153,    -1,   155,    -1,   157,    -1,    -1,
16708       -1,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
16709       -1,   171,   172,   173,   174,   175,    -1,   177,   178,   179,
16710      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
16711       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
16712       -1,   201,    -1,    -1,   204,    -1,   206,   207,   208,   209,
16713      210,    -1,    -1,   213,   214,    -1,   216,    -1,    -1,   219,
16714      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
16715      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
16716      240,    -1,   242,   243,   244,   245,    -1,   247,   248,    -1,
16717      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
16718       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,    -1,
16719      270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
16720      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
16721       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
16722      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
16723      310,   311,   312,   313,   314,   315,    -1,   317,   318,    -1,
16724      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
16725      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
16726      340,   341,   342,   343,    -1,   345,   346,   347,   348,    -1,
16727      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
16728      360,   361,    -1,   363,   364,    -1,   366,    -1,   368,   369,
16729      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
16730      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
16731      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
16732      400,   401,   402,   403,   404,   405,   406,    -1,   408,    -1,
16733      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
16734      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
16735      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
16736       -1,    -1,    -1,    -1,    -1,    -1,   446,    -1,    -1,    -1,
16737       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
16738       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
16739       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
16740       -1,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
16741       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
16742       66,    67,    68,    -1,    -1,    71,    -1,    73,    74,    75,
16743       76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
16744       86,    87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,
16745       96,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
16746      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
16747      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
16748      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
16749      136,    -1,   138,   139,   140,   141,    -1,   143,   144,   145,
16750       -1,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
16751       -1,   157,   158,    -1,   160,   161,   162,   163,    -1,   165,
16752       -1,    -1,    -1,   169,    -1,   171,   172,   173,   174,   175,
16753      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
16754      186,   187,    -1,   189,   190,   191,   192,   193,   194,   195,
16755      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
16756      206,   207,   208,   209,   210,    -1,    -1,   213,    -1,   215,
16757      216,   217,    -1,   219,   220,   221,    -1,    -1,   224,   225,
16758      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
16759      236,   237,   238,   239,   240,   241,   242,   243,   244,    -1,
16760       -1,   247,   248,   249,   250,    -1,    -1,   253,   254,   255,
16761      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
16762      266,   267,   268,   269,   270,   271,    -1,   273,   274,   275,
16763      276,   277,   278,   279,   280,    -1,   282,   283,    -1,   285,
16764       -1,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
16765      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
16766      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
16767       -1,   317,   318,   319,   320,   321,   322,    -1,   324,   325,
16768      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
16769      336,   337,    -1,   339,   340,   341,   342,   343,   344,   345,
16770      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
16771      356,   357,   358,   359,   360,    -1,    -1,   363,   364,    -1,
16772      366,   367,   368,   369,   370,   371,   372,    -1,   374,   375,
16773       -1,    -1,   378,   379,    -1,   381,    -1,    -1,   384,   385,
16774      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
16775      396,   397,    -1,    -1,   400,   401,   402,   403,   404,    -1,
16776      406,   407,   408,   409,   410,   411,   412,   413,    -1,    -1,
16777      416,    -1,    -1,   419,   420,   421,   422,   423,   424,    -1,
16778       -1,    -1,    -1,    -1,    -1,    -1,     3,    -1,   434,   435,
16779      436,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16780      446,    18,    19,    20,    21,    22,    23,    24,    25,    -1,
16781       27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16782       37,    38,    -1,    40,    41,    42,    43,    44,    45,    -1,
16783       47,    48,    49,    50,    -1,    52,    53,    54,    55,    56,
16784       -1,    -1,    59,    60,    61,    62,    63,    -1,    65,    66,
16785       67,    68,    -1,    -1,    71,    -1,    73,    74,    75,    76,
16786       77,    78,    79,    80,    -1,    82,    83,    84,    85,    86,
16787       87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,    96,
16788       -1,    -1,    -1,   100,   101,   102,   103,   104,   105,   106,
16789      107,   108,    -1,   110,    -1,   112,   113,   114,   115,   116,
16790      117,    -1,   119,   120,   121,    -1,    -1,   124,   125,   126,
16791      127,   128,    -1,   130,   131,   132,    -1,   134,   135,   136,
16792       -1,   138,   139,   140,   141,    -1,   143,   144,   145,    -1,
16793       -1,   148,    -1,   150,   151,   152,   153,    -1,   155,    -1,
16794      157,   158,    -1,   160,   161,   162,   163,    -1,   165,    -1,
16795       -1,    -1,   169,    -1,   171,   172,   173,   174,   175,   176,
16796      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
16797      187,    -1,   189,   190,   191,   192,   193,   194,   195,   196,
16798      197,    -1,   199,    -1,   201,   202,   203,   204,   205,   206,
16799      207,   208,   209,   210,    -1,    -1,   213,    -1,   215,   216,
16800      217,    -1,   219,   220,   221,    -1,    -1,   224,   225,   226,
16801      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
16802      237,   238,   239,   240,   241,   242,   243,   244,    -1,    -1,
16803      247,   248,   249,   250,    -1,    -1,   253,   254,   255,   256,
16804      257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,   266,
16805      267,   268,   269,   270,   271,    -1,   273,   274,   275,   276,
16806      277,   278,   279,   280,    -1,   282,   283,    -1,   285,    -1,
16807      287,   288,   289,    -1,   291,   292,   293,   294,   295,   296,
16808      297,   298,   299,   300,   301,   302,   303,    -1,   305,   306,
16809      307,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
16810      317,   318,   319,   320,   321,   322,    -1,   324,   325,   326,
16811      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
16812      337,    -1,   339,   340,   341,   342,   343,   344,   345,   346,
16813      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
16814      357,   358,   359,   360,    -1,    -1,   363,   364,    -1,   366,
16815      367,   368,   369,   370,   371,   372,    -1,   374,   375,    -1,
16816       -1,   378,   379,    -1,   381,    -1,    -1,   384,   385,   386,
16817      387,   388,   389,   390,    -1,    -1,   393,   394,   395,   396,
16818      397,    -1,    -1,   400,   401,   402,   403,   404,    -1,   406,
16819      407,   408,   409,   410,   411,   412,   413,    -1,    -1,   416,
16820       -1,    -1,   419,   420,   421,   422,   423,   424,    -1,    -1,
16821       -1,    -1,    -1,    -1,    -1,     3,    -1,   434,   435,   436,
16822       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   446,
16823       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
16824       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
16825       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
16826       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
16827       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
16828       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
16829       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
16830       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
16831       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
16832      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
16833       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
16834      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
16835      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
16836      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
16837       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
16838      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
16839      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
16840       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
16841       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
16842      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
16843       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
16844      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
16845      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
16846      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
16847       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
16848      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
16849      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
16850      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
16851      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
16852      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
16853      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
16854      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
16855       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
16856      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
16857      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
16858      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
16859      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
16860      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
16861       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
16862      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
16863       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
16864      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
16865        4,     5,    -1,    -1,    -1,     9,    -1,    -1,   446,    -1,
16866       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
16867       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
16868       -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
16869       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
16870       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
16871       -1,    65,    66,    67,    68,    69,    -1,    71,    -1,    73,
16872       74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
16873       84,    85,    86,    87,    -1,    89,    90,    91,    92,    -1,
16874       -1,    -1,    96,    -1,    -1,    -1,   100,   101,   102,   103,
16875      104,   105,   106,   107,   108,   109,   110,    -1,   112,   113,
16876      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
16877      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
16878      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
16879      144,   145,   146,   147,   148,    -1,   150,   151,   152,   153,
16880       -1,   155,    -1,   157,   158,    -1,   160,   161,   162,   163,
16881       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
16882      174,   175,   176,   177,   178,   179,   180,    -1,   182,   183,
16883      184,   185,   186,   187,    -1,   189,   190,   191,   192,   193,
16884      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
16885      204,   205,   206,   207,   208,   209,   210,    -1,    -1,   213,
16886      214,   215,   216,   217,    -1,   219,   220,   221,    -1,    -1,
16887      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
16888      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
16889      244,   245,    -1,   247,   248,   249,   250,    -1,   252,   253,
16890      254,   255,   256,   257,    -1,   259,   260,    -1,   262,   263,
16891      264,    -1,    -1,   267,   268,   269,   270,   271,   272,   273,
16892      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
16893      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
16894      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
16895       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
16896      314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
16897      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
16898      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
16899      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
16900      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
16901      364,    -1,   366,   367,   368,   369,   370,   371,   372,    -1,
16902      374,   375,    -1,    -1,   378,   379,   380,   381,   382,   383,
16903      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
16904      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
16905      404,   405,   406,    -1,   408,   409,   410,   411,   412,   413,
16906       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
16907      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
16908      434,   435,   436,     3,     4,     5,    -1,    -1,    -1,     9,
16909      444,   445,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
16910       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
16911       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
16912       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
16913       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
16914       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
16915       -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
16916       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
16917       90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,    -1,
16918      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
16919      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
16920      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
16921      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
16922      140,   141,   142,   143,   144,   145,   146,   147,   148,    -1,
16923      150,   151,   152,   153,    -1,   155,    -1,   157,   158,    -1,
16924      160,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
16925       -1,   171,   172,   173,   174,   175,   176,   177,   178,   179,
16926      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
16927      190,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
16928       -1,   201,   202,   203,   204,   205,   206,   207,   208,   209,
16929      210,    -1,    -1,   213,   214,   215,   216,   217,    -1,   219,
16930      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
16931      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
16932      240,   241,   242,   243,   244,   245,    -1,   247,   248,   249,
16933      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
16934      260,    -1,   262,   263,   264,    -1,    -1,   267,   268,   269,
16935      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
16936      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
16937       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
16938      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
16939      310,   311,   312,   313,   314,   315,    -1,   317,   318,   319,
16940      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
16941      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
16942      340,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
16943      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
16944      360,   361,    -1,   363,   364,    -1,   366,   367,   368,   369,
16945      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
16946      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
16947      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
16948      400,   401,   402,   403,   404,   405,   406,    -1,   408,   409,
16949      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
16950      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
16951      430,   431,   432,   433,   434,   435,   436,     3,     4,     5,
16952       -1,    -1,    -1,     9,   444,   445,    -1,    -1,    -1,    -1,
16953       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
16954       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
16955       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
16956       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
16957       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
16958       66,    67,    68,    69,    -1,    71,    -1,    73,    74,    75,
16959       76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
16960       86,    87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,
16961       96,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
16962      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
16963      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
16964      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
16965      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
16966      146,   147,   148,    -1,   150,   151,   152,   153,    -1,   155,
16967       -1,   157,   158,    -1,   160,   161,   162,   163,    -1,   165,
16968      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
16969      176,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
16970      186,   187,    -1,   189,   190,   191,   192,   193,   194,   195,
16971      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
16972      206,   207,   208,   209,   210,    -1,    -1,   213,   214,   215,
16973      216,   217,    -1,   219,   220,   221,    -1,    -1,   224,   225,
16974      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
16975      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
16976       -1,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
16977      256,   257,    -1,   259,   260,    -1,   262,   263,   264,    -1,
16978       -1,   267,   268,   269,   270,   271,   272,   273,   274,   275,
16979      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
16980      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
16981      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
16982      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
16983       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
16984      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
16985      336,   337,    -1,   339,   340,   341,   342,   343,   344,   345,
16986      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
16987      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
16988      366,   367,   368,   369,   370,   371,   372,    -1,   374,   375,
16989       -1,    -1,   378,   379,   380,   381,   382,   383,   384,   385,
16990      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
16991      396,   397,    -1,    -1,   400,   401,   402,   403,   404,   405,
16992      406,    -1,   408,   409,   410,   411,   412,   413,    -1,    -1,
16993      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
16994      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
16995      436,     3,    -1,     5,    -1,    -1,    -1,     9,   444,   445,
16996       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
16997       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
16998       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
16999       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
17000       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
17001       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    71,
17002       -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
17003       82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
17004       92,    -1,    -1,    -1,    96,    -1,    -1,    -1,   100,   101,
17005      102,   103,   104,   105,   106,   107,   108,   109,   110,    -1,
17006      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
17007       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
17008      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
17009      142,   143,   144,   145,   146,   147,   148,    -1,   150,   151,
17010      152,   153,    -1,   155,    -1,   157,   158,    -1,   160,   161,
17011      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
17012      172,   173,   174,   175,   176,   177,   178,   179,   180,    -1,
17013      182,   183,   184,   185,   186,   187,    -1,   189,   190,   191,
17014      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
17015      202,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
17016       -1,   213,   214,   215,   216,   217,    -1,   219,   220,   221,
17017       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
17018      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
17019      242,   243,   244,   245,    -1,   247,   248,   249,   250,    -1,
17020      252,   253,   254,   255,   256,   257,    -1,   259,   260,    -1,
17021      262,   263,   264,    -1,    -1,   267,   268,   269,   270,   271,
17022      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
17023      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
17024      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
17025      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
17026      312,   313,   314,   315,    -1,   317,   318,   319,   320,   321,
17027      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
17028       -1,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
17029      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
17030      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
17031       -1,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
17032      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
17033      382,   383,   384,   385,   386,   387,   388,   389,   390,    -1,
17034       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
17035      402,   403,   404,   405,   406,    -1,   408,   409,   410,   411,
17036      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
17037      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
17038      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
17039       -1,     9,   444,   445,    -1,    -1,    -1,    -1,    -1,    -1,
17040       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
17041       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
17042       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
17043       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
17044       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
17045       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
17046       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
17047       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
17048       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
17049      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
17050       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
17051      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
17052      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
17053      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
17054       -1,   159,    -1,   161,   162,   163,    -1,   165,   166,    -1,
17055      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
17056      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
17057       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
17058       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
17059      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
17060       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
17061      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
17062      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
17063      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
17064       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
17065      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
17066      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
17067      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
17068      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
17069      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
17070      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
17071      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
17072       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
17073      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
17074      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
17075      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
17076      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
17077      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
17078       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
17079      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
17080       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
17081      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
17082        4,     5,    -1,    -1,    -1,     9,   444,   445,    -1,    -1,
17083       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
17084       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
17085       34,    35,    36,    37,    38,    39,    40,    41,    42,    43,
17086       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
17087       54,    55,    56,    57,    58,    59,    60,    61,    62,    63,
17088       64,    65,    66,    67,    68,    69,    70,    71,    72,    73,
17089       74,    75,    76,    77,    78,    79,    80,    81,    82,    83,
17090       84,    85,    86,    87,    88,    89,    90,    91,    92,    93,
17091       94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
17092      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
17093      114,   115,   116,   117,   118,   119,   120,   121,   122,   123,
17094      124,   125,   126,   127,   128,   129,   130,   131,   132,   133,
17095      134,   135,   136,   137,   138,   139,   140,   141,   142,   143,
17096      144,   145,   146,   147,   148,   149,   150,   151,   152,   153,
17097      154,   155,   156,   157,   158,   159,   160,   161,   162,   163,
17098      164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
17099      174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
17100      184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
17101      194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
17102      204,   205,   206,   207,   208,   209,   210,   211,   212,   213,
17103      214,   215,   216,   217,   218,   219,   220,   221,   222,   223,
17104      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
17105      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
17106      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
17107      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
17108      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
17109      274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
17110      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
17111      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
17112      304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
17113      314,   315,   316,   317,   318,   319,   320,   321,   322,   323,
17114      324,   325,   326,   327,   328,   329,   330,   331,   332,   333,
17115      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
17116      344,   345,   346,   347,   348,   349,   350,   351,   352,   353,
17117      354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
17118      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
17119      374,   375,   376,   377,   378,   379,   380,   381,   382,   383,
17120      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
17121      394,   395,   396,   397,   398,   399,   400,   401,   402,   403,
17122      404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
17123      414,   415,   416,   417,   418,   419,   420,   421,   422,   423,
17124      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
17125      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
17126       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
17127       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
17128       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
17129       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
17130       50,    51,    52,    53,    54,    55,    56,    57,    58,    59,
17131       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
17132       70,    71,    72,    73,    74,    75,    76,    77,    78,    79,
17133       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
17134       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
17135      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
17136      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
17137      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
17138      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
17139      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
17140      150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
17141      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
17142      170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
17143      180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
17144      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
17145      200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
17146      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
17147      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
17148      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
17149      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
17150      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
17151      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
17152      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
17153      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
17154      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
17155      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
17156      310,   311,   312,   313,   314,   315,   316,   317,   318,   319,
17157      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
17158      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
17159      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
17160      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
17161      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
17162      370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
17163      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
17164      390,   391,   392,   393,   394,   395,   396,   397,   398,   399,
17165      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
17166      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
17167      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
17168      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
17169       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17170       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
17171       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
17172       36,    37,    38,    39,    40,    41,    42,    43,    44,    45,
17173       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
17174       56,    57,    58,    59,    60,    61,    62,    63,    64,    65,
17175       66,    67,    68,    69,    70,    71,    72,    73,    74,    75,
17176       76,    77,    78,    79,    80,    81,    82,    83,    84,    85,
17177       86,    87,    88,    89,    90,    91,    92,    93,    94,    95,
17178       96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
17179      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
17180      116,   117,   118,   119,   120,   121,   122,   123,   124,   125,
17181      126,   127,   128,   129,   130,   131,   132,   133,   134,   135,
17182      136,   137,   138,   139,   140,   141,   142,   143,   144,   145,
17183      146,   147,   148,   149,   150,   151,   152,   153,   154,   155,
17184      156,   157,   158,   159,   160,   161,   162,   163,   164,   165,
17185      166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
17186      176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
17187      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
17188      196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
17189      206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
17190      216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
17191      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
17192      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
17193      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
17194      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
17195      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
17196      276,   277,   278,   279,   280,   281,   282,   283,   284,   285,
17197      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
17198      296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
17199      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
17200      316,   317,   318,   319,   320,   321,   322,   323,   324,   325,
17201      326,   327,   328,   329,   330,   331,   332,   333,   334,   335,
17202      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
17203      346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
17204      356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
17205      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
17206      376,   377,   378,   379,   380,   381,   382,   383,   384,   385,
17207      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
17208      396,   397,   398,   399,   400,   401,   402,   403,   404,   405,
17209      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
17210      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
17211      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
17212      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17213       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
17214       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
17215       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
17216       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
17217       52,    53,    54,    55,    56,    -1,    58,    59,    60,    61,
17218       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    71,
17219       -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
17220       82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
17221       92,    93,    94,    95,    96,    97,    98,    99,   100,   101,
17222      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
17223      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
17224       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
17225      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
17226      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
17227      152,   153,    -1,   155,    -1,   157,   158,    -1,   160,   161,
17228      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
17229      172,   173,   174,   175,   176,   177,   178,   179,   180,    -1,
17230      182,   183,   184,   185,   186,   187,    -1,   189,   190,   191,
17231      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
17232      202,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
17233       -1,   213,   214,   215,   216,   217,    -1,   219,   220,   221,
17234      222,   223,   224,   225,   226,   227,   228,   229,   230,   231,
17235      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
17236      242,   243,   244,   245,    -1,   247,   248,   249,   250,    -1,
17237      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
17238      262,   263,   264,    -1,    -1,   267,   268,   269,   270,   271,
17239      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
17240      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
17241      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
17242      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
17243      312,   313,   314,   315,    -1,   317,   318,   319,   320,   321,
17244      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
17245       -1,   333,   334,   335,   336,   337,   338,   339,   340,   341,
17246      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
17247      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
17248       -1,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
17249      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
17250      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
17251       -1,   393,   394,   395,   396,   397,   398,    -1,   400,   401,
17252      402,   403,   404,   405,   406,    -1,   408,   409,   410,   411,
17253      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
17254      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
17255      432,   433,   434,   435,   436,     3,    -1,     5,    -1,    -1,
17256       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17257       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
17258       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
17259       38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
17260       48,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
17261       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
17262       68,    69,    -1,    71,    -1,    73,    74,    75,    76,    77,
17263       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
17264       -1,    89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,
17265       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
17266      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
17267       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
17268      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
17269      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
17270      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
17271      158,    -1,   160,   161,   162,   163,    -1,   165,   166,    -1,
17272      168,   169,    -1,   171,   172,   173,   174,   175,   176,   177,
17273      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
17274       -1,   189,   190,   191,   192,   193,   194,   195,   196,   197,
17275       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
17276      208,   209,   210,    -1,    -1,   213,   214,   215,   216,   217,
17277       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
17278      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
17279      238,   239,   240,   241,   242,   243,   244,   245,    -1,   247,
17280      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
17281       -1,   259,   260,    -1,   262,   263,   264,    -1,    -1,   267,
17282      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
17283      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
17284      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
17285      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
17286      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
17287      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
17288      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
17289       -1,   339,   340,   341,   342,   343,   344,   345,   346,   347,
17290      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
17291      358,   359,   360,   361,    -1,   363,   364,    -1,   366,   367,
17292      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
17293      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
17294      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
17295       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
17296      408,   409,   410,   411,   412,   413,    -1,    -1,   416,    -1,
17297       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
17298      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
17299       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17300       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
17301       24,    25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,
17302       -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
17303       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
17304       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
17305       -1,    65,    66,    67,    68,    69,    -1,    71,    -1,    73,
17306       74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
17307       84,    85,    86,    87,    -1,    89,    90,    91,    92,    -1,
17308       -1,    -1,    96,    -1,    -1,    99,   100,   101,   102,   103,
17309      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
17310      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
17311      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
17312      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
17313      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
17314       -1,   155,    -1,   157,   158,    -1,   160,   161,   162,   163,
17315       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
17316      174,   175,   176,   177,   178,   179,   180,    -1,   182,   183,
17317      184,   185,   186,   187,    -1,   189,   190,   191,   192,   193,
17318      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
17319      204,   205,   206,   207,   208,   209,   210,    -1,    -1,   213,
17320      214,   215,   216,   217,    -1,   219,   220,   221,    -1,    -1,
17321      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
17322      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
17323      244,   245,    -1,   247,   248,   249,   250,    -1,   252,   253,
17324      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
17325      264,    -1,    -1,   267,   268,   269,   270,   271,   272,   273,
17326      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
17327      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
17328      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
17329       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
17330      314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
17331      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
17332      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
17333      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
17334      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
17335      364,    -1,   366,   367,   368,   369,   370,   371,   372,    -1,
17336      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
17337      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
17338      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
17339      404,   405,   406,    -1,   408,   409,   410,   411,   412,   413,
17340       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
17341      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
17342      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
17343       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
17344       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
17345       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
17346       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
17347       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
17348       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
17349       -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
17350       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
17351       90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,    99,
17352      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
17353      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
17354      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
17355      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
17356      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
17357      150,   151,   152,   153,    -1,   155,    -1,   157,   158,    -1,
17358      160,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
17359       -1,   171,   172,   173,   174,   175,   176,   177,   178,   179,
17360      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
17361      190,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
17362       -1,   201,   202,   203,   204,   205,   206,   207,   208,   209,
17363      210,    -1,    -1,   213,   214,   215,   216,   217,    -1,   219,
17364      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
17365      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
17366      240,   241,   242,   243,   244,   245,    -1,   247,   248,   249,
17367      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
17368       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,   269,
17369      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
17370      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
17371       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
17372      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
17373      310,   311,   312,   313,   314,   315,    -1,   317,   318,   319,
17374      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
17375      330,   331,    -1,   333,   334,   335,   336,   337,   338,   339,
17376      340,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
17377      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
17378      360,   361,    -1,   363,   364,    -1,   366,   367,   368,   369,
17379      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
17380      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
17381      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
17382      400,   401,   402,   403,   404,   405,   406,    -1,   408,   409,
17383      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
17384      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
17385      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
17386       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17387       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
17388       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
17389       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
17390       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
17391       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
17392       66,    67,    68,    69,    -1,    71,    -1,    73,    74,    75,
17393       76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
17394       86,    87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,
17395       96,    -1,    -1,    99,   100,   101,   102,   103,   104,   105,
17396      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
17397      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
17398      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
17399      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
17400      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
17401       -1,   157,   158,    -1,   160,   161,   162,   163,    -1,   165,
17402      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
17403      176,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
17404      186,   187,    -1,   189,   190,   191,   192,   193,   194,   195,
17405      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
17406      206,   207,   208,   209,   210,    -1,    -1,   213,   214,   215,
17407      216,   217,    -1,   219,   220,   221,    -1,    -1,   224,   225,
17408      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
17409      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
17410       -1,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
17411      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
17412       -1,   267,   268,   269,   270,   271,   272,   273,   274,   275,
17413      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
17414      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
17415      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
17416      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
17417       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
17418      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
17419      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
17420      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
17421      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
17422      366,   367,   368,   369,   370,   371,   372,    -1,   374,   375,
17423       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
17424      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
17425      396,   397,   398,    -1,   400,   401,   402,   403,   404,   405,
17426      406,    -1,   408,   409,   410,   411,   412,   413,    -1,    -1,
17427      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
17428      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
17429      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17430       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
17431       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
17432       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
17433       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
17434       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
17435       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    71,
17436       -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
17437       82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
17438       92,    -1,    -1,    -1,    96,    -1,    -1,    99,   100,   101,
17439      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
17440      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
17441       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
17442      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
17443      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
17444      152,   153,    -1,   155,    -1,   157,   158,    -1,   160,   161,
17445      162,   163,    -1,   165,   166,   167,   168,   169,    -1,   171,
17446      172,   173,   174,   175,   176,   177,   178,   179,   180,    -1,
17447      182,   183,   184,   185,   186,   187,    -1,   189,   190,   191,
17448      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
17449      202,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
17450       -1,   213,   214,   215,   216,   217,    -1,   219,   220,   221,
17451       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
17452      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
17453      242,   243,   244,   245,    -1,   247,   248,   249,   250,    -1,
17454      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
17455      262,   263,   264,    -1,    -1,   267,   268,   269,   270,   271,
17456      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
17457      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
17458      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
17459      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
17460      312,   313,   314,   315,    -1,   317,   318,   319,   320,   321,
17461      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
17462       -1,   333,   334,   335,   336,   337,   338,   339,   340,   341,
17463      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
17464      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
17465       -1,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
17466      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
17467      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
17468       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
17469      402,   403,   404,   405,   406,    -1,   408,   409,   410,   411,
17470      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
17471      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
17472      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
17473       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17474       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
17475       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
17476       38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
17477       48,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
17478       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
17479       68,    69,    -1,    71,    -1,    73,    74,    75,    76,    77,
17480       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
17481       -1,    89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,
17482       -1,    99,   100,   101,   102,   103,   104,   105,   106,   107,
17483      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
17484       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
17485      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
17486      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
17487      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
17488      158,    -1,   160,   161,   162,   163,    -1,   165,   166,    -1,
17489      168,   169,    -1,   171,   172,   173,   174,   175,   176,   177,
17490      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
17491       -1,   189,   190,   191,   192,   193,   194,   195,   196,   197,
17492       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
17493      208,   209,   210,    -1,    -1,   213,   214,   215,   216,   217,
17494       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
17495      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
17496      238,   239,   240,   241,   242,   243,   244,   245,    -1,   247,
17497      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
17498       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
17499      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
17500      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
17501      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
17502      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
17503      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
17504      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
17505      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
17506      338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
17507      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
17508      358,   359,   360,   361,    -1,   363,   364,    -1,   366,   367,
17509      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
17510      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
17511      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
17512       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
17513      408,   409,   410,   411,   412,   413,    -1,    -1,   416,    -1,
17514       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
17515      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
17516       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17517       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
17518       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
17519       -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
17520       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
17521       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
17522       -1,    65,    66,    67,    68,    69,    -1,    71,    -1,    73,
17523       74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
17524       84,    85,    86,    87,    -1,    89,    90,    91,    92,    -1,
17525       -1,    -1,    96,    -1,    -1,    99,   100,   101,   102,   103,
17526      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
17527      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
17528      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
17529      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
17530      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
17531       -1,   155,    -1,   157,   158,    -1,   160,   161,   162,   163,
17532       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
17533      174,   175,   176,   177,   178,   179,   180,    -1,   182,   183,
17534      184,   185,   186,   187,    -1,   189,   190,   191,   192,   193,
17535      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
17536      204,   205,   206,   207,   208,   209,   210,    -1,    -1,   213,
17537      214,   215,   216,   217,    -1,   219,   220,   221,    -1,    -1,
17538      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
17539      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
17540      244,   245,    -1,   247,   248,   249,   250,    -1,   252,   253,
17541      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
17542      264,    -1,    -1,   267,   268,   269,   270,   271,   272,   273,
17543      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
17544      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
17545      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
17546       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
17547      314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
17548      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
17549      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
17550      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
17551      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
17552      364,    -1,   366,   367,   368,   369,   370,   371,   372,    -1,
17553      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
17554      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
17555      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
17556      404,   405,   406,    -1,   408,   409,   410,   411,   412,   413,
17557       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
17558      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
17559      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
17560       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
17561       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
17562       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
17563       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
17564       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
17565       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
17566       -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
17567       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
17568       90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,    99,
17569      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
17570      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
17571      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
17572      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
17573      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
17574      150,   151,   152,   153,    -1,   155,    -1,   157,   158,    -1,
17575      160,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
17576       -1,   171,   172,   173,   174,   175,   176,   177,   178,   179,
17577      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
17578      190,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
17579       -1,   201,   202,   203,   204,   205,   206,   207,   208,   209,
17580      210,    -1,    -1,   213,   214,   215,   216,   217,    -1,   219,
17581      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
17582      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
17583      240,   241,   242,   243,   244,   245,    -1,   247,   248,   249,
17584      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
17585       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,   269,
17586      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
17587      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
17588       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
17589      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
17590      310,   311,   312,   313,   314,   315,    -1,   317,   318,   319,
17591      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
17592      330,   331,    -1,   333,   334,   335,   336,   337,   338,   339,
17593      340,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
17594      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
17595      360,   361,    -1,   363,   364,    -1,   366,   367,   368,   369,
17596      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
17597      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
17598      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
17599      400,   401,   402,   403,   404,   405,   406,    -1,   408,   409,
17600      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
17601      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
17602      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
17603       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17604       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
17605       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
17606       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
17607       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
17608       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
17609       66,    67,    68,    69,    -1,    71,    -1,    73,    74,    75,
17610       76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
17611       86,    87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,
17612       96,    -1,    -1,    99,   100,   101,   102,   103,   104,   105,
17613      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
17614      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
17615      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
17616      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
17617      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
17618       -1,   157,   158,    -1,   160,   161,   162,   163,    -1,   165,
17619      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
17620      176,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
17621      186,   187,    -1,   189,   190,   191,   192,   193,   194,   195,
17622      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
17623      206,   207,   208,   209,   210,    -1,    -1,   213,   214,   215,
17624      216,   217,    -1,   219,   220,   221,    -1,    -1,   224,   225,
17625      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
17626      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
17627       -1,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
17628      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
17629       -1,   267,   268,   269,   270,   271,   272,   273,   274,   275,
17630      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
17631      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
17632      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
17633      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
17634       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
17635      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
17636      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
17637      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
17638      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
17639      366,   367,   368,   369,   370,   371,   372,    -1,   374,   375,
17640       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
17641      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
17642      396,   397,    -1,    -1,   400,   401,   402,   403,   404,   405,
17643      406,    -1,   408,   409,   410,   411,   412,   413,    -1,    -1,
17644      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
17645      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
17646      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17647       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
17648       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
17649       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
17650       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
17651       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
17652       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    71,
17653       -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
17654       82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
17655       92,    -1,    -1,    -1,    96,    -1,    -1,    99,   100,   101,
17656      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
17657      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
17658       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
17659      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
17660      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
17661      152,   153,    -1,   155,    -1,   157,   158,    -1,   160,   161,
17662      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
17663      172,   173,   174,   175,   176,   177,   178,   179,   180,    -1,
17664      182,   183,   184,   185,   186,   187,    -1,   189,   190,   191,
17665      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
17666      202,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
17667       -1,   213,   214,   215,   216,   217,    -1,   219,   220,   221,
17668       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
17669      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
17670      242,   243,   244,   245,    -1,   247,   248,   249,   250,    -1,
17671      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
17672      262,   263,   264,    -1,    -1,   267,   268,   269,   270,   271,
17673      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
17674      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
17675      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
17676      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
17677      312,   313,   314,   315,    -1,   317,   318,   319,   320,   321,
17678      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
17679       -1,   333,   334,   335,   336,   337,   338,   339,   340,   341,
17680      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
17681      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
17682       -1,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
17683      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
17684      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
17685       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
17686      402,   403,   404,   405,   406,    -1,   408,   409,   410,   411,
17687      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
17688      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
17689      432,   433,   434,   435,   436,     3,    -1,     5,    -1,    -1,
17690       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17691       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
17692       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
17693       38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
17694       48,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
17695       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
17696       68,    69,    -1,    71,    -1,    73,    74,    75,    76,    77,
17697       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
17698       -1,    89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,
17699       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
17700      108,   109,   110,    -1,   112,   113,   114,   115,   116,   117,
17701       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
17702      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
17703      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
17704      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
17705      158,    -1,   160,   161,   162,   163,    -1,   165,   166,    -1,
17706      168,   169,    -1,   171,   172,   173,   174,   175,   176,   177,
17707      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
17708       -1,   189,   190,   191,   192,   193,   194,   195,   196,   197,
17709       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
17710      208,   209,   210,    -1,    -1,   213,   214,   215,   216,   217,
17711       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
17712      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
17713      238,   239,   240,   241,   242,   243,   244,   245,    -1,   247,
17714      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
17715       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
17716      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
17717      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
17718      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
17719      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
17720      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
17721      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
17722      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
17723       -1,   339,   340,   341,   342,   343,   344,   345,   346,   347,
17724      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
17725      358,   359,   360,   361,    -1,   363,   364,    -1,   366,   367,
17726      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
17727      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
17728      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
17729       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
17730      408,   409,   410,   411,   412,   413,    -1,    -1,   416,    -1,
17731       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
17732      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
17733       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17734       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
17735       24,    25,    -1,    27,    28,    29,    30,    31,    -1,    -1,
17736       -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
17737       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
17738       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
17739       -1,    65,    66,    67,    68,    69,    -1,    71,    -1,    73,
17740       74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
17741       84,    85,    86,    87,    -1,    89,    90,    91,    92,    -1,
17742       -1,    -1,    96,    -1,    -1,    -1,   100,   101,   102,   103,
17743      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
17744      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
17745      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
17746      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
17747      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
17748       -1,   155,    -1,   157,   158,    -1,   160,   161,   162,   163,
17749       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
17750      174,   175,   176,   177,   178,   179,   180,    -1,   182,   183,
17751      184,   185,   186,   187,    -1,   189,   190,   191,   192,   193,
17752      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
17753      204,   205,   206,   207,   208,   209,   210,    -1,    -1,   213,
17754      214,   215,   216,   217,    -1,   219,   220,   221,    -1,    -1,
17755      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
17756      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
17757      244,   245,    -1,   247,   248,   249,   250,    -1,   252,   253,
17758      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
17759      264,    -1,    -1,   267,   268,   269,   270,   271,   272,   273,
17760      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
17761      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
17762      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
17763       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
17764      314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
17765      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
17766      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
17767      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
17768      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
17769      364,    -1,   366,   367,   368,   369,   370,   371,   372,    -1,
17770      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
17771      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
17772      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
17773      404,   405,   406,    -1,   408,   409,   410,   411,   412,   413,
17774       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
17775      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
17776      434,   435,   436,     3,    -1,     5,    -1,    -1,    -1,    -1,
17777       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
17778       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
17779       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
17780       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
17781       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
17782       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
17783       -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
17784       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
17785       90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,    -1,
17786      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
17787      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
17788      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
17789      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
17790      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
17791      150,   151,   152,   153,    -1,   155,    -1,   157,   158,    -1,
17792      160,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
17793       -1,   171,   172,   173,   174,   175,   176,   177,   178,   179,
17794      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
17795      190,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
17796       -1,   201,   202,   203,   204,   205,   206,   207,   208,   209,
17797      210,    -1,    -1,   213,   214,   215,   216,   217,    -1,   219,
17798      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
17799      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
17800      240,   241,   242,   243,   244,   245,    -1,   247,   248,   249,
17801      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
17802       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,   269,
17803      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
17804      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
17805       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
17806      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
17807      310,   311,   312,   313,   314,   315,    -1,   317,   318,   319,
17808      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
17809      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
17810      340,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
17811      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
17812      360,   361,    -1,   363,   364,    -1,   366,   367,   368,   369,
17813      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
17814      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
17815      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
17816      400,   401,   402,   403,   404,   405,   406,    -1,   408,   409,
17817      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
17818      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
17819      430,   431,   432,   433,   434,   435,   436,     3,    -1,     5,
17820       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17821       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
17822       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
17823       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
17824       46,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
17825       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
17826       66,    67,    68,    69,    -1,    71,    -1,    73,    74,    75,
17827       76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
17828       86,    87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,
17829       96,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
17830      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
17831      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
17832      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
17833      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
17834      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
17835       -1,   157,   158,    -1,   160,   161,   162,   163,    -1,   165,
17836      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
17837      176,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
17838      186,   187,    -1,   189,   190,   191,   192,   193,   194,   195,
17839      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
17840      206,   207,   208,   209,   210,    -1,    -1,   213,   214,   215,
17841      216,   217,    -1,   219,   220,   221,    -1,    -1,   224,   225,
17842      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
17843      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
17844       -1,   247,   248,   249,   250,    -1,   252,   253,   254,   255,
17845      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
17846       -1,   267,   268,   269,   270,   271,   272,   273,   274,   275,
17847      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
17848      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
17849      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
17850      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
17851       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
17852      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
17853      336,   337,    -1,   339,   340,   341,   342,   343,   344,   345,
17854      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
17855      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
17856      366,   367,   368,   369,   370,   371,   372,    -1,   374,   375,
17857       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
17858      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
17859      396,   397,    -1,    -1,   400,   401,   402,   403,   404,   405,
17860      406,    -1,   408,   409,   410,   411,   412,   413,    -1,    -1,
17861      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
17862      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
17863      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17864       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
17865       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
17866       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
17867       42,    43,    44,    45,    46,    47,    48,    49,    50,    -1,
17868       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
17869       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    71,
17870       -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
17871       82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
17872       92,    -1,    -1,    -1,    96,    -1,    -1,    -1,   100,   101,
17873      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
17874      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
17875       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
17876      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
17877      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
17878      152,   153,    -1,   155,    -1,   157,   158,    -1,   160,   161,
17879      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
17880      172,   173,   174,   175,   176,   177,   178,   179,   180,    -1,
17881      182,   183,   184,   185,   186,   187,    -1,   189,   190,   191,
17882      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
17883      202,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
17884       -1,   213,   214,   215,   216,   217,    -1,   219,   220,   221,
17885       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
17886      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
17887      242,   243,   244,   245,    -1,   247,   248,   249,   250,    -1,
17888      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
17889      262,   263,   264,    -1,    -1,   267,   268,   269,   270,   271,
17890      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
17891      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
17892      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
17893      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
17894      312,   313,   314,   315,    -1,   317,   318,   319,   320,   321,
17895      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
17896       -1,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
17897      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
17898      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
17899       -1,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
17900      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
17901      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
17902       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
17903      402,   403,   404,   405,   406,    -1,   408,   409,   410,   411,
17904      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
17905      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
17906      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
17907       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17908       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
17909       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
17910       38,    -1,    40,    41,    42,    43,    44,    45,    46,    47,
17911       48,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
17912       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
17913       68,    69,    -1,    71,    -1,    73,    74,    75,    76,    77,
17914       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
17915       -1,    89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,
17916       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
17917      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
17918       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
17919      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
17920      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
17921      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
17922      158,    -1,   160,   161,   162,   163,    -1,   165,   166,    -1,
17923      168,   169,    -1,   171,   172,   173,   174,   175,   176,   177,
17924      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
17925       -1,   189,   190,   191,   192,   193,   194,   195,   196,   197,
17926       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
17927      208,   209,   210,    -1,    -1,   213,   214,   215,   216,   217,
17928       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
17929      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
17930      238,   239,   240,   241,   242,   243,   244,   245,    -1,   247,
17931      248,   249,   250,    -1,   252,   253,   254,   255,   256,   257,
17932       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
17933      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
17934      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
17935      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
17936      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
17937      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
17938      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
17939      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
17940       -1,   339,   340,   341,   342,   343,   344,   345,   346,   347,
17941      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
17942      358,   359,   360,   361,    -1,   363,   364,    -1,   366,   367,
17943      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
17944      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
17945      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
17946       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
17947      408,   409,   410,   411,   412,   413,    -1,    -1,   416,    -1,
17948       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
17949      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
17950       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17951       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
17952       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
17953       -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
17954       44,    45,    46,    47,    48,    49,    50,    -1,    52,    53,
17955       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
17956       -1,    65,    66,    67,    68,    69,    -1,    71,    -1,    73,
17957       74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
17958       84,    85,    86,    87,    -1,    89,    90,    91,    92,    -1,
17959       -1,    -1,    96,    -1,    -1,    -1,   100,   101,   102,   103,
17960      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
17961      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
17962      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
17963      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
17964      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
17965       -1,   155,    -1,   157,   158,    -1,   160,   161,   162,   163,
17966       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
17967      174,   175,   176,   177,   178,   179,   180,    -1,   182,   183,
17968      184,   185,   186,   187,    -1,   189,   190,   191,   192,   193,
17969      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
17970      204,   205,   206,   207,   208,   209,   210,    -1,    -1,   213,
17971      214,   215,   216,   217,    -1,   219,   220,   221,    -1,    -1,
17972      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
17973      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
17974      244,   245,    -1,   247,   248,   249,   250,    -1,   252,   253,
17975      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
17976      264,    -1,    -1,   267,   268,   269,   270,   271,   272,   273,
17977      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
17978      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
17979      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
17980       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
17981      314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
17982      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
17983      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
17984      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
17985      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
17986      364,    -1,   366,   367,   368,   369,   370,   371,   372,    -1,
17987      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
17988      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
17989      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
17990      404,   405,   406,    -1,   408,   409,   410,   411,   412,   413,
17991       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
17992      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
17993      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
17994       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
17995       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
17996       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
17997       40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
17998       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
17999       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
18000       -1,    -1,    72,    73,    74,    75,    76,    -1,    78,    79,
18001       80,    81,    82,    83,    84,    85,    86,    87,    -1,    -1,
18002       90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18003      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
18004      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
18005      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
18006      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
18007      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
18008      150,   151,   152,   153,    -1,   155,   156,   157,    -1,    -1,
18009       -1,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
18010       -1,   171,   172,   173,   174,   175,    -1,   177,   178,   179,
18011      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
18012       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
18013       -1,   201,    -1,    -1,   204,    -1,   206,   207,   208,   209,
18014      210,    -1,    -1,   213,   214,    -1,   216,    -1,    -1,   219,
18015      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
18016      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
18017      240,    -1,   242,   243,   244,   245,    -1,   247,   248,    -1,
18018      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
18019       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,    -1,
18020      270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
18021      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
18022      290,   291,   292,   293,   294,   295,   296,   297,   298,   299,
18023      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
18024      310,   311,   312,   313,   314,   315,    -1,   317,   318,    -1,
18025      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
18026      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
18027      340,   341,   342,   343,    -1,   345,   346,   347,   348,    -1,
18028      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
18029      360,   361,    -1,   363,   364,    -1,   366,    -1,   368,   369,
18030      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
18031      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
18032      390,    -1,   392,   393,   394,   395,   396,   397,    -1,    -1,
18033      400,   401,   402,   403,   404,   405,   406,    -1,   408,    -1,
18034      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
18035      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
18036      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
18037       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18038       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
18039       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
18040       -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
18041       46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
18042       56,    -1,    -1,    59,    60,    61,    62,    63,    64,    65,
18043       66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
18044       76,    -1,    78,    79,    80,    81,    82,    83,    84,    85,
18045       86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
18046       -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
18047      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
18048      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
18049      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
18050      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
18051      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
18052      156,   157,    -1,    -1,    -1,   161,   162,   163,    -1,   165,
18053      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
18054       -1,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
18055      186,   187,    -1,   189,    -1,   191,   192,   193,   194,   195,
18056      196,   197,    -1,   199,    -1,   201,    -1,    -1,   204,    -1,
18057      206,   207,   208,   209,   210,    -1,    -1,   213,   214,    -1,
18058      216,   217,    -1,   219,   220,   221,    -1,    -1,   224,   225,
18059      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
18060      236,   237,   238,   239,   240,    -1,   242,   243,   244,   245,
18061       -1,   247,   248,    -1,   250,    -1,   252,   253,   254,   255,
18062      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
18063       -1,   267,   268,    -1,   270,    -1,   272,   273,   274,   275,
18064      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
18065      286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
18066      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
18067      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
18068       -1,   317,   318,    -1,   320,   321,   322,   323,   324,   325,
18069      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
18070      336,   337,    -1,   339,   340,   341,   342,   343,    -1,   345,
18071      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
18072      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
18073      366,    -1,   368,   369,   370,   371,   372,    -1,   374,   375,
18074       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
18075      386,   387,   388,   389,   390,    -1,   392,   393,   394,   395,
18076      396,   397,    -1,    -1,   400,   401,   402,   403,   404,   405,
18077      406,    -1,   408,    -1,   410,   411,   412,   413,    -1,    -1,
18078      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
18079      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
18080      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18081       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
18082       22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
18083       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
18084       -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
18085       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
18086       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
18087       -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
18088       82,    83,    84,    85,    86,    87,    88,    -1,    90,    91,
18089       92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
18090      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
18091      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
18092       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
18093      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
18094      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
18095      152,   153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,
18096      162,   163,   164,   165,   166,    -1,   168,   169,    -1,   171,
18097      172,   173,   174,   175,    -1,   177,   178,   179,   180,    -1,
18098      182,   183,   184,   185,   186,   187,    -1,   189,    -1,   191,
18099      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
18100       -1,    -1,   204,    -1,   206,   207,   208,   209,   210,    -1,
18101       -1,   213,   214,    -1,   216,    -1,    -1,   219,   220,   221,
18102       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
18103      232,   233,   234,   235,   236,   237,   238,   239,   240,    -1,
18104      242,   243,   244,   245,    -1,   247,   248,    -1,   250,    -1,
18105      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
18106      262,   263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,
18107      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
18108      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
18109      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
18110      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
18111      312,   313,   314,   315,    -1,   317,   318,    -1,   320,   321,
18112      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
18113      332,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
18114      342,   343,    -1,   345,   346,   347,   348,    -1,   350,   351,
18115      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
18116       -1,   363,   364,    -1,   366,    -1,   368,   369,   370,   371,
18117      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
18118      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
18119       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
18120      402,   403,   404,   405,   406,    -1,   408,    -1,   410,   411,
18121      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
18122      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
18123      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
18124       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18125       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
18126       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
18127       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
18128       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
18129       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
18130       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
18131       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
18132       88,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
18133       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
18134      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
18135       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
18136      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
18137      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
18138      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
18139       -1,    -1,    -1,   161,   162,   163,   164,   165,   166,    -1,
18140      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
18141      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
18142       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
18143       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
18144      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
18145       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
18146      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
18147      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
18148      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
18149       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
18150      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
18151      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
18152      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
18153      298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
18154      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
18155      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
18156      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
18157       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
18158      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
18159      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
18160      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
18161      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
18162      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
18163       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
18164      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
18165       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
18166      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
18167       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18168       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
18169       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
18170       -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
18171       44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
18172       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
18173       64,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
18174       74,    75,    76,    -1,    78,    79,    80,    81,    82,    83,
18175       84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
18176       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
18177      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
18178      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
18179      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
18180      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
18181      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
18182       -1,   155,   156,   157,    -1,    -1,    -1,   161,   162,   163,
18183       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
18184      174,   175,    -1,   177,   178,   179,   180,    -1,   182,   183,
18185      184,   185,   186,   187,    -1,   189,    -1,   191,   192,   193,
18186      194,   195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,
18187      204,    -1,   206,   207,   208,   209,   210,    -1,    -1,   213,
18188      214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,    -1,
18189      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
18190      234,   235,   236,   237,   238,   239,   240,    -1,   242,   243,
18191      244,   245,    -1,   247,   248,    -1,   250,    -1,   252,   253,
18192      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
18193      264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,   273,
18194      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
18195      284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
18196      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
18197       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
18198      314,   315,    -1,   317,   318,    -1,   320,   321,   322,   323,
18199      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
18200      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
18201       -1,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
18202      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
18203      364,    -1,   366,    -1,   368,   369,   370,   371,   372,    -1,
18204      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
18205      384,   385,   386,   387,   388,   389,   390,    -1,   392,   393,
18206      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
18207      404,   405,   406,    -1,   408,    -1,   410,   411,   412,   413,
18208       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
18209      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
18210      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
18211       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
18212       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
18213       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
18214       40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
18215       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
18216       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
18217       -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
18218       80,    -1,    82,    83,    84,    85,    86,    87,    88,    -1,
18219       90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18220      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
18221      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
18222      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
18223      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
18224      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
18225      150,   151,   152,   153,    -1,   155,    -1,   157,    -1,    -1,
18226       -1,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
18227       -1,   171,   172,   173,   174,   175,    -1,   177,   178,   179,
18228      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
18229       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
18230       -1,   201,    -1,    -1,   204,    -1,   206,   207,   208,   209,
18231      210,    -1,    -1,   213,   214,    -1,   216,    -1,    -1,   219,
18232      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
18233      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
18234      240,    -1,   242,   243,   244,   245,    -1,   247,   248,    -1,
18235      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
18236       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,    -1,
18237      270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
18238      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
18239       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
18240      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
18241      310,   311,   312,   313,   314,   315,    -1,   317,   318,    -1,
18242      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
18243      330,   331,   332,   333,   334,   335,   336,   337,    -1,   339,
18244      340,   341,   342,   343,    -1,   345,   346,   347,   348,    -1,
18245      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
18246      360,   361,    -1,   363,   364,    -1,   366,    -1,   368,   369,
18247      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
18248      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
18249      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
18250      400,   401,   402,   403,   404,   405,   406,    -1,   408,    -1,
18251      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
18252      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
18253      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
18254       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18255       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
18256       26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
18257       -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
18258       46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
18259       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
18260       66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
18261       76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
18262       86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
18263       -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
18264      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
18265      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
18266      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
18267      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
18268      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
18269      156,   157,    -1,    -1,    -1,   161,   162,   163,    -1,   165,
18270      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
18271       -1,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
18272      186,   187,    -1,   189,    -1,   191,   192,   193,   194,   195,
18273      196,   197,    -1,   199,    -1,   201,    -1,    -1,   204,    -1,
18274      206,   207,   208,   209,   210,    -1,    -1,   213,   214,    -1,
18275      216,    -1,    -1,   219,   220,   221,    -1,    -1,   224,   225,
18276      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
18277      236,   237,   238,   239,   240,    -1,   242,   243,   244,   245,
18278       -1,   247,   248,    -1,   250,    -1,   252,   253,   254,   255,
18279      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
18280       -1,   267,   268,    -1,   270,    -1,   272,   273,   274,   275,
18281      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
18282      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
18283      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
18284      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
18285       -1,   317,   318,    -1,   320,   321,   322,   323,   324,   325,
18286      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
18287      336,   337,    -1,   339,   340,   341,   342,   343,    -1,   345,
18288      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
18289      356,   357,   358,   359,   360,   361,    -1,   363,   364,   365,
18290      366,    -1,   368,   369,   370,   371,   372,    -1,   374,   375,
18291       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
18292      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
18293      396,   397,    -1,    -1,   400,   401,   402,   403,   404,   405,
18294      406,    -1,   408,    -1,   410,   411,   412,   413,    -1,    -1,
18295      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
18296      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
18297      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18298       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
18299       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
18300       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
18301       -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
18302       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
18303       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
18304       -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
18305       82,    83,    84,    85,    86,    87,    88,    -1,    90,    91,
18306       92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
18307      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
18308      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
18309       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
18310      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
18311      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
18312      152,   153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,
18313      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
18314      172,   173,   174,   175,    -1,   177,   178,   179,   180,    -1,
18315      182,   183,   184,   185,   186,   187,    -1,   189,    -1,   191,
18316      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
18317       -1,    -1,   204,    -1,   206,   207,   208,   209,   210,    -1,
18318       -1,   213,   214,    -1,   216,    -1,    -1,   219,   220,   221,
18319       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
18320      232,   233,   234,   235,   236,   237,   238,   239,   240,    -1,
18321      242,   243,   244,   245,    -1,   247,   248,    -1,   250,    -1,
18322      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
18323      262,   263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,
18324      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
18325      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
18326      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
18327      302,   303,   304,   305,   306,   307,   308,   309,   310,   311,
18328      312,   313,   314,   315,    -1,   317,   318,    -1,   320,   321,
18329      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
18330      332,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
18331      342,   343,    -1,   345,   346,   347,   348,    -1,   350,   351,
18332      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
18333       -1,   363,   364,    -1,   366,    -1,   368,   369,   370,   371,
18334      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
18335      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
18336       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
18337      402,   403,   404,   405,   406,    -1,   408,    -1,   410,   411,
18338      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
18339      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
18340      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
18341       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18342       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
18343       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
18344       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
18345       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
18346       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
18347       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
18348       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
18349       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
18350       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
18351      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
18352       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
18353      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
18354      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
18355      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
18356       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
18357      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
18358      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
18359       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
18360       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
18361      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
18362       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
18363      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
18364      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
18365      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
18366       -1,   259,    -1,   261,   262,   263,   264,    -1,    -1,   267,
18367      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
18368      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
18369      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
18370      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
18371      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
18372      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
18373      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
18374       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
18375      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
18376      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
18377      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
18378      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
18379      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
18380       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
18381      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
18382       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
18383      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
18384       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18385       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
18386       24,    25,    -1,    27,    28,    29,    30,    31,    -1,    -1,
18387       -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
18388       44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
18389       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
18390       -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
18391       74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
18392       84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
18393       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
18394      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
18395      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
18396      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
18397      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
18398      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
18399       -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,   163,
18400       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
18401      174,   175,    -1,   177,   178,   179,   180,    -1,   182,   183,
18402      184,   185,   186,   187,    -1,   189,    -1,   191,   192,   193,
18403      194,   195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,
18404      204,    -1,   206,   207,   208,   209,   210,    -1,    -1,   213,
18405      214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,    -1,
18406      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
18407      234,   235,   236,   237,   238,   239,   240,    -1,   242,   243,
18408      244,   245,    -1,   247,   248,    -1,   250,    -1,   252,   253,
18409      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
18410      264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,   273,
18411      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
18412      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
18413      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
18414       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
18415      314,   315,    -1,   317,   318,    -1,   320,   321,   322,   323,
18416      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
18417      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
18418       -1,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
18419      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
18420      364,    -1,   366,    -1,   368,   369,   370,   371,   372,    -1,
18421      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
18422      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
18423      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
18424      404,   405,   406,    -1,   408,    -1,   410,   411,   412,   413,
18425       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
18426      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
18427      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
18428       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
18429       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
18430       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
18431       40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
18432       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
18433       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
18434       -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
18435       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
18436       90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18437      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
18438      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
18439      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
18440      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
18441      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
18442      150,   151,   152,   153,    -1,   155,    -1,   157,    -1,    -1,
18443       -1,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
18444       -1,   171,   172,   173,   174,   175,    -1,   177,   178,   179,
18445      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
18446       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
18447       -1,   201,    -1,    -1,   204,    -1,   206,   207,   208,   209,
18448      210,    -1,    -1,   213,   214,    -1,   216,    -1,    -1,   219,
18449      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
18450      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
18451      240,    -1,   242,   243,   244,   245,    -1,   247,   248,    -1,
18452      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
18453       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,    -1,
18454      270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
18455      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
18456       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
18457      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
18458      310,   311,   312,   313,   314,   315,    -1,   317,   318,    -1,
18459      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
18460      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
18461      340,   341,   342,   343,    -1,   345,   346,   347,   348,    -1,
18462      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
18463      360,   361,    -1,   363,   364,    -1,   366,    -1,   368,   369,
18464      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
18465      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
18466      390,    -1,    -1,   393,   394,   395,   396,   397,   398,    -1,
18467      400,   401,   402,   403,   404,   405,   406,    -1,   408,    -1,
18468      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
18469      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
18470      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
18471       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18472       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
18473       26,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
18474       -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
18475       46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
18476       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
18477       66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
18478       76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
18479       86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
18480       -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
18481      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
18482      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
18483      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
18484      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
18485      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
18486       -1,   157,    -1,    -1,    -1,   161,   162,   163,    -1,   165,
18487      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
18488       -1,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
18489      186,   187,    -1,   189,    -1,   191,   192,   193,   194,   195,
18490      196,   197,    -1,   199,    -1,   201,    -1,    -1,   204,    -1,
18491      206,   207,   208,   209,   210,    -1,    -1,   213,   214,    -1,
18492      216,    -1,    -1,   219,   220,   221,    -1,    -1,   224,   225,
18493      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
18494      236,   237,   238,   239,   240,    -1,   242,   243,   244,   245,
18495       -1,   247,   248,    -1,   250,    -1,   252,   253,   254,   255,
18496      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
18497       -1,   267,   268,    -1,   270,    -1,   272,   273,   274,   275,
18498      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
18499      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
18500      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
18501      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
18502       -1,   317,   318,    -1,   320,   321,   322,   323,   324,   325,
18503      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
18504      336,   337,    -1,   339,   340,   341,   342,   343,    -1,   345,
18505      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
18506      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
18507      366,    -1,   368,   369,   370,   371,   372,    -1,   374,   375,
18508       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
18509      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
18510      396,   397,   398,    -1,   400,   401,   402,   403,   404,   405,
18511      406,    -1,   408,    -1,   410,   411,   412,   413,    -1,    -1,
18512      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
18513      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
18514      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18515       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
18516       22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
18517       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
18518       -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
18519       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
18520       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
18521       -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
18522       82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
18523       92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
18524      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
18525      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
18526       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
18527      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
18528      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
18529      152,   153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,
18530      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
18531      172,   173,   174,   175,    -1,   177,   178,   179,   180,    -1,
18532      182,   183,   184,   185,   186,   187,    -1,   189,    -1,   191,
18533      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
18534       -1,    -1,   204,    -1,   206,   207,   208,   209,   210,    -1,
18535       -1,   213,   214,    -1,   216,    -1,    -1,   219,   220,   221,
18536       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
18537      232,   233,   234,   235,   236,   237,   238,   239,   240,    -1,
18538      242,   243,   244,   245,    -1,   247,   248,    -1,   250,    -1,
18539      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
18540      262,   263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,
18541      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
18542      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
18543      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
18544      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
18545      312,   313,   314,   315,    -1,   317,   318,    -1,   320,   321,
18546      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
18547       -1,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
18548      342,   343,    -1,   345,   346,   347,   348,    -1,   350,   351,
18549      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
18550       -1,   363,   364,    -1,   366,    -1,   368,   369,   370,   371,
18551      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
18552      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
18553       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
18554      402,   403,   404,   405,   406,    -1,   408,    -1,   410,   411,
18555      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
18556      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
18557      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
18558       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18559       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
18560       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
18561       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
18562       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
18563       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
18564       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
18565       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
18566       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
18567       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
18568      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
18569       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
18570      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
18571      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
18572      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
18573       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
18574      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
18575      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
18576       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
18577       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
18578      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
18579       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
18580      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
18581      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
18582      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
18583       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
18584      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
18585      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
18586      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
18587      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
18588      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
18589      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
18590      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
18591       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
18592      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
18593      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
18594      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
18595      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
18596      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
18597       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
18598      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
18599       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
18600      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
18601       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18602       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
18603       24,    25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,
18604       -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
18605       44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
18606       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
18607       -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
18608       74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
18609       84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
18610       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
18611      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
18612      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
18613      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
18614      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
18615      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
18616       -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,   163,
18617       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
18618      174,   175,    -1,   177,   178,   179,   180,    -1,   182,   183,
18619      184,   185,   186,   187,    -1,   189,    -1,   191,   192,   193,
18620      194,   195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,
18621      204,    -1,   206,   207,   208,   209,   210,    -1,    -1,   213,
18622      214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,    -1,
18623      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
18624      234,   235,   236,   237,   238,   239,   240,    -1,   242,   243,
18625      244,   245,    -1,   247,   248,    -1,   250,    -1,   252,   253,
18626      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
18627      264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,   273,
18628      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
18629      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
18630      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
18631       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
18632      314,   315,    -1,   317,   318,    -1,   320,   321,   322,   323,
18633      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
18634      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
18635       -1,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
18636      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
18637      364,    -1,   366,    -1,   368,   369,   370,   371,   372,    -1,
18638      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
18639      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
18640      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
18641      404,   405,   406,    -1,   408,    -1,   410,   411,   412,   413,
18642       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
18643      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
18644      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
18645       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
18646       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
18647       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
18648       40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
18649       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
18650       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
18651       -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
18652       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
18653       90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18654      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
18655      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
18656      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
18657      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
18658      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
18659      150,   151,   152,   153,    -1,   155,    -1,   157,    -1,    -1,
18660       -1,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
18661       -1,   171,   172,   173,   174,   175,    -1,   177,   178,   179,
18662      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
18663       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
18664       -1,   201,    -1,    -1,   204,    -1,   206,   207,   208,   209,
18665      210,    -1,    -1,   213,   214,    -1,   216,    -1,    -1,   219,
18666      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
18667      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
18668      240,    -1,   242,   243,   244,   245,    -1,   247,   248,    -1,
18669      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
18670       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,    -1,
18671      270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
18672      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
18673       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
18674      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
18675      310,   311,   312,   313,   314,   315,    -1,   317,   318,    -1,
18676      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
18677      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
18678      340,   341,   342,   343,    -1,   345,   346,   347,   348,    -1,
18679      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
18680      360,   361,    -1,   363,   364,    -1,   366,    -1,   368,   369,
18681      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
18682      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
18683      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
18684      400,   401,   402,   403,   404,   405,   406,    -1,   408,    -1,
18685      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
18686      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
18687      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
18688       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18689       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
18690       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
18691       -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
18692       46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
18693       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
18694       66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
18695       76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
18696       86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
18697       -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
18698      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
18699      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
18700      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
18701      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
18702      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
18703       -1,   157,    -1,    -1,    -1,   161,   162,   163,    -1,   165,
18704      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
18705       -1,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
18706      186,   187,    -1,   189,    -1,   191,   192,   193,   194,   195,
18707      196,   197,    -1,   199,    -1,   201,    -1,    -1,   204,    -1,
18708      206,   207,   208,   209,   210,    -1,    -1,   213,   214,    -1,
18709      216,    -1,    -1,   219,   220,   221,    -1,    -1,   224,   225,
18710      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
18711      236,   237,   238,   239,   240,    -1,   242,   243,   244,   245,
18712       -1,   247,   248,    -1,   250,    -1,   252,   253,   254,   255,
18713      256,   257,    -1,   259,    -1,   261,   262,   263,   264,    -1,
18714       -1,   267,   268,    -1,   270,    -1,   272,   273,   274,   275,
18715      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
18716      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
18717      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
18718      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
18719       -1,   317,   318,    -1,   320,   321,   322,   323,   324,   325,
18720      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
18721      336,   337,    -1,   339,   340,   341,   342,   343,    -1,   345,
18722      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
18723      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
18724      366,    -1,   368,   369,   370,   371,   372,    -1,   374,   375,
18725       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
18726      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
18727      396,   397,    -1,    -1,   400,   401,   402,   403,   404,   405,
18728      406,    -1,   408,    -1,   410,   411,   412,   413,    -1,    -1,
18729      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
18730      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
18731      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18732       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
18733       22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
18734       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
18735       -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
18736       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
18737       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
18738       -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
18739       82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
18740       92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
18741      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
18742      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
18743       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
18744      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
18745      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
18746      152,   153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,
18747      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
18748      172,   173,   174,   175,    -1,   177,   178,   179,   180,    -1,
18749      182,   183,   184,   185,   186,   187,    -1,   189,    -1,   191,
18750      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
18751       -1,    -1,   204,    -1,   206,   207,   208,   209,   210,    -1,
18752       -1,   213,   214,    -1,   216,    -1,    -1,   219,   220,   221,
18753       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
18754      232,   233,   234,   235,   236,   237,   238,   239,   240,    -1,
18755      242,   243,   244,   245,    -1,   247,   248,    -1,   250,    -1,
18756      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
18757      262,   263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,
18758      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
18759      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
18760      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
18761      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
18762      312,   313,   314,   315,    -1,   317,   318,    -1,   320,   321,
18763      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
18764       -1,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
18765      342,   343,    -1,   345,   346,   347,   348,    -1,   350,   351,
18766      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
18767       -1,   363,   364,    -1,   366,    -1,   368,   369,   370,   371,
18768      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
18769      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
18770       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
18771      402,   403,   404,   405,   406,    -1,   408,    -1,   410,   411,
18772      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
18773      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
18774      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
18775       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18776       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
18777       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
18778       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
18779       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
18780       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
18781       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
18782       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
18783       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
18784       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
18785      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
18786       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
18787      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
18788      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
18789      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
18790       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
18791      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
18792      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
18793       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
18794       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
18795      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
18796       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
18797      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
18798      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
18799      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
18800       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
18801      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
18802      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
18803      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
18804      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
18805      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
18806      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
18807      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
18808       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
18809      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
18810      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
18811      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
18812      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
18813      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
18814       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
18815      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
18816       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
18817      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
18818       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18819       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
18820       24,    25,    26,    27,    28,    29,    -1,    -1,    -1,    -1,
18821       -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
18822       44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
18823       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
18824       -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
18825       74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
18826       84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
18827       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
18828      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
18829      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
18830      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
18831      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
18832      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
18833       -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,   163,
18834       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
18835      174,   175,    -1,   177,   178,   179,   180,    -1,   182,   183,
18836      184,   185,   186,   187,    -1,   189,    -1,   191,   192,   193,
18837      194,   195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,
18838      204,    -1,   206,   207,   208,   209,   210,    -1,    -1,   213,
18839      214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,    -1,
18840      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
18841      234,   235,   236,   237,   238,   239,   240,    -1,   242,   243,
18842      244,   245,    -1,   247,   248,    -1,   250,    -1,   252,   253,
18843      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
18844      264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,   273,
18845      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
18846      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
18847      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
18848       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
18849      314,   315,    -1,   317,   318,    -1,   320,   321,   322,   323,
18850      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
18851      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
18852       -1,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
18853      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
18854      364,    -1,   366,    -1,   368,   369,   370,   371,   372,    -1,
18855      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
18856      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
18857      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
18858      404,   405,   406,    -1,   408,    -1,   410,   411,   412,   413,
18859       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
18860      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
18861      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
18862       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
18863       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
18864       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
18865       40,    41,    42,    43,    44,    45,    46,    47,    -1,    49,
18866       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
18867       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
18868       -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
18869       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
18870       90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18871      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
18872      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
18873      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
18874      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
18875      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
18876      150,   151,   152,   153,    -1,   155,    -1,   157,    -1,    -1,
18877       -1,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
18878       -1,   171,   172,   173,   174,   175,    -1,   177,   178,   179,
18879      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
18880       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
18881       -1,   201,    -1,    -1,   204,    -1,   206,   207,   208,   209,
18882      210,    -1,    -1,   213,   214,    -1,   216,    -1,    -1,   219,
18883      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
18884      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
18885      240,    -1,   242,   243,   244,   245,    -1,   247,   248,    -1,
18886      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
18887       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,    -1,
18888      270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
18889      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
18890       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
18891      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
18892      310,   311,   312,   313,   314,   315,    -1,   317,   318,    -1,
18893      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
18894      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
18895      340,   341,   342,   343,    -1,   345,   346,   347,   348,    -1,
18896      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
18897      360,   361,    -1,   363,   364,    -1,   366,    -1,   368,   369,
18898      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
18899      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
18900      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
18901      400,   401,   402,   403,   404,   405,   406,    -1,   408,    -1,
18902      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
18903      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
18904      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
18905       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18906       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
18907       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
18908       -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
18909       46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
18910       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
18911       66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
18912       76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
18913       86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
18914       -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
18915      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
18916      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
18917      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
18918      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
18919      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
18920       -1,   157,    -1,    -1,    -1,   161,   162,   163,    -1,   165,
18921      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
18922       -1,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
18923      186,   187,    -1,   189,    -1,   191,   192,   193,   194,   195,
18924      196,   197,    -1,   199,    -1,   201,    -1,    -1,   204,    -1,
18925      206,   207,   208,   209,   210,    -1,    -1,   213,   214,    -1,
18926      216,    -1,    -1,   219,   220,   221,    -1,    -1,   224,   225,
18927      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
18928      236,   237,   238,   239,   240,    -1,   242,   243,   244,   245,
18929       -1,   247,   248,    -1,   250,    -1,   252,   253,   254,   255,
18930      256,   257,    -1,   259,    -1,   261,   262,   263,   264,    -1,
18931       -1,   267,   268,    -1,   270,    -1,   272,   273,   274,   275,
18932      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
18933      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
18934      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
18935      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
18936       -1,   317,   318,    -1,   320,   321,   322,   323,   324,   325,
18937      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
18938      336,   337,    -1,   339,   340,   341,   342,   343,    -1,   345,
18939      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
18940      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
18941      366,    -1,   368,   369,   370,   371,   372,    -1,   374,   375,
18942       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
18943      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
18944      396,   397,    -1,    -1,   400,   401,   402,   403,   404,   405,
18945      406,    -1,   408,    -1,   410,   411,   412,   413,    -1,    -1,
18946      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
18947      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
18948      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18949       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
18950       22,    23,    24,    25,    26,    27,    28,    29,    -1,    -1,
18951       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
18952       -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
18953       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
18954       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
18955       -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
18956       82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
18957       92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
18958      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
18959      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
18960       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
18961      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
18962      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
18963      152,   153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,
18964      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
18965      172,   173,   174,   175,    -1,   177,   178,   179,   180,    -1,
18966      182,   183,   184,   185,   186,   187,    -1,   189,    -1,   191,
18967      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
18968       -1,    -1,   204,    -1,   206,   207,   208,   209,   210,    -1,
18969       -1,   213,   214,    -1,   216,    -1,    -1,   219,   220,   221,
18970       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
18971      232,   233,   234,   235,   236,   237,   238,   239,   240,    -1,
18972      242,   243,   244,   245,    -1,   247,   248,    -1,   250,    -1,
18973      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
18974      262,   263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,
18975      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
18976      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
18977      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
18978      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
18979      312,   313,   314,   315,    -1,   317,   318,    -1,   320,   321,
18980      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
18981       -1,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
18982      342,   343,    -1,   345,   346,   347,   348,    -1,   350,   351,
18983      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
18984       -1,   363,   364,    -1,   366,    -1,   368,   369,   370,   371,
18985      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
18986      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
18987       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
18988      402,   403,   404,   405,   406,    -1,   408,    -1,   410,   411,
18989      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
18990      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
18991      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
18992       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18993       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
18994       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
18995       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
18996       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
18997       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
18998       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
18999       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
19000       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
19001       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
19002      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
19003       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
19004      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
19005      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
19006      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
19007       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
19008      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
19009      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
19010       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
19011       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
19012      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
19013       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
19014      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
19015      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
19016      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
19017       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
19018      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
19019      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
19020      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
19021      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
19022      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
19023      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
19024      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
19025       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
19026      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
19027      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
19028      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
19029      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
19030      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
19031       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
19032      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
19033       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
19034      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
19035       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19036       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
19037       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
19038       -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
19039       44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
19040       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
19041       -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
19042       74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
19043       84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
19044       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
19045      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
19046      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
19047      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
19048      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
19049      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
19050       -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,   163,
19051       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
19052      174,   175,    -1,   177,   178,   179,   180,    -1,   182,   183,
19053      184,   185,   186,   187,    -1,   189,    -1,   191,   192,   193,
19054      194,   195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,
19055      204,    -1,   206,   207,   208,   209,   210,    -1,    -1,   213,
19056      214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,    -1,
19057      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
19058      234,   235,   236,   237,   238,   239,   240,    -1,   242,   243,
19059      244,   245,    -1,   247,   248,    -1,   250,    -1,   252,   253,
19060      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
19061      264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,   273,
19062      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
19063      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
19064      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
19065       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
19066      314,   315,    -1,   317,   318,    -1,   320,   321,   322,   323,
19067      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
19068      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
19069       -1,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
19070      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
19071      364,   365,   366,    -1,   368,   369,   370,   371,   372,    -1,
19072      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
19073      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
19074      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
19075      404,   405,   406,    -1,   408,    -1,   410,   411,   412,   413,
19076       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
19077      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
19078      434,   435,   436,     3,    -1,     5,    -1,    -1,    -1,    -1,
19079       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
19080       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
19081       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
19082       40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
19083       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
19084       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
19085       -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
19086       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
19087       90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19088      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
19089      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
19090      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
19091      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
19092      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
19093      150,   151,   152,   153,    -1,   155,    -1,   157,    -1,    -1,
19094       -1,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
19095       -1,   171,   172,   173,   174,   175,    -1,   177,   178,   179,
19096      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
19097       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
19098       -1,   201,    -1,    -1,   204,    -1,   206,   207,   208,   209,
19099      210,    -1,    -1,   213,   214,    -1,   216,    -1,    -1,   219,
19100      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
19101      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
19102      240,    -1,   242,   243,   244,   245,    -1,   247,   248,    -1,
19103      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
19104       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,    -1,
19105      270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
19106      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
19107       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
19108      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
19109      310,   311,   312,   313,   314,   315,    -1,   317,   318,    -1,
19110      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
19111      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
19112      340,   341,   342,   343,    -1,   345,   346,   347,   348,    -1,
19113      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
19114      360,   361,    -1,   363,   364,    -1,   366,    -1,   368,   369,
19115      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
19116      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
19117      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
19118      400,   401,   402,   403,   404,   405,   406,    -1,   408,    -1,
19119      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
19120      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
19121      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
19122       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19123       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19124       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    35,
19125       -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
19126       46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
19127       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
19128       66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
19129       76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
19130       86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
19131       -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
19132      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
19133      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
19134      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
19135      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
19136      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
19137       -1,   157,    -1,    -1,    -1,   161,   162,   163,    -1,   165,
19138      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
19139       -1,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
19140      186,   187,    -1,   189,    -1,   191,   192,   193,   194,   195,
19141      196,   197,    -1,   199,    -1,   201,    -1,    -1,   204,    -1,
19142      206,   207,   208,   209,   210,    -1,    -1,   213,   214,    -1,
19143      216,    -1,    -1,   219,   220,   221,    -1,    -1,   224,   225,
19144      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
19145      236,   237,   238,   239,   240,    -1,   242,   243,   244,   245,
19146       -1,   247,   248,    -1,   250,    -1,   252,   253,   254,   255,
19147      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
19148       -1,   267,   268,    -1,   270,    -1,   272,   273,   274,   275,
19149      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
19150      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
19151      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
19152      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19153       -1,   317,   318,    -1,   320,   321,   322,   323,   324,   325,
19154      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
19155      336,   337,    -1,   339,   340,   341,   342,   343,    -1,   345,
19156      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
19157      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
19158      366,    -1,   368,   369,   370,   371,   372,    -1,   374,   375,
19159       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
19160      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
19161      396,   397,    -1,    -1,   400,   401,   402,   403,   404,   405,
19162      406,    -1,   408,    -1,   410,   411,   412,   413,    -1,    -1,
19163      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
19164      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
19165      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19166       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
19167       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
19168       -1,    -1,    -1,    35,    -1,    37,    38,    -1,    40,    41,
19169       -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
19170       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
19171       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
19172       -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
19173       82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
19174       92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
19175      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
19176      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
19177       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
19178      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
19179      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
19180      152,   153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,
19181      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
19182      172,   173,   174,   175,    -1,   177,   178,   179,   180,    -1,
19183      182,   183,   184,   185,   186,   187,    -1,   189,    -1,   191,
19184      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
19185       -1,    -1,   204,    -1,   206,   207,   208,   209,   210,    -1,
19186       -1,   213,   214,    -1,   216,    -1,    -1,   219,   220,   221,
19187       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
19188      232,   233,   234,   235,   236,   237,   238,   239,   240,    -1,
19189      242,   243,   244,   245,    -1,   247,   248,    -1,   250,    -1,
19190      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
19191      262,   263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,
19192      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
19193      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
19194      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
19195      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
19196      312,   313,   314,   315,    -1,   317,   318,    -1,   320,   321,
19197      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
19198       -1,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
19199      342,   343,    -1,   345,   346,   347,   348,    -1,   350,   351,
19200      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
19201       -1,   363,   364,    -1,   366,    -1,   368,   369,   370,   371,
19202      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
19203      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
19204       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
19205      402,   403,   404,   405,   406,    -1,   408,    -1,   410,   411,
19206      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
19207      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
19208      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
19209       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19210       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
19211       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
19212       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
19213       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
19214       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
19215       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
19216       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
19217       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
19218       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
19219      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
19220       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
19221      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
19222      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
19223      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
19224       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
19225      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
19226      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
19227       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
19228       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
19229      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
19230       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
19231      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
19232      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
19233      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
19234       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
19235      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
19236      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
19237      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
19238      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
19239      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
19240      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
19241      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
19242       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
19243      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
19244      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
19245      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
19246      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
19247      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
19248       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
19249      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
19250       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
19251      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
19252       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19253       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
19254       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
19255       -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
19256       44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
19257       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
19258       -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
19259       74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
19260       84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
19261       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
19262      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
19263      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
19264      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
19265      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
19266      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
19267       -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,   163,
19268       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
19269      174,   175,    -1,   177,   178,   179,   180,    -1,   182,   183,
19270      184,   185,   186,   187,    -1,   189,    -1,   191,   192,   193,
19271      194,   195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,
19272      204,    -1,   206,   207,   208,   209,   210,    -1,    -1,   213,
19273      214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,    -1,
19274      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
19275      234,   235,   236,   237,   238,   239,   240,    -1,   242,   243,
19276      244,   245,    -1,   247,   248,    -1,   250,    -1,   252,   253,
19277      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
19278      264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,   273,
19279      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
19280      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
19281      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
19282       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
19283      314,   315,    -1,   317,   318,    -1,   320,   321,   322,   323,
19284      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
19285      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
19286       -1,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
19287      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
19288      364,    -1,   366,    -1,   368,   369,   370,   371,   372,    -1,
19289      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
19290      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
19291      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
19292      404,   405,   406,    -1,   408,    -1,   410,   411,   412,   413,
19293       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
19294      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
19295      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
19296       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
19297       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
19298       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
19299       40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
19300       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
19301       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
19302       -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
19303       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
19304       90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19305      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
19306      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
19307      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
19308      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
19309      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
19310      150,   151,   152,   153,    -1,   155,    -1,   157,    -1,    -1,
19311       -1,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
19312       -1,   171,   172,   173,   174,   175,    -1,   177,   178,   179,
19313      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
19314       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
19315       -1,   201,    -1,    -1,   204,    -1,   206,   207,   208,   209,
19316      210,    -1,    -1,   213,   214,    -1,   216,    -1,    -1,   219,
19317      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
19318      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
19319      240,    -1,   242,   243,   244,   245,    -1,   247,   248,    -1,
19320      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
19321       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,    -1,
19322      270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
19323      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
19324       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
19325      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
19326      310,   311,   312,   313,   314,   315,    -1,   317,   318,    -1,
19327      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
19328      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
19329      340,   341,   342,   343,    -1,   345,   346,   347,   348,    -1,
19330      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
19331      360,   361,    -1,   363,   364,    -1,   366,    -1,   368,   369,
19332      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
19333      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
19334      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
19335      400,   401,   402,   403,   404,   405,   406,    -1,   408,    -1,
19336      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
19337      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
19338      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
19339       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19340       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19341       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
19342       -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
19343       46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
19344       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
19345       66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
19346       76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
19347       86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
19348       -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
19349      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
19350      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
19351      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
19352      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
19353      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
19354       -1,   157,    -1,    -1,    -1,   161,   162,   163,    -1,   165,
19355      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
19356       -1,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
19357      186,   187,    -1,   189,    -1,   191,   192,   193,   194,   195,
19358      196,   197,    -1,   199,    -1,   201,    -1,    -1,   204,    -1,
19359      206,   207,   208,   209,   210,    -1,    -1,   213,   214,    -1,
19360      216,    -1,    -1,   219,   220,   221,    -1,    -1,   224,   225,
19361      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
19362      236,   237,   238,   239,   240,    -1,   242,   243,   244,   245,
19363       -1,   247,   248,    -1,   250,    -1,   252,   253,   254,   255,
19364      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
19365       -1,   267,   268,    -1,   270,    -1,   272,   273,   274,   275,
19366      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
19367      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
19368      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
19369      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19370       -1,   317,   318,    -1,   320,   321,   322,   323,   324,   325,
19371      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
19372      336,   337,    -1,   339,   340,   341,   342,   343,    -1,   345,
19373      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
19374      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
19375      366,    -1,   368,   369,   370,   371,   372,    -1,   374,   375,
19376       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
19377      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
19378      396,   397,    -1,    -1,   400,   401,   402,   403,   404,   405,
19379      406,    -1,   408,    -1,   410,   411,   412,   413,    -1,    -1,
19380      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
19381      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
19382      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19383       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
19384       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
19385       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
19386       -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
19387       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
19388       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
19389       -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
19390       82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
19391       92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
19392      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
19393      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
19394       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
19395      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
19396      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
19397      152,   153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,
19398      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
19399      172,   173,   174,   175,    -1,   177,   178,   179,   180,    -1,
19400      182,   183,   184,   185,   186,   187,    -1,   189,    -1,   191,
19401      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
19402       -1,    -1,   204,    -1,   206,   207,   208,   209,   210,    -1,
19403       -1,   213,   214,    -1,   216,    -1,    -1,   219,   220,   221,
19404       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
19405      232,   233,   234,   235,   236,   237,   238,   239,   240,    -1,
19406      242,   243,   244,   245,    -1,   247,   248,    -1,   250,    -1,
19407      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
19408      262,   263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,
19409      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
19410      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
19411      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
19412      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
19413      312,   313,   314,   315,    -1,   317,   318,    -1,   320,   321,
19414      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
19415       -1,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
19416      342,   343,    -1,   345,   346,   347,   348,    -1,   350,   351,
19417      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
19418       -1,   363,   364,    -1,   366,    -1,   368,   369,   370,   371,
19419      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
19420      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
19421       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
19422      402,   403,   404,   405,   406,    -1,   408,    -1,   410,   411,
19423      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
19424      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
19425      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
19426       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19427       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
19428       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
19429       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
19430       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
19431       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
19432       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
19433       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
19434       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
19435       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
19436      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
19437       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
19438      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
19439      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
19440      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
19441       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
19442      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
19443      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
19444       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
19445       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
19446      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
19447       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
19448      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
19449      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
19450      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
19451       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
19452      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
19453      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
19454      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
19455      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
19456      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
19457      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
19458      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
19459       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
19460      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
19461      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
19462      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
19463      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
19464      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
19465       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
19466      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
19467       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
19468      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
19469       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19470       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
19471       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
19472       -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
19473       44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
19474       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
19475       -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
19476       74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
19477       84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
19478       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
19479      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
19480      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
19481      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
19482      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
19483      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
19484       -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,   163,
19485       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
19486      174,   175,    -1,   177,   178,   179,   180,    -1,   182,   183,
19487      184,   185,   186,   187,    -1,   189,    -1,   191,   192,   193,
19488      194,   195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,
19489      204,    -1,   206,   207,   208,   209,   210,    -1,    -1,   213,
19490      214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,    -1,
19491      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
19492      234,   235,   236,   237,   238,   239,   240,    -1,   242,   243,
19493      244,   245,    -1,   247,   248,    -1,   250,    -1,   252,   253,
19494      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
19495      264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,   273,
19496      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
19497      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
19498      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
19499       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
19500      314,   315,    -1,   317,   318,    -1,   320,   321,   322,   323,
19501      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
19502      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
19503       -1,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
19504      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
19505      364,    -1,   366,    -1,   368,   369,   370,   371,   372,    -1,
19506      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
19507      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
19508      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
19509      404,   405,   406,    -1,   408,    -1,   410,   411,   412,   413,
19510       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
19511      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
19512      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
19513       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
19514       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
19515       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
19516       40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
19517       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
19518       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
19519       -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
19520       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
19521       90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19522      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
19523      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
19524      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
19525      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
19526      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
19527      150,   151,   152,   153,    -1,   155,    -1,   157,    -1,    -1,
19528       -1,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
19529       -1,   171,   172,   173,   174,   175,    -1,   177,   178,   179,
19530      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
19531       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
19532       -1,   201,    -1,    -1,   204,    -1,   206,   207,   208,   209,
19533      210,    -1,    -1,   213,   214,    -1,   216,    -1,    -1,   219,
19534      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
19535      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
19536      240,    -1,   242,   243,   244,   245,    -1,   247,   248,    -1,
19537      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
19538       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,    -1,
19539      270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
19540      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
19541       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
19542      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
19543      310,   311,   312,   313,   314,   315,    -1,   317,   318,    -1,
19544      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
19545      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
19546      340,   341,   342,   343,    -1,   345,   346,   347,   348,    -1,
19547      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
19548      360,   361,    -1,   363,   364,    -1,   366,    -1,   368,   369,
19549      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
19550      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
19551      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
19552      400,   401,   402,   403,   404,   405,   406,    -1,   408,    -1,
19553      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
19554      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
19555      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
19556       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19557       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19558       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
19559       -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
19560       46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
19561       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
19562       66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
19563       76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
19564       86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
19565       -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
19566      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
19567      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
19568      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
19569      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
19570      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
19571       -1,   157,    -1,    -1,    -1,   161,   162,   163,    -1,   165,
19572      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
19573       -1,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
19574      186,   187,    -1,   189,    -1,   191,   192,   193,   194,   195,
19575      196,   197,    -1,   199,    -1,   201,    -1,    -1,   204,    -1,
19576      206,   207,   208,   209,   210,    -1,    -1,   213,   214,    -1,
19577      216,    -1,    -1,   219,   220,   221,    -1,    -1,   224,   225,
19578      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
19579      236,   237,   238,   239,   240,    -1,   242,   243,   244,   245,
19580       -1,   247,   248,    -1,   250,    -1,   252,   253,   254,   255,
19581      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
19582       -1,   267,   268,    -1,   270,    -1,   272,   273,   274,   275,
19583      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
19584      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
19585      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
19586      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19587       -1,   317,   318,    -1,   320,   321,   322,   323,   324,   325,
19588      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
19589      336,   337,    -1,   339,   340,   341,   342,   343,    -1,   345,
19590      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
19591      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
19592      366,    -1,   368,   369,   370,   371,   372,    -1,   374,   375,
19593       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
19594      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
19595      396,   397,    -1,    -1,   400,   401,   402,   403,   404,   405,
19596      406,    -1,   408,    -1,   410,   411,   412,   413,    -1,    -1,
19597      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
19598      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
19599      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19600       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
19601       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
19602       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
19603       -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
19604       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
19605       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
19606       -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
19607       82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
19608       92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
19609      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
19610      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
19611       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
19612      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
19613      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
19614      152,   153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,
19615      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
19616      172,   173,   174,   175,    -1,   177,   178,   179,   180,    -1,
19617      182,   183,   184,   185,   186,   187,    -1,   189,    -1,   191,
19618      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
19619       -1,    -1,   204,    -1,   206,   207,   208,   209,   210,    -1,
19620       -1,   213,   214,    -1,   216,    -1,    -1,   219,   220,   221,
19621       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
19622      232,   233,   234,   235,   236,   237,   238,   239,   240,    -1,
19623      242,   243,   244,   245,    -1,   247,   248,    -1,   250,    -1,
19624      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
19625      262,   263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,
19626      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
19627      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
19628      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
19629      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
19630      312,   313,   314,   315,    -1,   317,   318,    -1,   320,   321,
19631      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
19632       -1,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
19633      342,   343,    -1,   345,   346,   347,   348,    -1,   350,   351,
19634      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
19635       -1,   363,   364,    -1,   366,    -1,   368,   369,   370,   371,
19636      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
19637      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
19638       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
19639      402,   403,   404,   405,   406,    -1,   408,    -1,   410,   411,
19640      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
19641      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
19642      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
19643       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19644       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
19645       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
19646       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
19647       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
19648       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
19649       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
19650       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
19651       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
19652       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
19653      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
19654       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
19655      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
19656      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
19657      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
19658       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
19659      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
19660      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
19661       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
19662       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
19663      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
19664       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
19665      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
19666      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
19667      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
19668       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
19669      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
19670      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
19671      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
19672      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
19673      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
19674      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
19675      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
19676       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
19677      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
19678      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
19679      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
19680      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
19681      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
19682       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
19683      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
19684       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
19685      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
19686       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19687       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
19688       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
19689       -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
19690       44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
19691       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
19692       -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
19693       74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
19694       84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
19695       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
19696      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
19697      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
19698      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
19699      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
19700      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
19701       -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,   163,
19702       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
19703      174,   175,    -1,   177,   178,   179,   180,    -1,   182,   183,
19704      184,   185,   186,   187,    -1,   189,    -1,   191,   192,   193,
19705      194,   195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,
19706      204,    -1,   206,   207,   208,   209,   210,    -1,    -1,   213,
19707      214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,    -1,
19708      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
19709      234,   235,   236,   237,   238,   239,   240,    -1,   242,   243,
19710      244,   245,    -1,   247,   248,    -1,   250,    -1,   252,   253,
19711      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
19712      264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,   273,
19713      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
19714      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
19715      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
19716       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
19717      314,   315,    -1,   317,   318,    -1,   320,   321,   322,   323,
19718      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
19719      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
19720       -1,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
19721      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
19722      364,    -1,   366,    -1,   368,   369,   370,   371,   372,    -1,
19723      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
19724      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
19725      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
19726      404,   405,   406,    -1,   408,    -1,   410,   411,   412,   413,
19727       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
19728      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
19729      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
19730       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
19731       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
19732       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
19733       40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
19734       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
19735       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
19736       -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
19737       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
19738       90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19739      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
19740      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
19741      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
19742      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
19743      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
19744      150,   151,   152,   153,    -1,   155,    -1,   157,    -1,    -1,
19745       -1,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
19746       -1,   171,   172,   173,   174,   175,    -1,   177,   178,   179,
19747      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
19748       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
19749       -1,   201,    -1,    -1,   204,    -1,   206,   207,   208,   209,
19750      210,    -1,    -1,   213,   214,    -1,   216,    -1,    -1,   219,
19751      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
19752      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
19753      240,    -1,   242,   243,   244,   245,    -1,   247,   248,    -1,
19754      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
19755       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,    -1,
19756      270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
19757      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
19758       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
19759      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
19760      310,   311,   312,   313,   314,   315,    -1,   317,   318,    -1,
19761      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
19762      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
19763      340,   341,   342,   343,    -1,   345,   346,   347,   348,    -1,
19764      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
19765      360,   361,    -1,   363,   364,    -1,   366,    -1,   368,   369,
19766      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
19767      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
19768      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
19769      400,   401,   402,   403,   404,   405,   406,    -1,   408,    -1,
19770      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
19771      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
19772      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
19773       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19774       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19775       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
19776       -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
19777       46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
19778       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
19779       66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
19780       76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
19781       86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
19782       -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
19783      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
19784      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
19785      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
19786      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
19787      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
19788       -1,   157,    -1,    -1,    -1,   161,   162,   163,    -1,   165,
19789      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
19790       -1,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
19791      186,   187,    -1,   189,    -1,   191,   192,   193,   194,   195,
19792      196,   197,    -1,   199,    -1,   201,    -1,    -1,   204,    -1,
19793      206,   207,   208,   209,   210,    -1,    -1,   213,   214,    -1,
19794      216,    -1,    -1,   219,   220,   221,    -1,    -1,   224,   225,
19795      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
19796      236,   237,   238,   239,   240,    -1,   242,   243,   244,   245,
19797       -1,   247,   248,    -1,   250,    -1,   252,   253,   254,   255,
19798      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
19799       -1,   267,   268,    -1,   270,    -1,   272,   273,   274,   275,
19800      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
19801      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
19802      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
19803      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
19804       -1,   317,   318,    -1,   320,   321,   322,   323,   324,   325,
19805      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
19806      336,   337,    -1,   339,   340,   341,   342,   343,    -1,   345,
19807      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
19808      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
19809      366,    -1,   368,   369,   370,   371,   372,    -1,   374,   375,
19810       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
19811      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
19812      396,   397,    -1,    -1,   400,   401,   402,   403,   404,   405,
19813      406,    -1,   408,    -1,   410,   411,   412,   413,    -1,    -1,
19814      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
19815      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
19816      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19817       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
19818       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
19819       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
19820       -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
19821       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
19822       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
19823       -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
19824       82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
19825       92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
19826      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
19827      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
19828       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
19829      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
19830      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
19831      152,   153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,
19832      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
19833      172,   173,   174,   175,    -1,   177,   178,   179,   180,    -1,
19834      182,   183,   184,   185,   186,   187,    -1,   189,    -1,   191,
19835      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
19836       -1,    -1,   204,    -1,   206,   207,   208,   209,   210,    -1,
19837       -1,   213,   214,    -1,   216,    -1,    -1,   219,   220,   221,
19838       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
19839      232,   233,   234,   235,   236,   237,   238,   239,   240,    -1,
19840      242,   243,   244,   245,    -1,   247,   248,    -1,   250,    -1,
19841      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
19842      262,   263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,
19843      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
19844      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
19845      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
19846      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
19847      312,   313,   314,   315,    -1,   317,   318,    -1,   320,   321,
19848      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
19849       -1,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
19850      342,   343,    -1,   345,   346,   347,   348,    -1,   350,   351,
19851      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
19852       -1,   363,   364,    -1,   366,    -1,   368,   369,   370,   371,
19853      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
19854      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
19855       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
19856      402,   403,   404,   405,   406,    -1,   408,    -1,   410,   411,
19857      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
19858      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
19859      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
19860       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19861       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
19862       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
19863       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
19864       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
19865       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
19866       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
19867       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
19868       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
19869       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
19870      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
19871       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
19872      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
19873      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
19874      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
19875       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
19876      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
19877      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
19878       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
19879       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
19880      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
19881       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
19882      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
19883      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
19884      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
19885       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
19886      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
19887      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
19888      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
19889      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
19890      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
19891      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
19892      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
19893       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
19894      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
19895      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
19896      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
19897      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
19898      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
19899       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
19900      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
19901       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
19902      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
19903       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19904       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
19905       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
19906       -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
19907       44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
19908       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
19909       -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
19910       74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
19911       84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
19912       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
19913      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
19914      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
19915      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
19916      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
19917      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
19918       -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,   163,
19919       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
19920      174,   175,    -1,   177,   178,   179,   180,    -1,   182,   183,
19921      184,   185,   186,   187,    -1,   189,    -1,   191,   192,   193,
19922      194,   195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,
19923      204,    -1,   206,   207,   208,   209,   210,    -1,    -1,   213,
19924      214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,    -1,
19925      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
19926      234,   235,   236,   237,   238,   239,   240,    -1,   242,   243,
19927      244,   245,    -1,   247,   248,    -1,   250,    -1,   252,   253,
19928      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
19929      264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,   273,
19930      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
19931      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
19932      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
19933       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
19934      314,   315,    -1,   317,   318,    -1,   320,   321,   322,   323,
19935      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
19936      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
19937       -1,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
19938      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
19939      364,    -1,   366,    -1,   368,   369,   370,   371,   372,    -1,
19940      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
19941      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
19942      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
19943      404,   405,   406,    -1,   408,    -1,   410,   411,   412,   413,
19944       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
19945      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
19946      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
19947       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
19948       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
19949       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
19950       40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
19951       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
19952       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
19953       -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
19954       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
19955       90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19956      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
19957      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
19958      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
19959      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
19960      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
19961      150,   151,   152,   153,    -1,   155,    -1,   157,    -1,    -1,
19962       -1,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
19963       -1,   171,   172,   173,   174,   175,    -1,   177,   178,   179,
19964      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
19965       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
19966       -1,   201,    -1,    -1,   204,    -1,   206,   207,   208,   209,
19967      210,    -1,    -1,   213,   214,    -1,   216,    -1,    -1,   219,
19968      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
19969      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
19970      240,    -1,   242,   243,   244,   245,    -1,   247,   248,    -1,
19971      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
19972       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,    -1,
19973      270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
19974      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
19975       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
19976      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
19977      310,   311,   312,   313,   314,   315,    -1,   317,   318,    -1,
19978      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
19979      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
19980      340,   341,   342,   343,    -1,   345,   346,   347,   348,    -1,
19981      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
19982      360,   361,    -1,   363,   364,    -1,   366,    -1,   368,   369,
19983      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
19984      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
19985      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
19986      400,   401,   402,   403,   404,   405,   406,    -1,   408,    -1,
19987      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
19988      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
19989      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
19990       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19991       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
19992       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
19993       -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
19994       46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
19995       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
19996       66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
19997       76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
19998       86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
19999       -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
20000      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
20001      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
20002      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
20003      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
20004      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
20005       -1,   157,    -1,    -1,    -1,   161,   162,   163,    -1,   165,
20006      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
20007       -1,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
20008      186,   187,    -1,   189,    -1,   191,   192,   193,   194,   195,
20009      196,   197,    -1,   199,    -1,   201,    -1,    -1,   204,    -1,
20010      206,   207,   208,   209,   210,    -1,    -1,   213,   214,    -1,
20011      216,    -1,    -1,   219,   220,   221,    -1,    -1,   224,   225,
20012      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
20013      236,   237,   238,   239,   240,    -1,   242,   243,   244,   245,
20014       -1,   247,   248,    -1,   250,    -1,   252,   253,   254,   255,
20015      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
20016       -1,   267,   268,    -1,   270,    -1,   272,   273,   274,   275,
20017      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
20018      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
20019      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
20020      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20021       -1,   317,   318,    -1,   320,   321,   322,   323,   324,   325,
20022      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
20023      336,   337,    -1,   339,   340,   341,   342,   343,    -1,   345,
20024      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
20025      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
20026      366,    -1,   368,   369,   370,   371,   372,    -1,   374,   375,
20027       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
20028      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
20029      396,   397,    -1,    -1,   400,   401,   402,   403,   404,   405,
20030      406,    -1,   408,    -1,   410,   411,   412,   413,    -1,    -1,
20031      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
20032      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
20033      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20034       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
20035       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
20036       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
20037       -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
20038       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
20039       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
20040       -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
20041       82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
20042       92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
20043      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
20044      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
20045       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
20046      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
20047      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
20048      152,   153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,
20049      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
20050      172,   173,   174,   175,    -1,   177,   178,   179,   180,    -1,
20051      182,   183,   184,   185,   186,   187,    -1,   189,    -1,   191,
20052      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
20053       -1,    -1,   204,    -1,   206,   207,   208,   209,   210,    -1,
20054       -1,   213,   214,    -1,   216,    -1,    -1,   219,   220,   221,
20055       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
20056      232,   233,   234,   235,   236,   237,   238,   239,   240,    -1,
20057      242,   243,   244,   245,    -1,   247,   248,    -1,   250,    -1,
20058      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
20059      262,   263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,
20060      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
20061      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
20062      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
20063      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
20064      312,   313,   314,   315,    -1,   317,   318,    -1,   320,   321,
20065      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
20066       -1,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
20067      342,   343,    -1,   345,   346,   347,   348,    -1,   350,   351,
20068      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
20069       -1,   363,   364,    -1,   366,    -1,   368,   369,   370,   371,
20070      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
20071      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
20072       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
20073      402,   403,   404,   405,   406,    -1,   408,    -1,   410,   411,
20074      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
20075      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
20076      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
20077       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20078       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
20079       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
20080       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
20081       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
20082       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
20083       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
20084       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
20085       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
20086       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
20087      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
20088       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
20089      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
20090      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
20091      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
20092       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
20093      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
20094      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
20095       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
20096       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
20097      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
20098       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
20099      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
20100      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
20101      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
20102       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
20103      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
20104      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
20105      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
20106      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
20107      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
20108      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
20109      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
20110       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
20111      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
20112      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
20113      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
20114      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
20115      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
20116       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
20117      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
20118       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
20119      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
20120       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20121       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
20122       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
20123       -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
20124       44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
20125       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
20126       -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
20127       74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
20128       84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
20129       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
20130      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
20131      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
20132      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
20133      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
20134      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
20135       -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,   163,
20136       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
20137      174,   175,    -1,   177,   178,   179,   180,    -1,   182,   183,
20138      184,   185,   186,   187,    -1,   189,    -1,   191,   192,   193,
20139      194,   195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,
20140      204,    -1,   206,   207,   208,   209,   210,    -1,    -1,   213,
20141      214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,    -1,
20142      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
20143      234,   235,   236,   237,   238,   239,   240,    -1,   242,   243,
20144      244,   245,    -1,   247,   248,    -1,   250,    -1,   252,   253,
20145      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
20146      264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,   273,
20147      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
20148      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
20149      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
20150       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
20151      314,   315,    -1,   317,   318,    -1,   320,   321,   322,   323,
20152      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
20153      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
20154       -1,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
20155      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
20156      364,    -1,   366,    -1,   368,   369,   370,   371,   372,    -1,
20157      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
20158      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
20159      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
20160      404,   405,   406,    -1,   408,    -1,   410,   411,   412,   413,
20161       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
20162      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
20163      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
20164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
20165       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
20166       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
20167       40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
20168       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
20169       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
20170       -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
20171       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
20172       90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20173      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
20174      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
20175      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
20176      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
20177      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
20178      150,   151,   152,   153,    -1,   155,    -1,   157,    -1,    -1,
20179       -1,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
20180       -1,   171,   172,   173,   174,   175,    -1,   177,   178,   179,
20181      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
20182       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
20183       -1,   201,    -1,    -1,   204,    -1,   206,   207,   208,   209,
20184      210,    -1,    -1,   213,   214,    -1,   216,    -1,    -1,   219,
20185      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
20186      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
20187      240,    -1,   242,   243,   244,   245,    -1,   247,   248,    -1,
20188      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
20189       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,    -1,
20190      270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
20191      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
20192       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
20193      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
20194      310,   311,   312,   313,   314,   315,    -1,   317,   318,    -1,
20195      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
20196      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
20197      340,   341,   342,   343,    -1,   345,   346,   347,   348,    -1,
20198      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
20199      360,   361,    -1,   363,   364,    -1,   366,    -1,   368,   369,
20200      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
20201      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
20202      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
20203      400,   401,   402,   403,   404,   405,   406,    -1,   408,    -1,
20204      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
20205      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
20206      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
20207       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20208       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20209       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20210       -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
20211       46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
20212       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
20213       66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
20214       76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
20215       86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
20216       -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
20217      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
20218      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
20219      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
20220      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
20221      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
20222       -1,   157,    -1,    -1,    -1,   161,   162,   163,    -1,   165,
20223      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
20224       -1,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
20225      186,   187,    -1,   189,    -1,   191,   192,   193,   194,   195,
20226      196,   197,    -1,   199,    -1,   201,    -1,    -1,   204,    -1,
20227      206,   207,   208,   209,   210,    -1,    -1,   213,   214,    -1,
20228      216,    -1,    -1,   219,   220,   221,    -1,    -1,   224,   225,
20229      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
20230      236,   237,   238,   239,   240,    -1,   242,   243,   244,   245,
20231       -1,   247,   248,    -1,   250,    -1,   252,   253,   254,   255,
20232      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
20233       -1,   267,   268,    -1,   270,    -1,   272,   273,   274,   275,
20234      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
20235      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
20236      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
20237      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20238       -1,   317,   318,    -1,   320,   321,   322,   323,   324,   325,
20239      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
20240      336,   337,    -1,   339,   340,   341,   342,   343,    -1,   345,
20241      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
20242      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
20243      366,    -1,   368,   369,   370,   371,   372,    -1,   374,   375,
20244       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
20245      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
20246      396,   397,    -1,    -1,   400,   401,   402,   403,   404,   405,
20247      406,    -1,   408,    -1,   410,   411,   412,   413,    -1,    -1,
20248      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
20249      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
20250      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20251       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
20252       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
20253       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
20254       -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
20255       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
20256       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
20257       -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
20258       82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
20259       92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
20260      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
20261      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
20262       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
20263      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
20264      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
20265      152,   153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,
20266      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
20267      172,   173,   174,   175,    -1,   177,   178,   179,   180,    -1,
20268      182,   183,   184,   185,   186,   187,    -1,   189,    -1,   191,
20269      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
20270       -1,    -1,   204,    -1,   206,   207,   208,   209,   210,    -1,
20271       -1,   213,   214,    -1,   216,    -1,    -1,   219,   220,   221,
20272       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
20273      232,   233,   234,   235,   236,   237,   238,   239,   240,    -1,
20274      242,   243,   244,   245,    -1,   247,   248,    -1,   250,    -1,
20275      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
20276      262,   263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,
20277      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
20278      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
20279      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
20280      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
20281      312,   313,   314,   315,    -1,   317,   318,    -1,   320,   321,
20282      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
20283       -1,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
20284      342,   343,    -1,   345,   346,   347,   348,    -1,   350,   351,
20285      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
20286       -1,   363,   364,    -1,   366,    -1,   368,   369,   370,   371,
20287      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
20288      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
20289       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
20290      402,   403,   404,   405,   406,    -1,   408,    -1,   410,   411,
20291      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
20292      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
20293      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
20294       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20295       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
20296       28,    29,    -1,    -1,    -1,    -1,    -1,    35,    -1,    37,
20297       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
20298       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
20299       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
20300       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
20301       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
20302       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
20303       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
20304      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
20305       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
20306      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
20307      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
20308      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
20309       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
20310      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
20311      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
20312       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
20313       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
20314      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
20315       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
20316      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
20317      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
20318      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
20319       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
20320      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
20321      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
20322      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
20323      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
20324      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
20325      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
20326      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
20327       -1,    -1,   340,   341,   342,   343,    -1,   345,   346,   347,
20328      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
20329      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
20330      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
20331      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
20332      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
20333       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
20334      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
20335       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
20336      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
20337       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20338       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
20339       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
20340       -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
20341       44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
20342       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
20343       -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
20344       74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
20345       84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
20346       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
20347      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
20348      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
20349      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
20350      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
20351      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
20352       -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,   163,
20353       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
20354      174,   175,    -1,   177,   178,   179,   180,    -1,   182,   183,
20355      184,   185,   186,   187,    -1,   189,    -1,   191,   192,   193,
20356      194,   195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,
20357      204,    -1,   206,   207,   208,   209,   210,    -1,    -1,   213,
20358      214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,    -1,
20359      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
20360      234,   235,   236,   237,   238,   239,   240,    -1,   242,   243,
20361      244,   245,    -1,   247,   248,    -1,   250,    -1,   252,   253,
20362      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
20363      264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,   273,
20364      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
20365      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
20366      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
20367       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
20368      314,   315,    -1,   317,   318,    -1,   320,   321,   322,   323,
20369      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
20370      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
20371       -1,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
20372      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
20373      364,    -1,   366,    -1,   368,   369,   370,   371,   372,    -1,
20374      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
20375      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
20376      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
20377      404,   405,   406,    -1,   408,    -1,   410,   411,   412,   413,
20378       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
20379      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
20380      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
20381       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
20382       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
20383       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
20384       40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
20385       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
20386       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
20387       -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
20388       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
20389       90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20390      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
20391      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
20392      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
20393      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
20394      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
20395      150,   151,   152,   153,    -1,   155,    -1,   157,    -1,    -1,
20396       -1,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
20397       -1,   171,   172,   173,   174,   175,    -1,   177,   178,   179,
20398      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
20399       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
20400       -1,   201,    -1,    -1,   204,    -1,   206,   207,   208,   209,
20401      210,    -1,    -1,   213,   214,    -1,   216,    -1,    -1,   219,
20402      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
20403      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
20404      240,    -1,   242,   243,   244,   245,    -1,   247,   248,    -1,
20405      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
20406       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,    -1,
20407      270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
20408      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
20409       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
20410      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
20411      310,   311,   312,   313,   314,   315,    -1,   317,   318,    -1,
20412      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
20413      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
20414      340,   341,   342,   343,    -1,   345,   346,   347,   348,    -1,
20415      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
20416      360,   361,    -1,   363,   364,    -1,   366,    -1,   368,   369,
20417      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
20418      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
20419      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
20420      400,   401,   402,   403,   404,   405,   406,    -1,   408,    -1,
20421      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
20422      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
20423      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
20424       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20425       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20426       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20427       -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
20428       46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
20429       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
20430       66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
20431       76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
20432       86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
20433       -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
20434      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
20435      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
20436      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
20437      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
20438      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
20439       -1,   157,    -1,    -1,    -1,   161,   162,   163,    -1,   165,
20440      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
20441       -1,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
20442      186,   187,    -1,   189,    -1,   191,   192,   193,   194,   195,
20443      196,   197,    -1,   199,    -1,   201,    -1,    -1,   204,    -1,
20444      206,   207,   208,   209,   210,    -1,    -1,   213,   214,    -1,
20445      216,    -1,    -1,   219,   220,   221,    -1,    -1,   224,   225,
20446      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
20447      236,   237,   238,   239,   240,    -1,   242,   243,   244,   245,
20448       -1,   247,   248,    -1,   250,    -1,   252,   253,   254,   255,
20449      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
20450       -1,   267,   268,    -1,   270,    -1,   272,   273,   274,   275,
20451      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
20452      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
20453      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
20454      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20455       -1,   317,   318,    -1,   320,   321,   322,   323,   324,   325,
20456      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
20457      336,   337,    -1,   339,   340,   341,   342,   343,    -1,   345,
20458      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
20459      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
20460      366,    -1,   368,   369,   370,   371,   372,    -1,   374,   375,
20461       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
20462      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
20463      396,   397,    -1,    -1,   400,   401,   402,   403,   404,   405,
20464      406,    -1,   408,    -1,   410,   411,   412,   413,    -1,    -1,
20465      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
20466      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
20467      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20468       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
20469       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
20470       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
20471       -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
20472       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
20473       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
20474       -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
20475       82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
20476       92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
20477      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
20478      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
20479       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
20480      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
20481      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
20482      152,   153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,
20483      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
20484      172,   173,   174,   175,    -1,   177,   178,   179,   180,    -1,
20485      182,   183,   184,   185,   186,   187,    -1,   189,    -1,   191,
20486      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
20487       -1,    -1,   204,    -1,   206,   207,   208,   209,   210,    -1,
20488       -1,   213,   214,    -1,   216,    -1,    -1,   219,   220,   221,
20489       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
20490      232,   233,   234,   235,   236,   237,   238,   239,   240,    -1,
20491      242,   243,   244,   245,    -1,   247,   248,    -1,   250,    -1,
20492      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
20493      262,   263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,
20494      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
20495      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
20496      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
20497      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
20498      312,   313,   314,   315,    -1,   317,   318,    -1,   320,   321,
20499      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
20500       -1,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
20501      342,   343,    -1,   345,   346,   347,   348,    -1,   350,   351,
20502      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
20503       -1,   363,   364,    -1,   366,    -1,   368,   369,   370,   371,
20504      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
20505      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
20506       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
20507      402,   403,   404,   405,   406,    -1,   408,    -1,   410,   411,
20508      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
20509      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
20510      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
20511       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20512       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
20513       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
20514       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
20515       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
20516       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
20517       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
20518       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
20519       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
20520       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
20521      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
20522       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
20523      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
20524      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
20525      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
20526       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
20527      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
20528      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
20529       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
20530       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
20531      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
20532       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
20533      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
20534      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
20535      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
20536       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
20537      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
20538      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
20539      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
20540      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
20541      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
20542      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
20543      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
20544       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
20545      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
20546      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
20547      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
20548      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
20549      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
20550       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
20551      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
20552       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
20553      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
20554       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20555       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
20556       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
20557       -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
20558       44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
20559       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
20560       -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
20561       74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
20562       84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
20563       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
20564      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
20565      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
20566      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
20567      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
20568      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
20569       -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,   163,
20570       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
20571      174,   175,    -1,   177,   178,   179,   180,    -1,   182,   183,
20572      184,   185,   186,   187,    -1,   189,    -1,   191,   192,   193,
20573      194,   195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,
20574      204,    -1,   206,   207,   208,   209,   210,    -1,    -1,   213,
20575      214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,    -1,
20576      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
20577      234,   235,   236,   237,   238,   239,   240,    -1,   242,   243,
20578      244,   245,    -1,   247,   248,    -1,   250,    -1,   252,   253,
20579      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
20580      264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,   273,
20581      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
20582      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
20583      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
20584       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
20585      314,   315,    -1,   317,   318,    -1,   320,   321,   322,   323,
20586      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
20587      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
20588       -1,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
20589      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
20590      364,    -1,   366,    -1,   368,   369,   370,   371,   372,    -1,
20591      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
20592      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
20593      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
20594      404,   405,   406,    -1,   408,    -1,   410,   411,   412,   413,
20595       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
20596      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
20597      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
20598       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
20599       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
20600       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
20601       40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
20602       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
20603       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
20604       -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
20605       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
20606       90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20607      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
20608      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
20609      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
20610      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
20611      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
20612      150,   151,   152,   153,    -1,   155,    -1,   157,    -1,    -1,
20613       -1,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
20614       -1,   171,   172,   173,   174,   175,    -1,   177,   178,   179,
20615      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
20616       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
20617       -1,   201,    -1,    -1,   204,    -1,   206,   207,   208,   209,
20618      210,    -1,    -1,   213,   214,    -1,   216,    -1,    -1,   219,
20619      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
20620      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
20621      240,    -1,   242,   243,   244,   245,    -1,   247,   248,    -1,
20622      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
20623       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,    -1,
20624      270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
20625      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
20626       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
20627      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
20628      310,   311,   312,   313,   314,   315,    -1,   317,   318,    -1,
20629      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
20630      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
20631      340,   341,   342,   343,    -1,   345,   346,   347,   348,    -1,
20632      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
20633      360,   361,    -1,   363,   364,    -1,   366,    -1,   368,   369,
20634      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
20635      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
20636      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
20637      400,   401,   402,   403,   404,   405,   406,    -1,   408,    -1,
20638      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
20639      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
20640      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
20641       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20642       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20643       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20644       -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
20645       46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
20646       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
20647       66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
20648       76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
20649       86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
20650       -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
20651      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
20652      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
20653      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
20654      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
20655      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
20656       -1,   157,    -1,    -1,    -1,   161,   162,   163,    -1,   165,
20657      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
20658       -1,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
20659      186,   187,    -1,   189,    -1,   191,   192,   193,   194,   195,
20660      196,   197,    -1,   199,    -1,   201,    -1,    -1,   204,    -1,
20661      206,   207,   208,   209,   210,    -1,    -1,   213,   214,    -1,
20662      216,    -1,    -1,   219,   220,   221,    -1,    -1,   224,   225,
20663      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
20664      236,   237,   238,   239,   240,    -1,   242,   243,   244,   245,
20665       -1,   247,   248,    -1,   250,    -1,   252,   253,   254,   255,
20666      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
20667       -1,   267,   268,    -1,   270,    -1,   272,   273,   274,   275,
20668      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
20669      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
20670      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
20671      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20672       -1,   317,   318,    -1,   320,   321,   322,   323,   324,   325,
20673      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
20674      336,   337,    -1,   339,   340,   341,   342,   343,    -1,   345,
20675      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
20676      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
20677      366,    -1,   368,   369,   370,   371,   372,    -1,   374,   375,
20678       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
20679      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
20680      396,   397,    -1,    -1,   400,   401,   402,   403,   404,   405,
20681      406,    -1,   408,    -1,   410,   411,   412,   413,    -1,    -1,
20682      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
20683      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
20684      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20685       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
20686       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
20687       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
20688       -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
20689       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
20690       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
20691       -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
20692       82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
20693       92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
20694      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
20695      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
20696       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
20697      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
20698      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
20699      152,   153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,
20700      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
20701      172,   173,   174,   175,    -1,   177,   178,   179,   180,    -1,
20702      182,   183,   184,   185,   186,   187,    -1,   189,    -1,   191,
20703      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
20704       -1,    -1,   204,    -1,   206,   207,   208,   209,   210,    -1,
20705       -1,   213,   214,    -1,   216,    -1,    -1,   219,   220,   221,
20706       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
20707      232,   233,   234,   235,   236,   237,   238,   239,   240,    -1,
20708      242,   243,   244,   245,    -1,   247,   248,    -1,   250,    -1,
20709      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
20710      262,   263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,
20711      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
20712      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
20713      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
20714      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
20715      312,   313,   314,   315,    -1,   317,   318,    -1,   320,   321,
20716      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
20717       -1,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
20718      342,   343,    -1,   345,   346,   347,   348,    -1,   350,   351,
20719      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
20720       -1,   363,   364,    -1,   366,    -1,   368,   369,   370,   371,
20721      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
20722      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
20723       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
20724      402,   403,   404,   405,   406,    -1,   408,    -1,   410,   411,
20725      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
20726      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
20727      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
20728       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20729       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
20730       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
20731       38,    -1,    40,    41,    -1,    43,    44,    45,    46,    47,
20732       -1,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
20733       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
20734       68,    69,    -1,    -1,    -1,    73,    74,    75,    76,    -1,
20735       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
20736       -1,    -1,    90,    91,    92,    -1,    -1,    -1,    -1,    -1,
20737       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
20738      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
20739       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
20740      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
20741      138,   139,   140,   141,   142,   143,   144,   145,   146,    -1,
20742      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
20743       -1,    -1,    -1,   161,   162,   163,    -1,   165,   166,    -1,
20744      168,   169,    -1,   171,   172,   173,   174,   175,    -1,   177,
20745      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
20746       -1,   189,    -1,   191,   192,   193,   194,   195,   196,   197,
20747       -1,   199,    -1,   201,    -1,    -1,   204,    -1,   206,   207,
20748      208,   209,   210,    -1,    -1,   213,   214,    -1,   216,    -1,
20749       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
20750      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
20751      238,   239,   240,    -1,   242,   243,   244,   245,    -1,   247,
20752      248,    -1,   250,    -1,   252,   253,   254,   255,   256,   257,
20753       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
20754      268,    -1,   270,    -1,   272,   273,   274,   275,   276,   277,
20755      278,   279,   280,    -1,   282,   283,   284,   285,   286,   287,
20756      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
20757      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
20758      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
20759      318,    -1,   320,   321,   322,   323,   324,   325,   326,   327,
20760      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
20761       -1,   339,   340,   341,   342,   343,    -1,   345,   346,   347,
20762      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
20763      358,   359,   360,   361,    -1,   363,   364,    -1,   366,    -1,
20764      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
20765      378,   379,   380,   381,   382,    -1,   384,   385,   386,   387,
20766      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
20767       -1,    -1,   400,   401,   402,   403,   404,   405,   406,    -1,
20768      408,    -1,   410,   411,   412,   413,    -1,    -1,   416,    -1,
20769       -1,   419,   420,   421,   422,   423,   424,   425,   426,   427,
20770      428,   429,   430,   431,   432,   433,   434,   435,   436,     3,
20771       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20772       -1,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
20773       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
20774       -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
20775       44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
20776       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
20777       -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
20778       74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
20779       84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
20780       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
20781      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
20782      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
20783      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
20784      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
20785      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
20786       -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,   163,
20787       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
20788      174,   175,    -1,   177,   178,   179,   180,    -1,   182,   183,
20789      184,   185,   186,   187,    -1,   189,    -1,   191,   192,   193,
20790      194,   195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,
20791      204,    -1,   206,   207,   208,   209,   210,    -1,    -1,   213,
20792      214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,    -1,
20793      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
20794      234,   235,   236,   237,   238,   239,   240,    -1,   242,   243,
20795      244,   245,    -1,   247,   248,    -1,   250,    -1,   252,   253,
20796      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
20797      264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,   273,
20798      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
20799      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
20800      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
20801       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
20802      314,   315,    -1,   317,   318,    -1,   320,   321,   322,   323,
20803      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
20804      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
20805       -1,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
20806      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
20807      364,    -1,   366,    -1,   368,   369,   370,   371,   372,    -1,
20808      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
20809      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
20810      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
20811      404,   405,   406,    -1,   408,    -1,   410,   411,   412,   413,
20812       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
20813      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
20814      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
20815       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
20816       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
20817       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
20818       40,    41,    -1,    43,    44,    45,    46,    47,    -1,    49,
20819       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
20820       60,    61,    62,    63,    -1,    65,    66,    67,    68,    69,
20821       -1,    -1,    -1,    73,    74,    75,    76,    -1,    78,    79,
20822       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    -1,
20823       90,    91,    92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20824      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
20825      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
20826      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
20827      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
20828      140,   141,   142,   143,   144,   145,   146,    -1,   148,    -1,
20829      150,   151,   152,   153,    -1,   155,    -1,   157,    -1,    -1,
20830       -1,   161,   162,   163,    -1,   165,   166,    -1,   168,   169,
20831       -1,   171,   172,   173,   174,   175,    -1,   177,   178,   179,
20832      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
20833       -1,   191,   192,   193,   194,   195,   196,   197,    -1,   199,
20834       -1,   201,    -1,    -1,   204,    -1,   206,   207,   208,   209,
20835      210,    -1,    -1,   213,   214,    -1,   216,    -1,    -1,   219,
20836      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
20837      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
20838      240,    -1,   242,   243,   244,   245,    -1,   247,   248,    -1,
20839      250,    -1,   252,   253,   254,   255,   256,   257,    -1,   259,
20840       -1,    -1,   262,   263,   264,    -1,    -1,   267,   268,    -1,
20841      270,    -1,   272,   273,   274,   275,   276,   277,   278,   279,
20842      280,    -1,   282,   283,   284,   285,   286,   287,   288,   289,
20843       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
20844      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
20845      310,   311,   312,   313,   314,   315,    -1,   317,   318,    -1,
20846      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
20847      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
20848      340,   341,   342,   343,    -1,   345,   346,   347,   348,    -1,
20849      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
20850      360,   361,    -1,   363,   364,    -1,   366,    -1,   368,   369,
20851      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
20852      380,   381,   382,    -1,   384,   385,   386,   387,   388,   389,
20853      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
20854      400,   401,   402,   403,   404,   405,   406,    -1,   408,    -1,
20855      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
20856      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
20857      430,   431,   432,   433,   434,   435,   436,     3,    -1,    -1,
20858       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20859       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20860       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20861       -1,    37,    38,    -1,    40,    41,    -1,    43,    44,    45,
20862       46,    47,    -1,    49,    50,    -1,    52,    53,    54,    55,
20863       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
20864       66,    67,    68,    69,    -1,    -1,    -1,    73,    74,    75,
20865       76,    -1,    78,    79,    80,    -1,    82,    83,    84,    85,
20866       86,    87,    -1,    -1,    90,    91,    92,    -1,    -1,    -1,
20867       -1,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
20868      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
20869      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
20870      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
20871      136,    -1,   138,   139,   140,   141,   142,   143,   144,   145,
20872      146,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
20873       -1,   157,    -1,    -1,    -1,   161,   162,   163,    -1,   165,
20874      166,    -1,   168,   169,    -1,   171,   172,   173,   174,   175,
20875       -1,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
20876      186,   187,    -1,   189,    -1,   191,   192,   193,   194,   195,
20877      196,   197,    -1,   199,    -1,   201,    -1,    -1,   204,    -1,
20878      206,   207,   208,   209,   210,    -1,    -1,   213,   214,    -1,
20879      216,    -1,    -1,   219,   220,   221,    -1,    -1,   224,   225,
20880      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
20881      236,   237,   238,   239,   240,    -1,   242,   243,   244,   245,
20882       -1,   247,   248,    -1,   250,    -1,   252,   253,   254,   255,
20883      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
20884       -1,   267,   268,    -1,   270,    -1,   272,   273,   274,   275,
20885      276,   277,   278,   279,   280,    -1,   282,   283,   284,   285,
20886      286,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
20887      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
20888      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
20889       -1,   317,   318,    -1,   320,   321,   322,   323,   324,   325,
20890      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
20891      336,   337,    -1,   339,   340,   341,   342,   343,    -1,   345,
20892      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
20893      356,   357,   358,   359,   360,   361,    -1,   363,   364,    -1,
20894      366,    -1,   368,   369,   370,   371,   372,    -1,   374,   375,
20895       -1,    -1,   378,   379,   380,   381,   382,    -1,   384,   385,
20896      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
20897      396,   397,    -1,    -1,   400,   401,   402,   403,   404,   405,
20898      406,    -1,   408,    -1,   410,   411,   412,   413,    -1,    -1,
20899      416,    -1,    -1,   419,   420,   421,   422,   423,   424,   425,
20900      426,   427,   428,   429,   430,   431,   432,   433,   434,   435,
20901      436,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20902       -1,    -1,    -1,    -1,    -1,    -1,    18,    19,    20,    21,
20903       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
20904       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
20905       -1,    43,    44,    45,    46,    47,    -1,    49,    50,    -1,
20906       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
20907       62,    63,    -1,    65,    66,    67,    68,    69,    -1,    -1,
20908       -1,    73,    74,    75,    76,    -1,    78,    79,    80,    -1,
20909       82,    83,    84,    85,    86,    87,    -1,    -1,    90,    91,
20910       92,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   100,   101,
20911      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
20912      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
20913       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
20914      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
20915      142,   143,   144,   145,   146,    -1,   148,    -1,   150,   151,
20916      152,   153,    -1,   155,    -1,   157,    -1,    -1,    -1,   161,
20917      162,   163,    -1,   165,   166,    -1,   168,   169,    -1,   171,
20918      172,   173,   174,   175,    -1,   177,   178,   179,   180,    -1,
20919      182,   183,   184,   185,   186,   187,    -1,   189,    -1,   191,
20920      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
20921       -1,    -1,   204,    -1,   206,   207,   208,   209,   210,    -1,
20922       -1,   213,   214,    -1,   216,    -1,    -1,   219,   220,   221,
20923       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
20924      232,   233,   234,   235,   236,   237,   238,   239,   240,    -1,
20925      242,   243,   244,   245,    -1,   247,   248,    -1,   250,    -1,
20926      252,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
20927      262,   263,   264,    -1,    -1,   267,   268,    -1,   270,    -1,
20928      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
20929      282,   283,   284,   285,   286,   287,   288,   289,    -1,   291,
20930      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
20931      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
20932      312,   313,   314,   315,    -1,   317,   318,    -1,   320,   321,
20933      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
20934       -1,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
20935      342,   343,    -1,   345,   346,   347,   348,    -1,   350,   351,
20936      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
20937       -1,   363,   364,    -1,   366,    -1,   368,   369,   370,   371,
20938      372,    -1,   374,   375,    -1,    -1,   378,   379,   380,   381,
20939      382,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
20940       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
20941      402,   403,   404,   405,   406,    -1,   408,    -1,   410,   411,
20942      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
20943      422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
20944      432,   433,   434,   435,   436,     3,    -1,    -1,    -1,    -1,
20945       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20946       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
20947       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
20948       38,    -1,    40,    41,    42,    43,    44,    45,    -1,    47,
20949       48,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
20950       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
20951       68,    -1,    -1,    71,    -1,    73,    74,    75,    76,    77,
20952       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
20953       -1,    89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,
20954       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
20955      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
20956       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
20957      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
20958      138,   139,   140,   141,    -1,   143,   144,   145,    -1,    -1,
20959      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
20960      158,    -1,   160,   161,   162,   163,    -1,   165,    -1,    -1,
20961       -1,   169,    -1,   171,   172,   173,   174,   175,   176,   177,
20962      178,   179,   180,   181,   182,   183,   184,   185,   186,   187,
20963       -1,   189,   190,   191,   192,   193,   194,   195,   196,   197,
20964       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
20965      208,   209,   210,    -1,    -1,   213,    -1,   215,   216,   217,
20966       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
20967      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
20968      238,   239,   240,   241,   242,   243,   244,    -1,    -1,   247,
20969      248,   249,   250,    -1,    -1,   253,   254,   255,   256,   257,
20970       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
20971      268,   269,   270,   271,    -1,   273,   274,   275,   276,   277,
20972      278,   279,   280,    -1,   282,   283,    -1,   285,    -1,   287,
20973      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
20974      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
20975      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
20976      318,   319,   320,   321,   322,    -1,   324,   325,   326,   327,
20977      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
20978       -1,   339,   340,   341,   342,   343,   344,   345,   346,   347,
20979      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
20980      358,   359,   360,    -1,    -1,   363,   364,    -1,   366,   367,
20981      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
20982      378,   379,    -1,   381,    -1,    -1,   384,   385,   386,   387,
20983      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
20984       -1,    -1,   400,   401,   402,   403,   404,    -1,   406,   407,
20985      408,   409,   410,   411,   412,   413,    -1,    -1,   416,    -1,
20986       -1,   419,   420,   421,   422,   423,   424,     3,    -1,    -1,
20987       -1,    -1,    -1,    -1,    -1,    -1,   434,   435,   436,    -1,
20988       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
20989       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
20990       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
20991       -1,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
20992       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
20993       66,    67,    68,    -1,    -1,    71,    -1,    73,    74,    75,
20994       76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
20995       86,    87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,
20996       96,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
20997      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
20998      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
20999      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
21000      136,    -1,   138,   139,   140,   141,    -1,   143,   144,   145,
21001       -1,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
21002       -1,   157,   158,    -1,   160,   161,   162,   163,    -1,   165,
21003       -1,    -1,    -1,   169,    -1,   171,   172,   173,   174,   175,
21004      176,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
21005      186,   187,    -1,   189,   190,    -1,   192,   193,   194,   195,
21006      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
21007      206,   207,   208,   209,   210,    -1,    -1,   213,    -1,   215,
21008      216,   217,    -1,   219,   220,   221,    -1,    -1,   224,   225,
21009      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
21010      236,   237,   238,   239,   240,   241,   242,   243,   244,    -1,
21011       -1,   247,   248,   249,   250,   251,    -1,   253,   254,   255,
21012      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
21013       -1,   267,    -1,   269,   270,   271,    -1,   273,   274,   275,
21014      276,   277,   278,   279,   280,    -1,   282,   283,    -1,   285,
21015       -1,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
21016      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
21017      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21018       -1,   317,   318,   319,   320,   321,   322,    -1,   324,   325,
21019      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
21020      336,   337,    -1,   339,   340,   341,   342,   343,   344,   345,
21021      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
21022      356,   357,   358,   359,   360,    -1,    -1,   363,   364,   365,
21023      366,   367,   368,   369,   370,   371,   372,    -1,   374,   375,
21024       -1,    -1,   378,   379,    -1,   381,    -1,    -1,   384,   385,
21025      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
21026      396,   397,    -1,    -1,   400,   401,   402,   403,   404,    -1,
21027      406,    -1,   408,   409,   410,   411,   412,   413,    -1,    -1,
21028      416,    -1,    -1,   419,   420,   421,   422,   423,   424,     3,
21029       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   434,   435,
21030      436,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
21031       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
21032       -1,    -1,    -1,    37,    38,    -1,    40,    41,    -1,    43,
21033       44,    45,    46,    47,    -1,    49,    50,    -1,    52,    53,
21034       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
21035       -1,    65,    66,    67,    68,    69,    -1,    -1,    -1,    73,
21036       74,    75,    76,    -1,    78,    79,    80,    -1,    82,    83,
21037       84,    85,    86,    87,    -1,    -1,    90,    91,    92,    -1,
21038       -1,    -1,    -1,    -1,    -1,    -1,   100,   101,   102,   103,
21039      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
21040      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
21041      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
21042      134,   135,   136,    -1,   138,   139,   140,   141,   142,   143,
21043      144,   145,   146,    -1,   148,    -1,   150,   151,   152,   153,
21044       -1,   155,    -1,   157,    -1,    -1,    -1,   161,   162,   163,
21045       -1,   165,   166,    -1,   168,   169,    -1,   171,   172,   173,
21046      174,   175,    -1,   177,   178,   179,   180,    -1,   182,   183,
21047      184,   185,   186,   187,    -1,   189,    -1,   191,   192,   193,
21048      194,   195,   196,   197,    -1,   199,    -1,   201,    -1,    -1,
21049      204,    -1,   206,   207,   208,   209,   210,    -1,    -1,   213,
21050      214,    -1,   216,    -1,    -1,   219,   220,   221,    -1,    -1,
21051      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
21052      234,   235,   236,   237,   238,   239,   240,    -1,   242,   243,
21053      244,   245,    -1,   247,   248,    -1,   250,    -1,   252,   253,
21054      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
21055      264,    -1,    -1,   267,   268,    -1,   270,    -1,   272,   273,
21056      274,   275,   276,   277,    -1,   279,   280,    -1,   282,   283,
21057      284,   285,   286,   287,   288,   289,    -1,   291,   292,   293,
21058      294,   295,   296,    -1,   298,   299,   300,   301,   302,   303,
21059       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
21060      314,   315,    -1,   317,   318,    -1,   320,   321,   322,   323,
21061       -1,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
21062      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
21063       -1,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
21064      354,   355,   356,   357,   358,   359,   360,   361,    -1,   363,
21065      364,    -1,   366,    -1,   368,   369,   370,   371,   372,    -1,
21066      374,   375,    -1,    -1,   378,   379,   380,   381,   382,    -1,
21067      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
21068      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
21069      404,   405,   406,    -1,   408,    -1,   410,   411,   412,   413,
21070       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
21071      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
21072      434,   435,   436,     3,    -1,    -1,    -1,    -1,    -1,    -1,
21073       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    18,    19,
21074       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
21075       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
21076       40,    41,    42,    43,    44,    45,    -1,    47,    48,    49,
21077       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
21078       60,    61,    62,    63,    -1,    65,    66,    67,    68,    -1,
21079       -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
21080       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
21081       90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,    -1,
21082      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
21083      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
21084      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
21085      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
21086      140,   141,    -1,   143,   144,   145,    -1,    -1,   148,    -1,
21087      150,   151,   152,   153,    -1,   155,    -1,   157,   158,    -1,
21088      160,   161,   162,   163,    -1,   165,    -1,    -1,    -1,   169,
21089       -1,   171,   172,   173,   174,   175,   176,   177,   178,   179,
21090      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
21091      190,    -1,   192,   193,   194,   195,   196,   197,    -1,   199,
21092       -1,   201,   202,   203,   204,   205,   206,   207,   208,   209,
21093      210,    -1,    -1,   213,    -1,   215,   216,   217,    -1,   219,
21094      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
21095      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
21096      240,   241,   242,   243,   244,   245,    -1,   247,   248,   249,
21097      250,    -1,    -1,   253,   254,   255,   256,   257,    -1,   259,
21098       -1,    -1,   262,   263,   264,    -1,    -1,   267,    -1,   269,
21099      270,   271,    -1,   273,   274,   275,   276,   277,   278,   279,
21100      280,    -1,   282,   283,    -1,   285,    -1,   287,   288,   289,
21101       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
21102      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
21103      310,   311,   312,   313,   314,   315,    -1,   317,   318,   319,
21104      320,   321,   322,    -1,   324,   325,   326,   327,   328,   329,
21105      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
21106      340,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
21107      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
21108      360,    -1,    -1,   363,   364,    -1,   366,   367,   368,   369,
21109      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
21110       -1,   381,    -1,    -1,   384,   385,   386,   387,   388,   389,
21111      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
21112      400,   401,   402,   403,   404,    -1,   406,    -1,   408,   409,
21113      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
21114      420,   421,   422,   423,   424,     3,    -1,    -1,    -1,    -1,
21115       -1,    -1,    -1,    -1,   434,   435,   436,    -1,    -1,    -1,
21116       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
21117       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
21118       38,    -1,    40,    41,    42,    43,    44,    45,    -1,    47,
21119       48,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
21120       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
21121       68,    -1,    -1,    71,    -1,    73,    74,    75,    76,    77,
21122       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
21123       -1,    89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,
21124       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
21125      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
21126       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
21127      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
21128      138,   139,   140,   141,    -1,   143,   144,   145,    -1,    -1,
21129      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
21130      158,    -1,   160,   161,   162,   163,    -1,   165,    -1,    -1,
21131       -1,   169,    -1,   171,   172,   173,   174,   175,   176,   177,
21132      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
21133       -1,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
21134       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
21135      208,   209,   210,    -1,    -1,   213,    -1,   215,   216,   217,
21136       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
21137      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
21138      238,   239,   240,   241,   242,   243,   244,   245,    -1,   247,
21139      248,   249,   250,    -1,    -1,   253,   254,   255,   256,   257,
21140       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
21141       -1,   269,   270,   271,    -1,   273,   274,   275,   276,   277,
21142      278,   279,   280,    -1,   282,   283,    -1,   285,    -1,   287,
21143      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
21144      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
21145      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
21146      318,   319,   320,   321,   322,    -1,   324,   325,   326,   327,
21147      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
21148       -1,   339,   340,   341,   342,   343,   344,   345,   346,   347,
21149      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
21150      358,   359,   360,    -1,    -1,   363,   364,    -1,   366,   367,
21151      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
21152      378,   379,    -1,   381,    -1,    -1,   384,   385,   386,   387,
21153      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
21154       -1,    -1,   400,   401,   402,   403,   404,    -1,   406,    -1,
21155      408,   409,   410,   411,   412,   413,    -1,    -1,   416,    -1,
21156       -1,   419,   420,   421,   422,   423,   424,     3,    -1,    -1,
21157       -1,    -1,    -1,    -1,    -1,    -1,   434,   435,   436,    -1,
21158       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
21159       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
21160       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
21161       -1,    47,    48,    49,    50,    -1,    52,    53,    54,    55,
21162       56,    -1,    -1,    59,    60,    61,    62,    63,    -1,    65,
21163       66,    67,    68,    -1,    -1,    71,    -1,    73,    74,    75,
21164       76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
21165       86,    87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,
21166       96,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
21167      106,   107,   108,    -1,   110,    -1,   112,   113,   114,   115,
21168      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
21169      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
21170      136,    -1,   138,   139,   140,   141,    -1,   143,   144,   145,
21171       -1,    -1,   148,    -1,   150,   151,   152,   153,    -1,   155,
21172       -1,   157,   158,    -1,   160,   161,   162,   163,    -1,   165,
21173       -1,    -1,    -1,   169,    -1,   171,   172,   173,   174,   175,
21174      176,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
21175      186,   187,    -1,   189,   190,    -1,   192,   193,   194,   195,
21176      196,   197,    -1,   199,    -1,   201,   202,   203,   204,   205,
21177      206,   207,   208,   209,   210,    -1,    -1,   213,    -1,   215,
21178      216,   217,    -1,   219,   220,   221,    -1,    -1,   224,   225,
21179      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
21180      236,   237,   238,   239,   240,   241,   242,   243,   244,    -1,
21181       -1,   247,   248,   249,   250,    -1,    -1,   253,   254,   255,
21182      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
21183       -1,   267,    -1,   269,   270,   271,    -1,   273,   274,   275,
21184      276,   277,   278,   279,   280,    -1,   282,   283,    -1,   285,
21185       -1,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
21186      296,   297,   298,   299,   300,   301,   302,   303,    -1,   305,
21187      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21188       -1,   317,   318,   319,   320,   321,   322,    -1,   324,   325,
21189      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
21190      336,   337,    -1,   339,   340,   341,   342,   343,   344,   345,
21191      346,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
21192      356,   357,   358,   359,   360,    -1,    -1,   363,   364,    -1,
21193      366,   367,   368,   369,   370,   371,   372,    -1,   374,   375,
21194       -1,    -1,   378,   379,    -1,   381,    -1,    -1,   384,   385,
21195      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
21196      396,   397,    -1,    -1,   400,   401,   402,   403,   404,    -1,
21197      406,    -1,   408,   409,   410,   411,   412,   413,    -1,    -1,
21198      416,    -1,    -1,   419,   420,   421,   422,   423,   424,     3,
21199       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   434,   435,
21200      436,    -1,    -1,    -1,    18,    19,    20,    21,    22,    23,
21201       24,    25,    -1,    27,    28,    29,    -1,    -1,    -1,    -1,
21202       -1,    -1,    -1,    37,    38,    -1,    40,    41,    42,    43,
21203       44,    45,    -1,    47,    48,    49,    50,    -1,    52,    53,
21204       54,    55,    56,    -1,    -1,    59,    60,    61,    62,    63,
21205       -1,    65,    66,    67,    68,    -1,    -1,    71,    -1,    73,
21206       74,    75,    76,    77,    78,    79,    80,    -1,    82,    83,
21207       84,    85,    86,    87,    -1,    89,    90,    91,    92,    -1,
21208       -1,    -1,    96,    -1,    -1,    -1,   100,   101,   102,   103,
21209      104,   105,   106,   107,   108,    -1,   110,    -1,   112,   113,
21210      114,   115,   116,   117,    -1,   119,   120,   121,    -1,    -1,
21211      124,   125,   126,   127,   128,    -1,   130,   131,   132,    -1,
21212      134,   135,   136,    -1,   138,   139,   140,   141,    -1,   143,
21213      144,   145,    -1,    -1,   148,    -1,   150,   151,   152,   153,
21214       -1,   155,    -1,   157,   158,    -1,   160,   161,   162,   163,
21215       -1,   165,    -1,    -1,    -1,   169,    -1,   171,   172,   173,
21216      174,   175,   176,   177,   178,   179,   180,    -1,   182,   183,
21217      184,   185,   186,   187,    -1,   189,   190,    -1,   192,   193,
21218      194,   195,   196,   197,    -1,   199,    -1,   201,   202,   203,
21219      204,   205,   206,   207,   208,   209,   210,    -1,    -1,   213,
21220       -1,   215,   216,   217,    -1,   219,   220,   221,    -1,    -1,
21221      224,   225,   226,   227,   228,   229,   230,   231,   232,   233,
21222      234,   235,   236,   237,   238,   239,   240,   241,   242,   243,
21223      244,    -1,    -1,   247,   248,   249,   250,    -1,    -1,   253,
21224      254,   255,   256,   257,    -1,   259,    -1,    -1,   262,   263,
21225      264,    -1,    -1,   267,    -1,   269,   270,   271,    -1,   273,
21226      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
21227       -1,   285,    -1,   287,   288,   289,    -1,   291,   292,   293,
21228      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
21229       -1,   305,   306,   307,   308,   309,   310,   311,   312,   313,
21230      314,   315,    -1,   317,   318,   319,   320,   321,   322,    -1,
21231      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
21232      334,   335,   336,   337,    -1,   339,   340,   341,   342,   343,
21233      344,   345,   346,   347,   348,    -1,   350,   351,   352,   353,
21234      354,   355,   356,   357,   358,   359,   360,    -1,    -1,   363,
21235      364,    -1,   366,   367,   368,   369,   370,   371,   372,    -1,
21236      374,   375,    -1,    -1,   378,   379,    -1,   381,    -1,    -1,
21237      384,   385,   386,   387,   388,   389,   390,    -1,    -1,   393,
21238      394,   395,   396,   397,    -1,    -1,   400,   401,   402,   403,
21239      404,    -1,   406,    -1,   408,   409,   410,   411,   412,   413,
21240       -1,    -1,   416,    -1,    -1,   419,   420,   421,   422,   423,
21241      424,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21242      434,   435,   436,    -1,    -1,    -1,    18,    19,    20,    21,
21243       22,    23,    24,    25,    -1,    27,    28,    29,    -1,    -1,
21244       -1,    -1,    -1,    -1,    -1,    37,    38,    -1,    40,    41,
21245       42,    43,    44,    45,    -1,    47,    48,    49,    50,    -1,
21246       52,    53,    54,    55,    56,    -1,    -1,    59,    60,    61,
21247       62,    63,    -1,    65,    66,    67,    68,    -1,    -1,    71,
21248       -1,    73,    74,    75,    76,    77,    78,    79,    80,    -1,
21249       82,    83,    84,    85,    86,    87,    -1,    89,    90,    91,
21250       92,    -1,    -1,    -1,    96,    -1,    -1,    -1,   100,   101,
21251      102,   103,   104,   105,   106,   107,   108,    -1,   110,    -1,
21252      112,   113,   114,   115,   116,   117,    -1,   119,   120,   121,
21253       -1,    -1,   124,   125,   126,   127,   128,    -1,   130,   131,
21254      132,    -1,   134,   135,   136,    -1,   138,   139,   140,   141,
21255       -1,   143,   144,   145,    -1,    -1,   148,    -1,   150,   151,
21256      152,   153,    -1,   155,    -1,   157,   158,    -1,   160,   161,
21257      162,   163,    -1,   165,    -1,    -1,    -1,   169,    -1,   171,
21258      172,   173,   174,   175,   176,   177,   178,   179,   180,    -1,
21259      182,   183,   184,   185,   186,   187,    -1,   189,   190,    -1,
21260      192,   193,   194,   195,   196,   197,    -1,   199,    -1,   201,
21261      202,   203,   204,   205,   206,   207,   208,   209,   210,    -1,
21262       -1,   213,    -1,   215,   216,   217,    -1,   219,   220,   221,
21263       -1,    -1,   224,   225,   226,   227,   228,   229,   230,   231,
21264      232,   233,   234,   235,   236,   237,   238,   239,   240,   241,
21265      242,   243,   244,    -1,    -1,   247,   248,   249,   250,    -1,
21266       -1,   253,   254,   255,   256,   257,    -1,   259,    -1,    -1,
21267      262,   263,   264,    -1,    -1,   267,    -1,   269,   270,   271,
21268       -1,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
21269      282,   283,    -1,   285,    -1,   287,   288,   289,    -1,   291,
21270      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
21271      302,   303,    -1,   305,   306,   307,   308,   309,   310,   311,
21272      312,   313,   314,   315,    -1,   317,   318,   319,   320,   321,
21273      322,    -1,   324,   325,   326,   327,   328,   329,   330,   331,
21274       -1,   333,   334,   335,   336,   337,    -1,   339,   340,   341,
21275      342,   343,   344,   345,   346,   347,   348,    -1,   350,   351,
21276      352,   353,   354,   355,   356,   357,   358,   359,   360,    -1,
21277       -1,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
21278      372,    -1,   374,   375,    -1,    -1,   378,   379,    -1,   381,
21279       -1,    -1,   384,   385,   386,   387,   388,   389,   390,    -1,
21280       -1,   393,   394,   395,   396,   397,    -1,    -1,   400,   401,
21281      402,   403,   404,    -1,   406,    -1,   408,   409,   410,   411,
21282      412,   413,    -1,    -1,   416,    -1,    -1,   419,   420,   421,
21283      422,   423,   424,     3,    -1,    -1,    -1,    -1,    -1,    -1,
21284       -1,    -1,   434,   435,   436,    -1,    -1,    -1,    18,    19,
21285       20,    21,    22,    23,    24,    25,    -1,    27,    28,    29,
21286       -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,    38,    -1,
21287       40,    41,    42,    43,    44,    45,    -1,    47,    48,    49,
21288       50,    -1,    52,    53,    54,    55,    56,    -1,    -1,    59,
21289       60,    61,    62,    63,    -1,    65,    66,    67,    68,    -1,
21290       -1,    71,    -1,    73,    74,    75,    76,    77,    78,    79,
21291       80,    -1,    82,    83,    84,    85,    86,    87,    -1,    89,
21292       90,    91,    92,    -1,    -1,    -1,    96,    -1,    -1,    -1,
21293      100,   101,   102,   103,   104,   105,   106,   107,   108,    -1,
21294      110,    -1,   112,   113,   114,   115,   116,   117,    -1,   119,
21295      120,   121,    -1,    -1,   124,   125,   126,   127,   128,    -1,
21296      130,   131,   132,    -1,   134,   135,   136,    -1,   138,   139,
21297      140,   141,    -1,   143,   144,   145,    -1,    -1,   148,    -1,
21298      150,   151,   152,   153,    -1,   155,    -1,   157,   158,    -1,
21299      160,   161,   162,   163,    -1,   165,    -1,    -1,    -1,   169,
21300       -1,   171,   172,   173,   174,   175,   176,   177,   178,   179,
21301      180,    -1,   182,   183,   184,   185,   186,   187,    -1,   189,
21302      190,    -1,   192,   193,   194,   195,   196,   197,    -1,   199,
21303       -1,   201,   202,   203,   204,   205,   206,   207,   208,   209,
21304      210,    -1,    -1,   213,    -1,   215,   216,   217,    -1,   219,
21305      220,   221,    -1,    -1,   224,   225,   226,   227,   228,   229,
21306      230,   231,   232,   233,   234,   235,   236,   237,   238,   239,
21307      240,   241,   242,   243,   244,    -1,    -1,   247,   248,   249,
21308      250,    -1,    -1,   253,   254,   255,   256,   257,    -1,   259,
21309       -1,    -1,   262,   263,   264,    -1,    -1,   267,    -1,   269,
21310      270,   271,    -1,   273,   274,   275,   276,   277,   278,   279,
21311      280,    -1,   282,   283,    -1,   285,    -1,   287,   288,   289,
21312       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
21313      300,   301,   302,   303,    -1,   305,   306,   307,   308,   309,
21314      310,   311,   312,   313,   314,   315,    -1,   317,   318,   319,
21315      320,   321,   322,    -1,   324,   325,   326,   327,   328,   329,
21316      330,   331,    -1,   333,   334,   335,   336,   337,    -1,   339,
21317      340,   341,   342,   343,   344,   345,   346,   347,   348,    -1,
21318      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
21319      360,    -1,    -1,   363,   364,    -1,   366,   367,   368,   369,
21320      370,   371,   372,    -1,   374,   375,    -1,    -1,   378,   379,
21321       -1,   381,    -1,    -1,   384,   385,   386,   387,   388,   389,
21322      390,    -1,    -1,   393,   394,   395,   396,   397,    -1,    -1,
21323      400,   401,   402,   403,   404,    -1,   406,    -1,   408,   409,
21324      410,   411,   412,   413,    -1,    -1,   416,    -1,    -1,   419,
21325      420,   421,   422,   423,   424,     3,    -1,    -1,    -1,    -1,
21326       -1,    -1,    -1,    -1,   434,   435,   436,    -1,    -1,    -1,
21327       18,    19,    20,    21,    22,    23,    24,    25,    -1,    27,
21328       28,    29,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    37,
21329       38,    -1,    40,    41,    42,    43,    44,    45,    -1,    47,
21330       48,    49,    50,    -1,    52,    53,    54,    55,    56,    -1,
21331       -1,    59,    60,    61,    62,    63,    -1,    65,    66,    67,
21332       68,    -1,    -1,    71,    -1,    73,    74,    75,    76,    77,
21333       78,    79,    80,    -1,    82,    83,    84,    85,    86,    87,
21334       -1,    89,    90,    91,    92,    -1,    -1,    -1,    96,    -1,
21335       -1,    -1,   100,   101,   102,   103,   104,   105,   106,   107,
21336      108,    -1,   110,    -1,   112,   113,   114,   115,   116,   117,
21337       -1,   119,   120,   121,    -1,    -1,   124,   125,   126,   127,
21338      128,    -1,   130,   131,   132,    -1,   134,   135,   136,    -1,
21339      138,   139,   140,   141,    -1,   143,   144,   145,    -1,    -1,
21340      148,    -1,   150,   151,   152,   153,    -1,   155,    -1,   157,
21341      158,    -1,   160,   161,   162,   163,    -1,   165,    -1,    -1,
21342       -1,   169,    -1,   171,   172,   173,   174,   175,   176,   177,
21343      178,   179,   180,    -1,   182,   183,   184,   185,   186,   187,
21344       -1,   189,   190,    -1,   192,   193,   194,   195,   196,   197,
21345       -1,   199,    -1,   201,   202,   203,   204,   205,   206,   207,
21346      208,   209,   210,    -1,    -1,   213,    -1,   215,   216,   217,
21347       -1,   219,   220,   221,    -1,    -1,   224,   225,   226,   227,
21348      228,   229,   230,   231,   232,   233,   234,   235,   236,   237,
21349      238,   239,   240,   241,   242,   243,   244,    -1,    -1,   247,
21350      248,   249,   250,    -1,    -1,   253,   254,   255,   256,   257,
21351       -1,   259,    -1,    -1,   262,   263,   264,    -1,    -1,   267,
21352       -1,   269,   270,   271,    -1,   273,   274,   275,   276,   277,
21353      278,   279,   280,    -1,   282,   283,    -1,   285,    -1,   287,
21354      288,   289,    -1,   291,   292,   293,   294,   295,   296,   297,
21355      298,   299,   300,   301,   302,   303,    -1,   305,   306,   307,
21356      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
21357      318,   319,   320,   321,   322,    -1,   324,   325,   326,   327,
21358      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
21359       -1,   339,   340,    -1,   342,   343,   344,   345,   346,   347,
21360      348,    -1,   350,   351,   352,   353,   354,   355,   356,   357,
21361      358,   359,   360,    -1,    -1,   363,   364,    -1,   366,   367,
21362      368,   369,   370,   371,   372,    -1,   374,   375,    -1,    -1,
21363      378,   379,    -1,   381,    -1,    -1,   384,   385,   386,   387,
21364      388,   389,   390,    -1,    -1,   393,   394,   395,   396,   397,
21365       -1,    -1,   400,   401,   402,   403,   404,    -1,   406,    -1,
21366      408,   409,   410,   411,   412,   413,    -1,    -1,   416,    -1,
21367       -1,   419,   420,   421,   422,   423,   424,     3,    -1,    -1,
21368       -1,    -1,    -1,    -1,    -1,    -1,   434,   435,   436,    -1,
21369       -1,    -1,    18,    19,    20,    21,    22,    23,    24,    25,
21370       -1,    27,    28,    29,    -1,    -1,    -1,    -1,    -1,    -1,
21371       -1,    37,    38,    -1,    40,    41,    42,    43,    44,    45,
21372       -1,    -1,    48,    -1,    -1,    -1,    52,    53,    54,    55,
21373       56,    -1,    -1,    59,    60,    -1,    -1,    63,    -1,    65,
21374       66,    67,    68,    -1,    -1,    71,    -1,    73,    74,    75,
21375       76,    77,    78,    79,    80,    -1,    82,    83,    84,    85,
21376       86,    87,    -1,    89,    90,    91,    92,    -1,    -1,    -1,
21377       96,    -1,    -1,    -1,   100,   101,   102,   103,   104,   105,
21378       -1,    -1,   108,    -1,   110,    -1,   112,   113,   114,   115,
21379      116,   117,    -1,   119,   120,   121,    -1,    -1,   124,   125,
21380      126,   127,   128,    -1,   130,   131,   132,    -1,   134,   135,
21381      136,    -1,   138,   139,   140,   141,    -1,   143,   144,   145,
21382       -1,    -1,   148,    -1,   150,   151,    -1,   153,    -1,   155,
21383       -1,   157,   158,    -1,   160,   161,   162,   163,    -1,   165,
21384       -1,    -1,    -1,   169,    -1,   171,   172,   173,   174,   175,
21385      176,   177,   178,   179,   180,    -1,   182,   183,   184,   185,
21386      186,   187,    -1,   189,   190,    -1,   192,   193,   194,   195,
21387       -1,    -1,    -1,    -1,    -1,   201,   202,   203,   204,   205,
21388      206,   207,   208,   209,   210,    -1,    -1,   213,    -1,   215,
21389      216,   217,    -1,   219,   220,   221,    -1,    -1,   224,   225,
21390      226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
21391      236,   237,   238,   239,    -1,   241,    -1,   243,   244,    -1,
21392       -1,   247,   248,   249,   250,    -1,    -1,   253,    -1,   255,
21393      256,   257,    -1,   259,    -1,    -1,   262,   263,   264,    -1,
21394       -1,   267,    -1,   269,   270,   271,    -1,   273,   274,   275,
21395      276,   277,   278,   279,   280,    -1,   282,   283,    -1,   285,
21396       -1,   287,   288,   289,    -1,   291,   292,   293,   294,   295,
21397      296,   297,   298,    -1,   300,   301,   302,   303,    -1,   305,
21398      306,   307,   308,   309,   310,   311,   312,   313,   314,   315,
21399       -1,   317,   318,   319,   320,   321,   322,    -1,   324,   325,
21400      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
21401      336,   337,    -1,   339,   340,    -1,   342,   343,   344,   345,
21402      346,    -1,   348,    -1,   350,   351,   352,   353,   354,   355,
21403      356,   357,   358,   359,   360,    -1,    -1,   363,   364,    -1,
21404      366,   367,   368,   369,   370,   371,   372,    -1,    -1,    -1,
21405       -1,    -1,   378,   379,    -1,   381,    -1,    -1,   384,   385,
21406      386,   387,   388,   389,   390,    -1,    -1,   393,   394,   395,
21407      396,   397,    -1,    -1,   400,   401,   402,   403,   404,    -1,
21408       -1,    -1,   408,   409,   410,   411,   412,   413,    -1,    -1,
21409      416,    -1,    -1,   419,   420,   421,   422,   423,   424,    -1,
21410       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   434,   435,
21411      436
21412 };
21413 
21414   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
21415      symbol of state STATE-NUM.  */
21416 static const yytype_uint16 yystos[] =
21417 {
21418        0,    18,    28,    30,    31,    45,    65,    67,    68,    73,
21419       75,    86,    88,   105,   108,   121,   123,   127,   133,   141,
21420      143,   149,   164,   180,   219,   220,   225,   237,   248,   288,
21421      300,   305,   306,   308,   313,   318,   321,   326,   331,   332,
21422      339,   343,   353,   365,   384,   394,   400,   405,   418,   439,
21423      453,   460,   461,   462,   463,   469,   470,   472,   473,   474,
21424      475,   476,   477,   478,   480,   481,   485,   497,   502,   503,
21425      506,   507,   508,   520,   523,   524,   540,   577,   580,   583,
21426      584,   585,   592,   598,   600,   602,   603,   606,   609,   610,
21427      614,   615,   624,   628,   629,   630,   631,   632,   635,   637,
21428      638,   639,   640,   641,   648,   649,   662,   663,   667,   669,
21429      670,   671,   681,   683,   690,   691,   694,   695,   696,   697,
21430      698,   704,   706,   709,   713,   717,   718,   728,   729,   732,
21431      737,   748,   771,   774,   775,   776,   779,   782,   784,   786,
21432      788,   789,   794,   795,   798,   799,   800,   803,   804,   811,
21433      812,   814,   815,   816,   821,   823,   824,   830,   831,   832,
21434      833,   834,   835,   837,   838,   840,   841,   843,   846,   847,
21435      852,   858,   861,   863,   864,   872,   874,   879,   886,   890,
21436      891,   892,   893,   894,   895,   898,   933,   378,   421,   817,
21437       25,    71,    85,   103,   109,   125,   136,   144,   156,   161,
21438      167,   184,   209,   230,   262,   283,   293,   320,   325,   327,
21439      333,   336,   364,   365,   368,   372,   381,   386,   398,   411,
21440      599,   817,     3,    18,    19,    20,    21,    22,    23,    24,
21441       25,    26,    27,    28,    29,    37,    38,    40,    41,    43,
21442       44,    45,    46,    47,    49,    50,    52,    53,    54,    55,
21443       56,    59,    60,    61,    62,    63,    65,    66,    67,    68,
21444       69,    73,    74,    75,    76,    78,    79,    80,    82,    83,
21445       84,    85,    86,    87,    90,    91,    92,   100,   101,   102,
21446      103,   104,   105,   106,   107,   108,   110,   112,   113,   114,
21447      115,   116,   117,   119,   120,   121,   124,   125,   126,   127,
21448      128,   130,   131,   132,   134,   135,   136,   138,   139,   140,
21449      141,   142,   143,   144,   145,   146,   148,   150,   151,   152,
21450      153,   155,   157,   161,   162,   163,   165,   166,   168,   169,
21451      171,   172,   173,   174,   175,   177,   178,   179,   180,   182,
21452      183,   184,   185,   186,   187,   189,   191,   192,   193,   194,
21453      195,   196,   197,   199,   201,   204,   206,   207,   208,   209,
21454      210,   213,   214,   216,   219,   220,   221,   224,   225,   226,
21455      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
21456      237,   238,   239,   240,   242,   243,   244,   245,   247,   248,
21457      250,   252,   253,   254,   255,   256,   257,   259,   262,   263,
21458      264,   267,   268,   270,   272,   273,   274,   275,   276,   277,
21459      278,   279,   280,   282,   283,   284,   285,   286,   287,   288,
21460      289,   291,   292,   293,   294,   295,   296,   297,   298,   299,
21461      300,   301,   302,   303,   305,   306,   307,   308,   309,   310,
21462      311,   312,   313,   314,   315,   317,   318,   320,   321,   322,
21463      323,   324,   325,   326,   327,   328,   329,   330,   331,   333,
21464      334,   335,   336,   337,   339,   340,   341,   342,   343,   345,
21465      346,   347,   348,   350,   351,   352,   353,   354,   355,   356,
21466      357,   358,   359,   360,   361,   363,   364,   366,   368,   369,
21467      370,   371,   372,   374,   375,   378,   379,   380,   381,   382,
21468      384,   385,   386,   387,   388,   389,   390,   393,   394,   395,
21469      396,   397,   400,   401,   402,   403,   404,   405,   406,   408,
21470      410,   411,   412,   413,   416,   419,   420,   421,   422,   423,
21471      424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
21472      434,   435,   436,   887,  1055,  1069,  1073,  1074,   409,   848,
21473      260,   289,   817,    48,   453,   531,    20,    25,    37,    58,
21474       71,    81,   103,   109,   125,   136,   144,   156,   163,   167,
21475      221,   262,   265,   283,   320,   327,   336,   368,   369,   371,
21476      372,   381,   386,   392,   395,   398,   541,   582,   686,   738,
21477      749,    26,   288,  1055,   887,    26,   282,   334,   369,   371,
21478        5,   208,   780,   781,  1064,    20,    25,    37,    58,    71,
21479       85,   103,   125,   136,   144,   156,   161,   167,   184,   230,
21480      262,   273,   283,   320,   325,   327,   333,   336,   365,   368,
21481      372,   379,   381,   386,   398,   411,   599,   699,   817,  1055,
21482       88,   409,   453,   577,   580,   583,   847,   853,   861,   864,
21483      872,   879,   886,   890,     9,    19,    26,    43,   151,   157,
21484      159,   181,   210,   243,   291,   307,   444,   445,   714,   715,
21485      887,  1063,  1065,    26,    88,   304,   332,   719,   720,   721,
21486     1069,   156,  1069,  1060,  1064,   365,   901,   714,  1069,   378,
21487     1055,   273,   230,   103,   184,   327,   364,   365,   453,   790,
21488      791,   326,  1069,    26,   337,   374,   378,   489,   498,   499,
21489     1069,    23,   164,   719,   720,   289,   817,  1069,   207,    26,
21490      122,   903,   904,    59,    82,   221,   239,   320,   327,   337,
21491      374,   378,   424,   486,   487,   488,   489,    26,   337,   374,
21492      378,   489,   378,   261,   944,  1053,  1069,   901,   446,  1069,
21493      160,   453,   849,   453,  1048,   302,   896,   897,  1055,   896,
21494      891,   892,   895,     0,   456,   848,   137,   198,   266,   391,
21495      905,   906,   891,   893,   894,   114,   194,   397,   457,     3,
21496       42,    48,    71,    77,    89,    96,   158,   160,   176,   190,
21497      202,   203,   205,   215,   217,   241,   249,   269,   271,   319,
21498      344,   367,   409,  1061,  1069,  1070,  1073,  1075,   701,  1069,
21499      701,  1056,  1069,   292,   701,   381,   701,  1055,  1069,   102,
21500      365,   727,  1061,     3,    99,   338,  1066,  1067,  1071,  1073,
21501     1074,  1075,    26,   175,  1053,   255,   411,     8,    15,    16,
21502       17,    66,   148,   440,   441,   442,   444,   445,   446,   447,
21503      448,   449,   778,  1014,  1015,  1069,   175,  1055,    26,  1066,
21504     1067,  1055,  1055,   175,  1053,  1055,   313,   339,    26,   175,
21505      944,  1055,   329,  1055,   701,    26,   228,  1066,  1067,   175,
21506     1053,   208,   111,   204,   246,   298,   818,   819,   820,  1053,
21507     1059,  1069,    20,    25,    58,    71,    72,    81,    85,   103,
21508      125,   136,   144,   156,   161,   184,   209,   230,   262,   283,
21509      320,   325,   327,   333,   336,   365,   368,   372,   379,   381,
21510      386,   411,   599,   707,  1064,   860,   864,   872,   879,   890,
21511     1053,   232,  1061,  1055,   453,   701,   381,  1056,   701,   381,
21512      175,  1055,   102,   365,   369,   371,  1066,  1067,   369,   371,
21513       66,   148,   778,   311,  1055,  1066,   175,   482,  1069,  1055,
21514     1055,   329,  1055,   701,   228,  1066,   302,   333,   365,   411,
21515      230,    85,   184,   161,   325,   379,   385,   593,    26,  1055,
21516      888,   496,  1064,  1071,   781,   232,   175,  1061,  1055,   175,
21517      785,   175,  1056,     3,    47,    49,    50,    61,    62,   106,
21518      107,   126,   152,   175,   196,   197,   199,   240,   242,   254,
21519      299,   341,   347,   374,   375,   406,   703,   959,   961,   963,
21520      965,   967,   969,   970,   971,   973,   974,   975,   978,   979,
21521     1070,  1073,   381,   102,   365,   175,  1061,   175,  1067,  1068,
21522       77,   411,    66,   148,   175,   778,    52,   175,  1055,   175,
21523     1068,   175,  1055,   175,  1055,   175,  1055,   329,   785,   175,
21524     1055,   175,   703,   175,   228,  1068,   208,   175,   700,   701,
21525      453,   862,   541,   853,   405,   847,   854,   855,   856,  1071,
21526      848,  1065,   715,   716,    26,   716,  1065,   716,    26,   716,
21527     1065,   716,   716,   716,  1065,  1063,  1063,   887,   716,   292,
21528      453,   453,   560,   560,   560,   260,   376,   457,   560,   327,
21529      944,   945,   457,   813,  1064,   453,   859,    52,   411,   409,
21530      792,   793,  1053,  1055,  1069,    42,   436,   204,   455,   263,
21531      263,   260,   159,  1064,   376,   154,   710,   260,     4,     6,
21532        7,     8,    10,    34,    47,    49,    50,    57,    58,    61,
21533       62,    69,    71,    93,    94,    95,    96,    97,    98,    99,
21534      106,   107,   142,   146,   147,   152,   166,   168,   196,   197,
21535      199,   214,   222,   223,   240,   242,   246,   251,   252,   254,
21536      262,   272,   284,   299,   323,   338,   347,   361,   374,   375,
21537      380,   382,   383,   392,   398,   406,   426,   427,   428,   429,
21538      430,   431,   432,   433,   437,   444,   445,   446,   453,   891,
21539      962,   965,   968,   969,   970,   972,   973,   974,   978,   979,
21540      983,   985,   986,   987,   989,  1010,  1011,  1012,  1016,  1035,
21541     1040,  1050,  1051,  1061,  1062,  1063,  1064,  1069,  1049,  1050,
21542     1064,    26,   504,  1052,  1053,   337,   486,   109,   495,  1064,
21543      496,  1064,    42,    63,   486,   436,   348,   819,   263,   159,
21544      376,   442,    42,   436,   204,   820,   453,  1053,   446,   451,
21545      455,  1041,  1043,   945,     3,   158,   160,   409,   844,   845,
21546      847,   158,   850,   109,   983,  1046,  1047,   896,   457,   453,
21547      851,   454,   454,   462,  1053,    26,   122,   902,   902,    52,
21548      902,   149,   154,   218,   258,   909,   911,   912,   927,   929,
21549      930,   931,   905,   906,   159,   200,   944,   946,  1048,   453,
21550      761,  1043,   274,   309,   339,   455,   702,   274,   309,   339,
21551        3,    80,   131,   224,   274,   309,   339,   368,   370,   418,
21552      497,   500,   825,   826,   827,   828,   733,    22,   127,   274,
21553      309,   339,   402,   511,  1055,   339,    22,   127,   397,   479,
21554      422,   175,   944,    54,    87,   117,   145,   178,   213,   246,
21555      274,   275,   309,   317,   324,   331,   339,   351,   359,   413,
21556      497,   501,   764,   772,   453,   750,   309,   479,   181,   142,
21557       22,    28,    68,   117,   120,   127,   130,   155,   186,   244,
21558      246,   256,   264,   274,   309,   312,   313,   339,   402,   509,
21559      510,   618,     4,   444,   445,   590,  1065,    26,   175,  1053,
21560      701,   701,   453,   777,   455,   142,   260,   181,   471,   309,
21561      418,   439,   464,   471,   260,   274,   309,   142,    53,   101,
21562      183,   231,   234,   244,   273,   309,   314,   339,   353,   509,
21563      587,   588,   274,   309,   410,   618,   626,   499,   487,   489,
21564      181,   142,   309,   339,   509,   274,   309,   313,   339,    78,
21565      119,   276,   370,   260,    22,    28,   127,   274,   309,   339,
21566      521,   522,   471,   154,   309,   464,   471,   142,   309,   339,
21567      509,  1055,   216,   111,   261,   423,   457,   818,   399,   842,
21568      260,   232,  1061,   453,  1055,   959,   381,   102,   365,  1061,
21569      255,   411,    66,   148,   778,  1055,  1055,   329,   154,  1055,
21570      959,   208,   701,   454,   560,  1055,   453,   676,   761,    64,
21571      959,   159,   453,   672,  1055,   464,    35,   836,  1055,   246,
21572      464,   422,   175,  1053,   464,   701,   701,   672,   395,   541,
21573      260,   464,   246,    42,   483,   386,   625,   274,   601,    78,
21574      119,   276,   370,    24,    44,   195,   650,    35,   672,   154,
21575      464,   411,   175,  1053,   175,   578,  1053,  1053,   411,   701,
21576       77,   739,  1061,  1055,   154,   599,    48,   100,   193,   244,
21577      328,   142,   761,    55,   315,   512,   142,   453,   142,   408,
21578      976,   976,   976,   453,   964,   964,   286,   453,   966,   142,
21579       61,    62,   976,   964,   961,   420,   439,   453,   980,   453,
21580      980,   457,   512,    34,   960,    62,   453,   977,   104,   173,
21581      233,   236,   330,   434,   453,   981,   982,   702,   964,   422,
21582      142,   750,   142,   457,   175,   700,   175,   701,   175,   701,
21583      142,   777,  1068,   142,   260,   142,   142,   260,   142,   512,
21584      142,    78,   119,   276,   370,   154,   142,   260,   142,   512,
21585      142,   154,   175,   175,   496,   142,   457,   512,   983,  1019,
21586      365,   454,   457,   147,   260,   383,   493,   496,   590,   857,
21587      853,   716,   887,   716,   887,   716,   887,   716,   887,   716,
21588      887,   887,   887,   716,   887,   453,   561,   562,  1069,   561,
21589       26,   103,   125,   156,   161,   208,   209,   327,   333,   365,
21590      368,   386,   722,  1052,  1068,   721,  1055,   181,   457,   875,
21591     1064,   959,  1022,    35,  1068,   739,   454,   457,   216,  1069,
21592      154,   154,   722,  1068,   326,  1069,   496,   260,   453,  1044,
21593      451,   891,  1023,   983,  1039,   453,   453,   154,   453,   453,
21594      891,   453,   453,   453,   453,   453,   453,   983,   453,   453,
21595      453,   453,   453,   453,   453,   453,   891,   453,   453,   453,
21596      453,   453,   453,   453,   453,   983,   983,   983,   891,   983,
21597     1019,  1043,  1064,   453,  1064,     3,     8,    11,    15,    16,
21598       17,    32,    35,    40,    46,    70,   176,   181,   202,   203,
21599      217,   249,   262,   265,   344,   437,   440,   441,   442,   444,
21600      445,   446,   447,   448,   449,  1014,  1016,  1018,   419,   998,
21601      271,   983,   200,   457,   899,   453,  1064,  1043,   899,   112,
21602      177,   505,   457,    63,   109,   496,    35,     3,   109,   221,
21603      494,   590,   979,  1064,  1064,    83,   124,   995,    92,   109,
21604      490,   491,   493,   590,   109,   490,   216,  1053,   983,  1042,
21605        3,    26,    30,    31,    32,    33,    34,    35,    36,    39,
21606       51,    57,    58,    64,    70,    72,    81,    88,    93,    94,
21607       95,    97,    98,    99,   109,   111,   118,   122,   123,   129,
21608      133,   137,   147,   149,   154,   156,   159,   164,   167,   170,
21609      181,   188,   198,   200,   211,   212,   218,   222,   223,   246,
21610      251,   258,   260,   261,   265,   266,   281,   290,   304,   316,
21611      332,   338,   349,   362,   365,   373,   376,   377,   383,   391,
21612      392,   398,   399,   407,   414,   415,   417,   418,   446,  1058,
21613     1072,  1073,  1074,  1075,  1076,  1041,    84,   314,   705,   454,
21614      457,   848,   454,   457,   897,  1054,  1055,    35,   851,   893,
21615      893,   907,   908,   983,   893,   151,   243,   918,   206,   244,
21616      298,   342,   397,    26,   913,   983,   444,   445,   914,   915,
21617      983,   985,   927,   928,   912,   911,   909,   910,   154,   930,
21618      256,   932,   909,   927,   946,   865,  1053,    35,  1069,   339,
21619      181,   191,   266,   268,   341,   407,   446,   754,   755,   756,
21620      758,   760,   762,   959,  1070,   274,   309,   339,   376,   376,
21621      327,  1058,   455,   376,   376,   327,   218,   376,   376,   368,
21622      486,   274,   825,   827,   442,   829,   154,   164,   181,   318,
21623      734,   735,    64,    81,   138,   156,   290,   392,   557,   558,
21624       81,   109,   246,   376,    81,   376,   109,   246,   327,    81,
21625      120,   130,   274,   309,   668,   327,   607,    20,    25,    58,
21626       71,    85,   125,   136,   156,   161,   230,   262,   327,   333,
21627      336,   365,   372,   379,   386,   411,   599,  1055,   142,   309,
21628      339,   509,   260,   590,   260,   331,   213,   376,  1069,   376,
21629      251,   590,   113,   201,   327,   337,   378,   488,   315,   339,
21630      764,   773,   454,   751,   754,   376,   398,   368,  1053,    72,
21631      138,   175,   548,   557,  1069,    72,    81,   796,   260,   260,
21632      323,   325,   381,    81,   796,    29,   312,   323,   325,   381,
21633      323,  1053,   155,   186,   256,   701,   453,   376,   376,   174,
21634      453,   516,   227,   368,   395,   418,   420,   516,    81,   457,
21635        4,     4,   274,   181,   142,   117,   309,   339,   509,   399,
21636      399,   245,   959,   274,   339,   778,  1055,  1053,   103,   339,
21637      500,   376,   466,   500,  1053,   376,   376,  1053,   590,    52,
21638      589,   590,   590,   101,   231,   234,    52,   376,   464,   327,
21639      464,   244,   588,   376,   376,   251,  1064,   618,   368,   944,
21640       81,   376,   796,   327,   376,   376,   516,   516,   701,   701,
21641      701,   701,  1053,    41,   404,    41,    41,   376,    41,   376,
21642      327,   457,   500,   398,   636,  1067,   376,   466,   500,  1053,
21643      376,   327,   274,   309,   298,   310,   335,   492,   818,  1059,
21644     1069,  1053,   761,   959,   260,   202,   422,   750,   590,   701,
21645      701,   777,   260,   202,   260,    78,   119,   276,   370,   959,
21646      260,   202,   701,   202,   376,   418,   532,   386,     3,   677,
21647      678,   672,   453,    35,   701,   673,   674,  1072,    24,   825,
21648      959,   260,   142,   604,  1055,   246,   453,   465,   686,   399,
21649      302,   411,  1053,   465,   142,  1067,    88,   164,   484,   540,
21650      584,   649,   717,   737,   821,  1064,   626,   627,  1067,   224,
21651      701,   701,   701,   701,   256,   114,   194,   384,   397,   651,
21652      652,   134,   297,   453,   636,   465,  1053,   246,   586,   587,
21653      246,    35,   256,   453,   560,   560,   175,   581,  1053,   154,
21654      175,   740,  1059,   453,   752,    35,   959,   208,   418,   420,
21655      889,   328,  1061,   512,   959,  1056,   453,  1019,  1063,   703,
21656      976,   976,    34,   960,   374,   374,  1063,  1063,   959,   451,
21657      451,   339,  1063,   376,   376,   376,   453,   376,  1063,   964,
21658      175,  1055,  1061,   512,  1068,  1067,   142,   512,   142,   399,
21659      142,   399,   778,   512,   512,  1055,   701,  1068,  1055,   701,
21660     1055,  1055,   959,  1055,   701,   703,  1068,   636,   142,   142,
21661      512,   700,   701,   454,   457,   175,  1053,   853,   855,   887,
21662      887,   887,   887,   887,   887,   561,   454,   457,   454,   162,
21663      334,   366,  1054,   700,   102,   336,   726,   727,  1054,   255,
21664     1054,  1052,  1052,  1054,   700,   376,   418,   730,   137,   218,
21665      633,   634,    20,   140,   323,   342,   876,   944,   250,   877,
21666      454,   457,   860,   376,  1053,   790,   791,   793,   720,   719,
21667      720,   159,   165,   731,  1069,    25,    72,   103,   125,   136,
21668      156,   161,   209,   230,   320,   327,   333,   365,   368,   386,
21669      411,   599,   711,  1019,  1041,   452,  1019,  1023,  1024,   414,
21670     1036,  1037,   983,  1019,   453,  1063,  1063,     3,   104,   173,
21671      233,   236,   330,   434,  1025,  1026,  1064,  1019,  1019,  1019,
21672     1063,  1063,   983,   778,   983,  1027,   323,   444,   445,   453,
21673      984,   985,  1016,  1029,   454,  1019,   983,  1019,  1030,   983,
21674       51,   159,   212,   377,   983,  1019,  1033,  1019,   238,   985,
21675      983,   993,   994,   995,   238,   983,   995,   454,   457,  1063,
21676      981,   959,   983,   983,   983,   983,  1072,   374,    39,   362,
21677     1045,   701,   983,   453,   891,  1034,   122,   124,   147,   246,
21678      251,   256,   383,   393,   983,   453,   983,   376,    46,   176,
21679      181,   217,   344,   983,   983,   983,   983,   983,   983,   983,
21680      983,   983,   983,    26,    33,   349,  1013,   167,   150,   999,
21681      323,   453,  1010,   163,   221,   365,   369,   371,   395,   900,
21682     1053,  1051,   159,   934,    26,   122,   407,   446,   454,   756,
21683      983,  1020,  1021,  1070,   934,  1053,   378,   453,  1064,   457,
21684      454,   452,   458,   174,   174,   512,  1053,   845,   846,  1053,
21685     1046,   454,   457,   453,   457,    36,   118,   399,   746,   323,
21686      324,   444,   445,   915,   917,   985,   342,   206,   261,   457,
21687        4,   916,  1063,   916,   323,   324,   917,  1052,   250,   346,
21688      878,   928,   910,   399,   873,   109,   453,   866,   890,    35,
21689     1069,   453,   880,   881,   882,   883,   884,  1069,   268,    52,
21690     1070,   454,   756,   758,   755,   758,  1070,   266,   454,   457,
21691      702,   376,   376,   327,  1067,  1055,  1055,  1058,  1067,  1055,
21692     1055,  1067,  1056,  1055,   109,   493,  1065,   320,   398,   719,
21693      327,   164,   719,   453,  1055,   399,   741,   206,   206,   399,
21694      453,   576,   175,  1055,   251,  1067,  1055,  1055,   983,   251,
21695     1055,  1055,    29,   312,   376,   376,  1055,   376,   608,   232,
21696     1061,   453,   701,   701,   959,   381,   102,   365,   727,   411,
21697       66,   148,   778,  1055,   701,  1055,   701,   329,   154,   959,
21698      701,   208,   169,   244,   274,   309,   403,   611,   612,   613,
21699      944,   376,   796,   327,   251,   144,   113,   201,  1067,  1055,
21700      260,  1055,   454,   457,  1066,  1068,  1055,   309,   509,   175,
21701      548,   246,   959,  1055,  1069,  1055,   144,   216,  1055,    26,
21702      398,  1055,   175,  1055,   175,  1069,   325,   381,   325,   381,
21703      216,  1055,    26,   398,  1055,   216,   323,  1053,    22,   127,
21704      339,   619,   620,   621,   622,  1072,  1067,  1055,   109,   160,
21705      247,   399,   515,   518,   519,  1072,  1055,   259,    68,   259,
21706     1055,   510,   376,   368,  1053,   260,   376,   796,   327,  1057,
21707     1069,  1057,   457,   454,   457,   376,   327,   453,   260,   309,
21708      376,   645,  1056,  1066,     3,    80,   132,   186,   280,   390,
21709      398,   401,   467,   309,  1067,  1055,   309,   339,   509,   587,
21710      590,   701,  1055,   590,  1055,   590,  1067,  1055,  1055,   309,
21711      339,   509,  1055,  1055,  1055,  1055,  1067,  1055,    22,    28,
21712      127,   274,   309,   339,   274,   309,   339,   672,   309,   339,
21713      309,   339,   117,   309,   958,  1069,   175,   682,  1069,   175,
21714     1069,  1067,  1055,  1055,  1055,    22,   522,   336,  1066,   309,
21715      339,   509,  1055,  1055,   376,   376,    76,   389,   298,   202,
21716       35,   125,   701,   251,   708,  1064,   202,   202,   399,   399,
21717      202,   701,   708,   701,   208,   701,   708,   202,   708,   295,
21718      526,   259,   159,   376,   525,   184,   442,   454,   457,   983,
21719      959,   454,   457,   442,   651,   550,  1072,  1055,    55,   159,
21720      327,   410,   605,   612,   613,   142,   217,   542,   544,   546,
21721      548,   554,   557,    23,   181,   320,   363,   467,   468,   154,
21722     1057,   411,  1053,   154,   646,   482,  1069,   483,   265,   541,
21723      156,  1064,   672,   672,   672,   672,   256,   260,   265,   453,
21724      672,   956,   957,   958,   336,   453,   142,   142,   141,   890,
21725      701,   542,  1069,   418,   420,   572,   418,   517,   246,    35,
21726      560,  1064,   246,   260,   454,   753,   754,   759,    35,   208,
21727      317,   379,   417,   763,   764,   765,   260,   208,   496,   172,
21728      172,   154,   761,    35,  1019,   454,   454,   512,   451,   436,
21729      436,   454,   454,  1063,   452,  1063,  1069,   454,   173,   233,
21730      982,   233,   982,   982,  1063,   236,   454,   142,   512,   750,
21731      700,   701,  1057,   701,  1057,   777,   260,   512,   260,   512,
21732      512,   208,   260,   512,   512,   336,   154,   496,   512,   983,
21733      246,   454,   562,   181,   181,   181,   422,  1054,   457,   590,
21734      591,   167,   723,   724,  1067,    23,   731,   376,   453,   159,
21735      140,   342,   140,   342,   323,   397,   235,   959,  1067,   418,
21736      579,  1053,  1055,   159,   260,   723,    52,   512,  1061,   959,
21737      381,   365,  1061,   255,   411,   959,   208,   701,   454,   452,
21738      452,   457,   983,   129,  1037,  1038,    35,   454,   983,   454,
21739      454,   454,   159,   454,   454,   454,   454,   454,   457,   454,
21740      281,  1028,   454,   453,   984,   984,  1019,    11,    15,    16,
21741       17,   181,   202,   262,   440,   441,   442,   444,   445,   446,
21742      447,   448,   449,  1016,   984,   454,   454,   154,   159,  1031,
21743     1032,   454,    35,  1033,  1019,  1033,  1033,   159,   454,   454,
21744     1072,   279,   997,    35,   454,   457,   983,  1072,   457,   983,
21745     1044,   983,   454,   436,   984,   984,   135,  1019,   159,   122,
21746      124,   147,   251,   256,   383,   393,   453,   135,   778,   983,
21747      362,  1045,   983,  1034,   983,   376,   453,   891,   453,   453,
21748      270,  1003,   453,  1019,   369,   371,   369,   371,  1053,   901,
21749      901,   901,   211,   324,   453,   891,   935,   936,   937,   944,
21750      949,   986,   988,   989,  1061,  1069,   415,   954,  1020,  1020,
21751     1021,   454,    13,    14,   457,   905,   906,   954,   819,  1063,
21752      981,   491,   983,  1042,   851,  1055,   860,   908,   262,  1014,
21753     1017,   438,   747,     4,  1063,   917,   261,   397,   914,   226,
21754      935,   415,   955,   405,   867,   868,  1069,   260,   869,  1069,
21755      884,   885,   457,   934,   442,  1044,   762,   702,   758,   758,
21756       52,   760,   448,  1067,  1055,  1055,  1068,  1068,   260,  1054,
21757      263,   260,   983,   558,  1057,   453,   453,   453,   576,   184,
21758      561,   660,   142,   512,   376,  1067,  1055,   496,  1055,   761,
21759      959,  1055,   422,   701,   701,   701,   701,   777,    78,   119,
21760      276,   370,   959,  1055,   594,  1055,   169,   403,   376,   376,
21761      594,   611,   618,   309,   339,   509,  1055,  1055,  1055,   192,
21762     1055,   251,   754,   273,   339,   376,   246,   142,   264,   616,
21763      660,   127,   313,   339,   511,   618,   797,  1055,   331,   142,
21764      512,   142,   512,  1055,  1055,  1055,  1055,   331,   331,   216,
21765      621,   622,   621,   454,   457,   623,  1064,   184,   454,   457,
21766      442,   455,  1067,  1055,   309,   339,   509,   144,  1055,  1055,
21767     1055,   274,   309,   339,    22,   127,   274,   309,   339,   959,
21768      245,   959,  1067,  1055,   801,   802,  1072,  1053,   376,  1068,
21769      399,   642,   218,   280,   251,  1064,   280,  1068,   396,   376,
21770      376,   327,   273,   339,    81,   376,   796,   327,   376,   376,
21771      228,   228,   228,   376,   376,   327,   376,   376,   327,   376,
21772      327,   376,   327,   260,   376,   512,   959,   246,  1064,   339,
21773      797,   142,   512,   376,  1055,   376,   327,  1067,  1055,   708,
21774      959,   701,   202,   708,   708,  1057,  1057,   708,   202,   202,
21775     1055,   202,   708,   356,   357,   527,  1064,   526,   169,   262,
21776      444,   445,   590,   675,   758,  1017,  1064,  1076,     3,   678,
21777      454,   454,   674,   675,   260,    64,    70,    81,   109,   111,
21778      188,   246,   251,   290,   304,   392,   551,   552,   553,   141,
21779      414,   464,   496,  1055,   496,   616,  1053,  1053,   454,   457,
21780     1068,   167,   320,  1068,  1063,   386,  1053,   560,    26,   114,
21781      194,   332,   397,   647,   376,   644,    42,   483,   311,   365,
21782      102,   517,   561,  1053,   652,   679,   680,  1064,   454,   457,
21783     1055,   561,  1053,   578,  1053,  1055,   579,   453,   543,   454,
21784      259,   516,   259,   260,   573,   516,    35,   142,   890,   517,
21785      376,   142,  1053,   454,   457,   109,   442,   766,  1064,   496,
21786      365,   757,   758,   154,   767,   418,   765,   768,   114,   194,
21787      332,   397,   809,  1055,   169,   890,   512,   959,   454,  1063,
21788      980,   980,   452,   452,   977,   454,  1055,   512,   512,   399,
21789      512,   399,   512,   512,   701,   701,  1055,   701,  1055,   636,
21790      512,   142,   327,   327,   327,  1054,   727,   457,  1067,   418,
21791      457,   725,   263,   945,   336,   140,   140,   102,   244,  1068,
21792      722,   512,  1067,   761,   202,   750,   590,   202,   701,   202,
21793     1023,   373,   983,   133,   959,   454,   983,   983,   983,  1031,
21794      454,  1019,   457,   959,   984,   984,   984,   984,   122,   124,
21795      246,   256,   984,   984,   984,   984,   984,   984,   984,   984,
21796      984,   984,   983,   983,  1032,  1031,   959,   454,   454,   454,
21797     1019,   454,   457,    52,   985,   454,  1072,   994,   287,   360,
21798      996,   454,   457,   410,   990,    35,   454,  1064,   983,    32,
21799       32,   983,   454,   983,   159,   453,  1022,   983,   454,   135,
21800      984,   984,   135,   135,   983,   983,   906,   415,   453,  1004,
21801     1069,   454,  1019,   457,   901,   901,   901,   901,  1053,  1053,
21802     1053,   891,   949,   159,   891,   936,   937,    35,   938,   939,
21803     1069,   457,    89,   160,   190,   205,   215,   241,   319,   941,
21804      939,    35,   938,   940,  1069,   439,   953,   453,  1043,   983,
21805      167,   919,   457,   905,   905,   905,   983,   983,   407,  1021,
21806      454,   919,   454,   452,   454,   453,   747,   151,   210,   261,
21807       92,   983,   316,   871,   454,   457,  1044,    79,   871,   454,
21808      457,   881,   955,  1046,   454,   448,   762,   386,   162,   334,
21809      366,   387,   736,   154,   736,   454,   453,   564,   565,   743,
21810      988,  1069,   561,   561,   660,  1059,   454,   111,   188,   244,
21811      246,   661,  1055,  1055,    35,  1055,   399,   399,   701,   701,
21812      701,   701,   208,   702,  1067,  1055,   376,   796,   327,   376,
21813      192,    52,   368,  1055,   142,   548,   453,   550,   246,   516,
21814      102,   246,   355,   358,   516,   386,  1055,  1069,   331,   620,
21815     1055,   519,   675,  1072,   273,   339,   376,   796,   327,  1055,
21816      376,   376,   376,   327,   161,   262,   358,   684,   685,   161,
21817      262,   692,   693,   376,   376,   327,   454,   454,   454,   454,
21818      457,   442,   309,  1055,   453,   418,   643,  1065,  1064,  1064,
21819     1064,  1055,  1055,  1055,    52,   368,  1055,  1055,  1055,  1055,
21820     1055,  1055,   154,   154,   311,   154,   175,  1067,  1055,  1055,
21821     1067,  1055,  1055,  1055,  1055,  1055,  1055,   144,  1055,    70,
21822      513,   142,    24,    44,   386,  1069,  1055,   618,  1055,  1055,
21823      454,   202,   708,   202,   202,   708,   708,   202,   708,   464,
21824      527,   594,   660,   418,   420,  1053,   453,   701,  1055,   984,
21825      112,   177,   111,   251,   206,  1053,   768,   294,   664,   665,
21826     1069,   604,   453,   555,   187,   571,   546,  1068,  1068,   959,
21827      453,   517,  1068,   642,  1067,   175,  1053,   422,   154,   653,
21828      454,   457,   958,   616,   454,   586,    35,   256,   453,   862,
21829      545,   547,   549,   557,  1069,   572,   571,    75,   368,   574,
21830      890,   581,   579,   574,  1064,  1059,   741,   759,   983,   983,
21831      457,   453,   763,   386,   457,   672,   376,   453,   594,   454,
21832      452,   512,  1057,  1057,   512,   512,   512,   512,   336,  1054,
21833     1054,  1054,   590,   164,   724,   454,  1055,   102,   731,   159,
21834      202,   251,   712,  1064,   202,   202,   712,   202,   712,   983,
21835      454,   454,  1032,   454,   983,   159,   122,   124,   256,   453,
21836      454,   425,   992,  1019,   303,    52,   416,   416,   454,   983,
21837      244,   983,   457,   991,   961,   983,   983,   983,  1022,   454,
21838      983,    32,    32,   983,   983,   135,   454,   454,   983,  1005,
21839     1069,   454,   983,  1053,  1053,  1053,  1053,   939,   940,   453,
21840      454,  1069,   453,   936,   205,   269,   942,   936,   942,   205,
21841      941,   942,   205,   367,   947,   453,  1069,   453,   267,  1020,
21842       52,   170,   926,   454,   454,   454,  1021,  1064,   926,  1064,
21843      778,   256,  1050,   890,   868,   260,   453,   870,   442,   884,
21844      871,   386,   454,   376,   719,   159,   660,   983,   454,   457,
21845      418,    70,   744,   744,   454,   454,   768,   112,   177,   186,
21846      111,   401,   512,   959,  1057,  1057,  1055,  1055,  1055,  1055,
21847     1055,  1068,  1055,   548,   617,   621,   251,   251,  1065,  1069,
21848      959,   512,   512,   442,    52,   368,  1055,  1055,  1055,  1055,
21849     1067,  1055,  1055,  1063,  1063,   959,   457,  1063,  1063,   457,
21850     1067,  1055,  1055,   802,   245,   675,   376,   983,    64,  1068,
21851     1055,   376,   376,  1054,  1054,   701,  1054,   142,  1055,   701,
21852     1064,  1064,   959,   512,   512,   202,   708,   708,   708,   708,
21853      453,   528,   529,   399,   533,   534,   161,   191,   161,   159,
21854      659,   983,   246,   552,   768,   560,   399,   575,  1061,    32,
21855      141,   181,   542,   139,   182,   453,   336,   399,   561,    35,
21856      643,   483,   246,   453,  1055,   128,   654,   414,   656,  1064,
21857      517,   141,   890,   701,   542,   579,   454,   457,   418,   573,
21858      572,   114,   127,   287,  1055,   418,   822,    35,   159,   260,
21859      453,  1064,   756,   769,   770,  1070,   768,   959,   154,  1053,
21860      159,   376,   787,   189,   595,   512,   512,   512,  1055,   263,
21861      200,   512,   723,   712,   712,   712,   712,   454,   984,   159,
21862      453,  1022,   453,   454,   457,   454,   985,   303,   454,   404,
21863      352,   454,   454,   454,   983,   983,   983,   454,   278,  1006,
21864      454,   950,   951,   988,   938,   453,  1054,   936,   260,   399,
21865      943,   936,   205,   936,  1061,   957,   453,   957,  1069,   905,
21866       91,   168,   322,   453,   920,   921,   922,   923,   924,   925,
21867      983,   983,   417,  1000,   905,  1000,   454,   887,    81,   742,
21868      743,   123,   453,   891,  1048,   723,   260,   723,   454,   768,
21869      565,   262,   778,   701,   701,   745,   745,   304,   768,   575,
21870      454,   376,   339,   877,   454,   457,   513,   675,  1068,  1055,
21871      376,   453,  1061,   778,   685,   453,   453,   693,  1055,   454,
21872      453,   339,   877,  1055,  1055,   418,   439,   839,   311,   839,
21873      839,   154,   513,   708,   535,   536,  1072,    48,    90,   115,
21874      131,   135,   155,   158,   171,   251,   259,   296,   530,   464,
21875      116,   727,    35,   783,   783,  1053,   660,   454,   575,   229,
21876      563,   184,   453,   665,   294,   453,   454,    26,    74,    82,
21877      110,   185,   358,   556,   556,  1052,  1055,  1057,   454,   890,
21878      142,   616,   323,   354,   655,   453,   141,    35,  1055,   579,
21879      543,   454,   547,   264,   574,   573,   324,   324,    56,    64,
21880      221,   890,   701,  1053,   742,   758,   454,   457,   386,   954,
21881      350,   350,   454,   594,   244,   403,   596,   597,  1055,   512,
21882      984,  1022,   454,   993,  1019,    52,   244,   435,    52,   905,
21883      454,   457,    35,   952,  1054,   454,   983,   453,   936,   943,
21884      453,   454,   957,   454,   454,   453,   340,   453,   454,   457,
21885     1001,  1002,  1069,   454,  1055,   454,   457,   247,   397,   725,
21886      736,   512,   744,   575,   453,   746,   746,  1053,   575,   660,
21887     1055,   368,   621,   399,   514,   339,   877,  1055,  1022,   750,
21888      154,   688,   777,  1022,  1022,   983,   368,   700,   701,   700,
21889      701,  1054,   512,   454,   457,   446,   453,   493,   537,   590,
21890      836,  1064,   836,   246,   251,   296,   836,   836,   528,  1064,
21891      783,    38,   179,   154,   244,   559,   160,   277,   345,   260,
21892      567,   568,   569,   368,   454,  1061,     5,   666,   571,   454,
21893      616,   148,   687,   517,   822,  1053,   983,   294,   890,   862,
21894      572,   571,   550,   574,    64,   263,    64,   579,   741,   454,
21895      763,   769,   959,   123,   418,   418,   403,   594,   616,   454,
21896      454,   454,   303,   404,  1019,   297,   324,  1007,   953,   950,
21897      453,   454,  1054,  1019,   454,  1019,   453,  1019,   921,   457,
21898       35,   954,   743,   339,   159,   745,   415,   566,   778,   747,
21899      747,   560,   660,  1055,   983,   368,   454,   266,   329,   301,
21900      689,   688,   454,   454,   454,  1055,   839,   536,   493,   538,
21901      539,  1064,  1064,   251,   561,   446,   561,  1064,  1064,   128,
21902      186,   114,   397,   260,   569,   260,   568,  1055,   453,   454,
21903      457,   336,   701,    35,    35,   453,   454,  1061,   822,   579,
21904      573,   572,   263,   263,   453,   517,   768,    27,   195,   810,
21905      161,   161,    46,    92,   388,   983,  1008,  1009,  1008,   454,
21906      957,   454,   454,   454,   920,   454,  1002,  1004,   880,   723,
21907      746,   453,   660,   454,   563,   877,  1055,  1061,    52,   689,
21908      877,   701,   454,   457,   561,   323,    55,   244,   315,   339,
21909      570,   570,   454,     5,  1055,   684,   890,   453,   574,   573,
21910      742,   574,   247,   453,   805,   807,   812,   864,   872,   879,
21911      890,   727,   727,  1009,   323,   153,   285,   153,   285,   454,
21912      310,   948,   454,   954,   512,   747,   983,   567,   877,   750,
21913      701,   539,   656,    21,   109,   251,   616,   822,     4,   657,
21914      658,  1063,  1064,  1072,   574,   454,   954,   806,   807,   808,
21915      891,   892,   457,   457,    32,   453,   454,   660,   141,   454,
21916      457,   517,   454,   456,   376,   159,  1009,   983,   294,   658,
21917      574,   808,   350,   350,   454,  1061,   954,   418,   418,   453,
21918      161,   161,   657,   727,   727,   454
21919 };
21920 
21921   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
21922 static const yytype_uint16 yyr1[] =
21923 {
21924        0,   459,   460,   461,   461,   462,   462,   462,   462,   462,
21925      462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
21926      462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
21927      462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
21928      462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
21929      462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
21930      462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
21931      462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
21932      462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
21933      462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
21934      462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
21935      462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
21936      462,   462,   462,   462,   462,   462,   462,   462,   462,   462,
21937      462,   463,   464,   464,   464,   465,   465,   466,   466,   467,
21938      467,   467,   467,   467,   467,   467,   467,   467,   468,   468,
21939      468,   468,   468,   468,   469,   470,   471,   471,   472,   472,
21940      473,   474,   474,   475,   475,   476,   476,   477,   478,   479,
21941      479,   480,   480,   481,   481,   481,   481,   482,   482,   483,
21942      483,   484,   484,   484,   484,   484,   484,   485,   485,   485,
21943      486,   486,   486,   487,   487,   487,   487,   488,   488,   488,
21944      488,   488,   488,   488,   488,   488,   488,   488,   489,   489,
21945      490,   490,   491,   491,   492,   492,   492,   492,   493,   493,
21946      493,   493,   494,   494,   494,   494,   494,   494,   494,   495,
21947      495,   495,   496,   496,   497,   498,   498,   498,   498,   499,
21948      499,   500,   500,   501,   501,   502,   502,   502,   502,   502,
21949      503,   504,   504,   505,   505,   506,   507,   507,   507,   507,
21950      507,   508,   508,   508,   508,   508,   508,   508,   508,   508,
21951      508,   508,   508,   508,   508,   508,   508,   509,   509,   510,
21952      510,   510,   510,   510,   510,   510,   510,   510,   510,   510,
21953      510,   510,   510,   510,   510,   510,   510,   510,   510,   510,
21954      510,   510,   510,   510,   510,   510,   510,   510,   510,   510,
21955      510,   510,   510,   510,   510,   510,   510,   510,   510,   510,
21956      510,   510,   510,   510,   510,   510,   510,   510,   510,   510,
21957      510,   511,   511,   512,   512,   512,   513,   513,   514,   514,
21958      515,   515,   515,   515,   516,   517,   517,   518,   518,   519,
21959      519,   519,   519,   520,   521,   521,   522,   522,   522,   522,
21960      523,   523,   524,   524,   525,   525,   526,   526,   527,   527,
21961      527,   528,   528,   529,   529,   530,   530,   530,   530,   530,
21962      530,   530,   530,   530,   530,   530,   530,   530,   530,   531,
21963      531,   532,   532,   533,   533,   534,   534,   535,   535,   536,
21964      537,   537,   537,   537,   537,   538,   538,   539,   540,   540,
21965      540,   540,   541,   541,   541,   541,   541,   541,   541,   541,
21966      542,   542,   543,   543,   544,   544,   545,   545,   546,   546,
21967      546,   547,   547,   548,   549,   550,   550,   551,   551,   551,
21968      551,   552,   552,   552,   552,   552,   552,   552,   553,   553,
21969      553,   553,   554,   555,   555,   555,   556,   556,   556,   556,
21970      556,   556,   557,   557,   558,   558,   558,   558,   558,   558,
21971      558,   559,   559,   560,   560,   561,   561,   562,   563,   563,
21972      563,   563,   564,   564,   565,   565,   566,   566,   567,   567,
21973      567,   567,   567,   568,   569,   570,   570,   570,   570,   570,
21974      571,   571,   572,   572,   572,   572,   573,   573,   573,   573,
21975      574,   574,   575,   575,   576,   577,   577,   578,   579,   579,
21976      579,   580,   580,   581,   582,   582,   583,   584,   584,   585,
21977      585,   586,   586,   587,   587,   588,   588,   588,   588,   588,
21978      588,   588,   588,   588,   588,   588,   588,   589,   589,   590,
21979      590,   590,   590,   591,   591,   592,   592,   593,   593,   594,
21980      594,   595,   595,   596,   596,   597,   597,   598,   598,   599,
21981      599,   600,   601,   601,   602,   602,   603,   603,   604,   604,
21982      605,   605,   605,   605,   606,   607,   607,   608,   609,   609,
21983      609,   609,   609,   609,   609,   609,   609,   609,   609,   609,
21984      609,   609,   609,   609,   609,   609,   609,   609,   609,   609,
21985      609,   609,   609,   609,   610,   611,   611,   611,   611,   612,
21986      612,   613,   613,   614,   614,   615,   615,   616,   616,   617,
21987      617,   618,   619,   619,   620,   620,   620,   620,   621,   622,
21988      623,   624,   625,   625,   626,   626,   627,   627,   628,   628,
21989      629,   629,   629,   630,   630,   631,   631,   632,   633,   633,
21990      634,   634,   635,   636,   636,   637,   637,   638,   639,   640,
21991      641,   641,   642,   642,   643,   643,   644,   644,   645,   645,
21992      646,   646,   647,   647,   647,   647,   647,   648,   649,   649,
21993      650,   650,   650,   651,   651,   652,   652,   652,   652,   652,
21994      653,   653,   654,   654,   655,   655,   656,   656,   657,   657,
21995      657,   658,   658,   658,   658,   659,   659,   660,   660,   661,
21996      661,   661,   661,   661,   661,   662,   662,   663,   663,   664,
21997      664,   665,   666,   666,   667,   668,   668,   668,   668,   669,
21998      670,   671,   671,   671,   671,   671,   671,   671,   671,   671,
21999      671,   671,   671,   671,   671,   672,   673,   673,   674,   674,
22000      675,   675,   675,   675,   675,   676,   677,   677,   678,   679,
22001      679,   680,   680,   681,   681,   681,   682,   682,   683,   684,
22002      684,   685,   685,   685,   685,   685,   686,   686,   687,   687,
22003      688,   688,   688,   689,   689,   690,   691,   691,   692,   692,
22004      693,   693,   694,   694,   695,   695,   696,   697,   698,   698,
22005      698,   698,   698,   698,   698,   698,   699,   699,   699,   699,
22006      699,   699,   699,   699,   699,   699,   699,   699,   699,   699,
22007      699,   699,   700,   700,   701,   701,   702,   702,   703,   703,
22008      704,   705,   705,   705,   706,   706,   706,   706,   706,   706,
22009      706,   706,   706,   706,   706,   706,   706,   706,   706,   706,
22010      706,   706,   707,   707,   707,   707,   707,   707,   707,   707,
22011      707,   707,   707,   707,   707,   707,   707,   707,   707,   707,
22012      707,   707,   707,   707,   708,   708,   709,   709,   709,   709,
22013      709,   709,   709,   710,   710,   711,   711,   711,   711,   711,
22014      711,   711,   711,   711,   711,   711,   712,   712,   713,   713,
22015      714,   714,   714,   714,   714,   714,   714,   714,   714,   714,
22016      714,   714,   714,   714,   714,   714,   715,   715,   716,   716,
22017      717,   718,   718,   719,   719,   719,   719,   719,   720,   720,
22018      721,   721,   721,   721,   722,   722,   722,   722,   722,   722,
22019      722,   722,   722,   722,   722,   722,   722,   722,   722,   722,
22020      723,   723,   724,   724,   725,   725,   726,   726,   727,   728,
22021      729,   729,   730,   730,   731,   731,   732,   733,   733,   734,
22022      734,   734,   735,   735,   735,   736,   736,   736,   736,   737,
22023      737,   738,   738,   739,   739,   740,   740,   741,   741,   742,
22024      742,   743,   743,   743,   744,   744,   745,   745,   746,   746,
22025      746,   747,   747,   747,   748,   748,   748,   749,   749,   750,
22026      750,   751,   751,   752,   752,   753,   753,   754,   754,   754,
22027      754,   754,   755,   755,   755,   755,   755,   756,   757,   758,
22028      758,   758,   759,   759,   759,   760,   761,   761,   761,   761,
22029      762,   762,   763,   763,   764,   764,   764,   764,   764,   764,
22030      764,   764,   764,   764,   764,   764,   764,   764,   764,   764,
22031      765,   765,   765,   765,   765,   766,   766,   767,   767,   768,
22032      768,   769,   770,   770,   771,   772,   772,   773,   773,   774,
22033      774,   775,   775,   776,   776,   777,   777,   777,   777,   778,
22034      778,   779,   780,   780,   781,   781,   782,   782,   782,   783,
22035      783,   783,   784,   785,   785,   786,   787,   787,   787,   787,
22036      788,   789,   789,   789,   789,   790,   790,   791,   791,   791,
22037      792,   792,   793,   794,   794,   795,   795,   795,   795,   795,
22038      795,   795,   795,   795,   795,   795,   795,   795,   795,   795,
22039      795,   795,   795,   795,   795,   795,   795,   795,   795,   795,
22040      795,   795,   795,   795,   795,   795,   795,   795,   795,   795,
22041      795,   795,   795,   795,   795,   795,   795,   795,   795,   795,
22042      795,   795,   795,   796,   796,   797,   797,   798,   798,   798,
22043      798,   799,   799,   799,   799,   799,   799,   799,   799,   799,
22044      799,   799,   799,   799,   799,   799,   799,   799,   799,   799,
22045      799,   799,   799,   799,   799,   800,   801,   801,   802,   802,
22046      803,   803,   803,   803,   803,   803,   803,   803,   803,   803,
22047      803,   803,   803,   803,   803,   803,   803,   803,   803,   804,
22048      805,   805,   805,   806,   806,   807,   807,   807,   807,   807,
22049      808,   808,   809,   809,   809,   809,   810,   810,   810,   811,
22050      811,   812,   813,   813,   814,   815,   815,   816,   816,   816,
22051      816,   816,   816,   816,   816,   816,   816,   816,   816,   816,
22052      816,   817,   817,   817,   818,   818,   818,   818,   818,   819,
22053      819,   819,   820,   820,   821,   821,   821,   821,   822,   822,
22054      822,   822,   823,   824,   825,   825,   826,   826,   827,   827,
22055      827,   828,   828,   828,   828,   828,   828,   828,   829,   829,
22056      830,   830,   830,   831,   832,   832,   833,   833,   834,   835,
22057      835,   835,   835,   835,   835,   835,   836,   836,   837,   838,
22058      838,   838,   838,   838,   838,   839,   839,   840,   841,   841,
22059      841,   842,   842,   843,   843,   843,   843,   843,   844,   844,
22060      845,   845,   845,   845,   845,   846,   846,   847,   847,   848,
22061      848,   849,   849,   850,   850,   851,   851,   852,   852,   852,
22062      852,   853,   853,   853,   853,   853,   853,   853,   853,   853,
22063      854,   854,   855,   856,   856,   857,   857,   857,   858,   859,
22064      859,   860,   860,   860,   860,   861,   861,   861,   862,   862,
22065      863,   863,   863,   863,   864,   865,   865,   866,   866,   866,
22066      867,   867,   868,   869,   869,   869,   870,   870,   870,   871,
22067      871,   872,   873,   873,   874,   875,   875,   876,   876,   876,
22068      876,   876,   876,   876,   876,   877,   877,   878,   878,   878,
22069      879,   880,   880,   881,   881,   882,   883,   883,   884,   885,
22070      885,   886,   887,   888,   888,   888,   888,   888,   889,   889,
22071      889,   890,   890,   891,   891,   892,   892,   892,   892,   892,
22072      892,   892,   892,   893,   893,   894,   894,   894,   894,   894,
22073      894,   894,   895,   895,   895,   896,   896,   897,   898,   898,
22074      899,   899,   900,   900,   900,   900,   900,   900,   900,   900,
22075      900,   901,   901,   902,   902,   902,   903,   903,   904,   904,
22076      905,   905,   906,   907,   907,   908,   908,   909,   909,   909,
22077      909,   910,   910,   911,   911,   911,   911,   912,   912,   913,
22078      913,   914,   915,   915,   915,   916,   916,   917,   917,   918,
22079      918,   919,   919,   920,   920,   921,   921,   921,   921,   921,
22080      922,   923,   924,   925,   926,   926,   927,   927,   928,   928,
22081      929,   929,   930,   931,   931,   931,   931,   932,   932,   933,
22082      933,   934,   934,   935,   935,   936,   936,   936,   936,   936,
22083      936,   936,   936,   937,   937,   937,   937,   937,   937,   938,
22084      938,   938,   938,   939,   939,   940,   940,   940,   940,   940,
22085      941,   941,   941,   941,   942,   942,   943,   943,   944,   944,
22086      944,   944,   945,   945,   946,   946,   946,   947,   948,   948,
22087      949,   949,   950,   951,   951,   952,   952,   953,   953,   954,
22088      954,   955,   955,   955,   956,   956,   957,   957,   958,   959,
22089      959,   959,   959,   959,   959,   960,   960,   960,   961,   961,
22090      961,   961,   961,   961,   961,   962,   962,   962,   962,   963,
22091      963,   964,   964,   965,   965,   965,   965,   965,   965,   965,
22092      965,   965,   965,   965,   966,   966,   967,   967,   968,   968,
22093      969,   970,   971,   971,   972,   972,   973,   974,   975,   975,
22094      975,   975,   975,   975,   976,   976,   977,   977,   978,   978,
22095      978,   978,   979,   980,   980,   980,   981,   981,   981,   981,
22096      981,   981,   981,   981,   981,   981,   981,   981,   981,   981,
22097      982,   982,   983,   983,   983,   983,   983,   983,   983,   983,
22098      983,   983,   983,   983,   983,   983,   983,   983,   983,   983,
22099      983,   983,   983,   983,   983,   983,   983,   983,   983,   983,
22100      983,   983,   983,   983,   983,   983,   983,   983,   983,   983,
22101      983,   983,   983,   983,   983,   983,   983,   983,   983,   983,
22102      983,   983,   983,   983,   983,   983,   983,   983,   983,   983,
22103      983,   983,   983,   983,   983,   984,   984,   984,   984,   984,
22104      984,   984,   984,   984,   984,   984,   984,   984,   984,   984,
22105      984,   984,   984,   984,   984,   984,   984,   984,   984,   984,
22106      985,   985,   985,   985,   985,   985,   985,   985,   985,   985,
22107      985,   985,   985,   985,   986,   986,   986,   986,   986,   986,
22108      986,   987,   987,   988,   988,   989,   989,   989,   989,   989,
22109      989,   989,   989,   989,   989,   989,   989,   989,   989,   989,
22110      989,   989,   989,   989,   989,   989,   989,   989,   989,   989,
22111      989,   989,   989,   989,   989,   989,   989,   989,   989,   989,
22112      989,   989,   989,   989,   989,   989,   989,   990,   990,   991,
22113      991,   991,   991,   992,   993,   993,   994,   994,   995,   995,
22114      996,   996,   996,   997,   997,   997,   997,   998,   998,   999,
22115      999,  1000,  1000,  1001,  1001,  1002,  1003,  1003,  1003,  1004,
22116     1005,  1005,  1006,  1006,  1007,  1007,  1007,  1008,  1008,  1009,
22117     1009,  1009,  1009,  1009,  1010,  1010,  1010,  1011,  1011,  1012,
22118     1013,  1013,  1013,  1014,  1014,  1015,  1015,  1015,  1015,  1015,
22119     1015,  1015,  1015,  1015,  1015,  1015,  1015,  1016,  1016,  1017,
22120     1017,  1018,  1018,  1018,  1018,  1018,  1018,  1019,  1019,  1020,
22121     1020,  1021,  1021,  1021,  1022,  1022,  1023,  1023,  1023,  1024,
22122     1024,  1025,  1025,  1026,  1026,  1026,  1026,  1026,  1026,  1026,
22123     1026,  1027,  1027,  1028,  1029,  1029,  1030,  1030,  1030,  1030,
22124     1030,  1030,  1031,  1032,  1033,  1033,  1033,  1034,  1034,  1035,
22125     1036,  1036,  1037,  1038,  1038,  1039,  1039,  1040,  1040,  1041,
22126     1041,  1041,  1041,  1042,  1042,  1043,  1043,  1044,  1044,  1045,
22127     1045,  1046,  1046,  1047,  1047,  1048,  1049,  1049,  1050,  1050,
22128     1051,  1051,  1051,  1051,  1052,  1052,  1053,  1053,  1054,  1054,
22129     1055,  1056,  1057,  1058,  1059,  1060,  1061,  1061,  1062,  1062,
22130     1062,  1062,  1062,  1062,  1062,  1062,  1062,  1062,  1062,  1062,
22131     1062,  1063,  1064,  1065,  1065,  1065,  1066,  1067,  1067,  1067,
22132     1068,  1068,  1069,  1069,  1069,  1070,  1070,  1070,  1071,  1071,
22133     1071,  1071,  1072,  1072,  1072,  1072,  1072,  1073,  1073,  1073,
22134     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22135     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22136     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22137     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22138     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22139     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22140     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22141     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22142     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22143     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22144     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22145     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22146     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22147     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22148     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22149     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22150     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22151     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22152     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22153     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22154     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22155     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22156     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22157     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22158     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22159     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,
22160     1073,  1073,  1073,  1073,  1073,  1073,  1073,  1073,  1074,  1074,
22161     1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
22162     1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
22163     1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
22164     1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,  1074,
22165     1074,  1074,  1074,  1074,  1074,  1074,  1075,  1075,  1075,  1075,
22166     1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,
22167     1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1075,  1076,
22168     1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,
22169     1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,
22170     1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,
22171     1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,
22172     1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,
22173     1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,
22174     1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,  1076,
22175     1076,  1076,  1076,  1076,  1076,  1076
22176 };
22177 
22178   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
22179 static const yytype_uint8 yyr2[] =
22180 {
22181        0,     2,     1,     3,     1,     1,     1,     1,     1,     1,
22182        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22183        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22184        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22185        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22186        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22187        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22188        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22189        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22190        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22191        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22192        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22193        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22194        0,     5,     1,     1,     0,     2,     0,     2,     0,     2,
22195        2,     3,     3,     1,     3,     3,     2,     1,     1,     2,
22196        2,     2,     3,     3,     5,     5,     0,     3,     5,     5,
22197        5,     5,     5,     3,     5,     3,     5,     5,     6,     1,
22198        1,     3,     5,     6,     4,     9,     7,     1,     0,     2,
22199        0,     1,     1,     1,     1,     1,     1,     2,     3,     3,
22200        2,     5,     1,     3,     3,     3,     3,     1,     3,     3,
22201        2,     2,     2,     2,     3,     3,     3,     3,     1,     3,
22202        1,     3,     1,     1,     2,     2,     2,     1,     1,     1,
22203        1,     1,     1,     1,     3,     5,     1,     1,     1,     1,
22204        1,     0,     1,     1,     2,     1,     2,     3,     2,     1,
22205        1,     2,     1,     2,     1,     2,     3,     4,     3,     2,
22206        4,     1,     1,     1,     1,     1,     2,     2,     2,     2,
22207        2,     4,     6,    10,    13,     4,     6,    10,    13,     4,
22208        6,     4,     6,     5,     7,    11,    14,     1,     3,     2,
22209        5,     3,     6,     4,     6,     6,     6,     5,     5,     6,
22210        6,     4,     8,     4,     2,     4,     3,     6,     4,     3,
22211        3,     3,     3,     2,     2,     3,     4,     4,     3,     3,
22212        3,     3,     3,     3,     4,     4,     3,     2,     3,     2,
22213        2,     3,     3,     2,     2,     3,     4,     4,     4,     5,
22214        1,     3,     2,     1,     1,     0,     2,     0,     2,     0,
22215        1,     1,     1,     3,     3,     2,     0,     1,     3,     3,
22216        1,     5,     3,     4,     1,     3,     4,     6,     4,     8,
22217        2,     2,    11,     9,     1,     1,     1,     0,     1,     1,
22218        1,     1,     3,     2,     0,     1,     1,     1,     3,     3,
22219        1,     1,     3,     3,     3,     3,     4,     3,     2,     1,
22220        0,     2,     0,     3,     0,     1,     0,     1,     3,     2,
22221        1,     1,     1,     3,     0,     1,     3,     1,    11,    14,
22222       10,    13,     1,     1,     2,     2,     2,     2,     1,     0,
22223        1,     0,     3,     0,     1,     3,     1,     3,     1,     1,
22224        1,     1,     1,     4,     4,     2,     0,     3,     1,     1,
22225        2,     2,     1,     3,     4,     5,     2,     5,     1,     2,
22226        2,     2,     3,     3,     3,     0,     1,     1,     1,     1,
22227        1,     1,     3,     1,     5,     7,     3,     8,     4,     9,
22228       11,     2,     0,     3,     0,     1,     3,     1,     2,     2,
22229        2,     0,     1,     3,     3,     6,     4,     0,     1,     1,
22230        2,     2,     0,     3,     3,     2,     1,     1,     2,     2,
22231        4,     0,     2,     2,     2,     0,     3,     4,     4,     0,
22232        2,     0,     4,     0,     3,     7,    10,     5,     2,     3,
22233        0,     8,    11,     4,     1,     0,     6,     5,     8,     4,
22234        6,     1,     0,     1,     2,     2,     1,     2,     3,     2,
22235        2,     2,     2,     3,     3,     1,     3,     1,     0,     1,
22236        2,     2,     1,     1,     3,     6,    10,     1,     0,     1,
22237        2,     2,     0,     2,     2,     1,     0,     5,     7,     1,
22238        0,     7,     2,     0,     3,     5,     5,     8,     2,     0,
22239        2,     2,     2,     1,     5,     2,     0,     2,     7,     7,
22240       10,     6,     6,     6,     6,     7,     7,     9,     9,     6,
22241        7,     6,     8,     8,     8,     8,     6,     6,     7,     7,
22242        8,     6,     9,     6,     7,     2,     2,     2,     2,     1,
22243        2,     1,     0,     6,     8,     7,     6,     4,     0,     1,
22244        3,     4,     1,     3,     1,     2,     2,     2,     2,     1,
22245        1,    10,     2,     0,     2,     2,     1,     0,     4,     6,
22246        5,     4,     4,    11,    14,     5,     7,    11,     2,     1,
22247        4,     0,     8,     1,     1,     7,     9,     8,     9,     8,
22248        6,     8,     4,     0,     5,     0,     2,     0,     2,     0,
22249        2,     0,     1,     1,     1,     1,     1,     8,    15,    20,
22250        1,     1,     2,     1,     3,     1,     1,     1,     3,     1,
22251        3,     0,     1,     0,     1,     1,     4,     0,     1,     3,
22252        0,     1,     1,     1,     1,     2,     0,     0,     2,     2,
22253        1,     2,     2,     2,     2,     6,     8,    11,    13,     1,
22254        3,     5,     1,     3,     5,     1,     2,     2,     1,     8,
22255        4,     5,     4,     4,     4,     3,     7,     8,     6,     6,
22256        6,     6,     6,     4,     5,     3,     1,     3,     3,     1,
22257        1,     1,     1,     1,     1,     3,     1,     3,     3,     1,
22258        0,     1,     3,     7,     9,     9,     3,     0,    13,     1,
22259        3,     5,     6,     4,     7,     2,     1,     0,     2,     0,
22260        2,     4,     0,     1,     0,     6,     8,     8,     1,     3,
22261        5,     5,     7,     9,     7,     9,     5,     6,     6,     4,
22262        4,     6,     4,     6,     5,     7,     1,     1,     1,     2,
22263        1,     2,     2,     2,     1,     1,     1,     1,     3,     3,
22264        3,     3,     1,     3,     1,     2,     2,     3,     1,     3,
22265        5,     2,     2,     0,     6,     6,     6,     7,     7,     7,
22266        8,     9,     8,     8,     6,     9,     8,     9,     9,     7,
22267       10,     7,     2,     1,     1,     1,     1,     1,     1,     1,
22268        2,     1,     1,     1,     1,     1,     2,     1,     3,     2,
22269        3,     3,     3,     3,     1,     1,     8,     8,     8,     9,
22270        9,     9,     9,     2,     0,     1,     1,     2,     2,     1,
22271        1,     1,     1,     1,     1,     2,     1,     1,     2,     2,
22272        1,     2,     3,     3,     3,     3,     4,     4,     3,     3,
22273        3,     4,     4,     3,     4,     4,     1,     1,     1,     0,
22274        7,     7,    10,     1,     1,     2,     4,     5,     1,     3,
22275        2,     2,     2,     2,     1,     2,     2,     4,     3,     2,
22276        2,     2,     2,     3,     2,     2,     2,     5,     5,     5,
22277        1,     3,     1,     2,     3,     0,     1,     3,     2,     6,
22278        6,     9,     3,     0,     3,     0,     5,     2,     0,     3,
22279        3,     3,     7,     7,    10,     1,     1,     1,     1,    14,
22280       17,     1,     0,     1,     0,     1,     0,     2,     0,     1,
22281        3,     5,     5,     7,     2,     0,     1,     0,     1,     1,
22282        0,     2,     2,     0,     9,    12,     7,     2,     0,     3,
22283        2,     1,     3,     3,     2,     1,     3,     3,     3,     2,
22284        2,     1,     1,     1,     1,     2,     1,     1,     1,     1,
22285        4,     5,     1,     3,     3,     1,     3,     3,     5,     6,
22286        1,     3,     1,     2,     4,     5,     1,     1,     1,     1,
22287        3,     3,     2,     2,     1,     2,     2,     2,     1,     2,
22288        2,     2,     2,     1,     1,     1,     3,     3,     5,     2,
22289        0,     2,     1,     3,     5,     1,     2,     1,     0,     5,
22290        7,     5,     7,     5,     7,     3,     5,     5,     5,     1,
22291        3,     2,     1,     2,     1,     2,    11,    10,    10,     2,
22292        2,     0,     9,     2,     0,    10,    11,    11,     5,     5,
22293        8,     3,     3,     6,     6,     1,     1,     1,     1,     1,
22294        1,     3,     1,     5,     5,     7,     6,     6,     6,     6,
22295        8,     8,     6,     6,     7,     9,     9,     8,    10,     6,
22296        6,     6,     8,     6,     8,     6,     8,     7,     9,     6,
22297        8,     7,     9,     8,    10,     9,    11,     8,    10,     9,
22298       11,     8,     8,     7,     6,     6,     6,     8,     8,     8,
22299        8,     6,     9,     1,     0,     2,     0,     7,     9,     8,
22300        7,     7,     6,     6,     6,     6,     6,     7,     9,     9,
22301        6,     8,     8,     8,     8,     8,     6,     8,     6,     8,
22302        7,     9,     7,     9,     6,     8,     1,     3,     3,     3,
22303        7,     6,     6,     6,     6,     6,     7,     7,     7,     9,
22304        9,     6,     6,     6,     8,     8,     8,     6,     7,    13,
22305        1,     1,     3,     3,     1,     1,     1,     1,     1,     1,
22306        1,     0,     1,     1,     1,     1,     1,     1,     0,     6,
22307        8,     3,     2,     0,     2,     2,     2,     2,     3,     3,
22308        2,     2,     2,     2,     3,     2,     5,     4,     3,     3,
22309        3,     1,     1,     0,     3,     2,     2,     1,     2,     1,
22310        3,     2,     1,     0,     9,    11,    12,    14,     3,     4,
22311        4,     0,     2,     5,     1,     0,     1,     2,     3,     3,
22312        3,     1,     2,     1,     1,     1,     1,     1,     1,     0,
22313        5,     4,     6,     4,     3,     5,     4,     4,     6,     4,
22314        6,     6,     5,     7,     9,     6,     1,     0,     6,    11,
22315       11,    11,    13,     9,    11,     1,     1,    10,     4,     2,
22316        5,     2,     0,     4,     5,     5,     4,     6,     1,     3,
22317        1,     1,     1,     1,     1,     2,     4,     1,     1,     1,
22318        0,     1,     0,     1,     0,     3,     0,     2,     4,     3,
22319        5,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22320        1,     3,     2,     1,     1,     1,     1,     0,     5,     3,
22321        0,     1,     1,     1,     1,     3,     9,    12,     3,     0,
22322        2,     3,     2,     3,     7,     1,     3,     1,     4,     2,
22323        1,     3,     2,     8,     5,     0,     4,     3,     0,     2,
22324        0,     7,     2,     0,     5,     3,     0,     2,     2,     2,
22325        3,     1,     3,     1,     2,     1,     0,     1,     2,     0,
22326        8,     1,     3,     1,     1,     3,     5,     5,     2,     1,
22327        3,     7,     1,     0,     3,     2,     2,     2,     0,     2,
22328        2,     1,     1,     3,     3,     1,     2,     4,     4,     2,
22329        3,     5,     5,     1,     1,     9,     9,     1,     2,     4,
22330        4,     4,     2,     2,     3,     1,     3,     6,     1,     0,
22331        2,     0,     3,     3,     4,     4,     4,     4,     3,     2,
22332        1,     1,     0,     1,     1,     0,     1,     5,     1,     0,
22333        1,     0,     3,     1,     3,     4,     3,     2,     2,     1,
22334        1,     1,     0,     2,     4,     5,     4,     2,     3,     1,
22335        1,     1,     1,     2,     2,     1,     1,     1,     1,     1,
22336        1,     3,     0,     1,     3,     1,     1,     1,     1,     1,
22337        2,     4,     4,     5,     2,     0,     1,     3,     1,     0,
22338        1,     2,     3,     2,     4,     2,     3,     2,     0,     2,
22339        3,     2,     0,     1,     3,     2,     3,     2,     3,     2,
22340        3,     1,     4,     3,     4,     5,     4,     5,     4,     5,
22341        2,     4,     1,     1,     0,     1,     4,     5,     4,     0,
22342        2,     2,     2,     1,     1,     0,     4,     2,     1,     2,
22343        2,     4,     1,     3,     1,     2,     3,     6,     4,     0,
22344        2,     6,     2,     1,     3,     4,     0,     2,     0,     2,
22345        0,     2,     4,     0,     1,     0,     1,     3,     3,     2,
22346        3,     5,     6,     2,     3,     3,     4,     0,     1,     1,
22347        1,     1,     1,     2,     4,     1,     1,     1,     1,     2,
22348        3,     3,     0,     1,     1,     1,     1,     1,     2,     2,
22349        2,     2,     2,     1,     3,     0,     1,     1,     1,     1,
22350        5,     2,     1,     1,     1,     1,     5,     2,     2,     2,
22351        1,     3,     3,     2,     1,     0,     3,     0,     5,     2,
22352        5,     2,     1,     3,     3,     0,     1,     1,     1,     1,
22353        1,     1,     3,     3,     3,     3,     3,     3,     3,     0,
22354        1,     4,     1,     3,     3,     5,     2,     2,     3,     3,
22355        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
22356        3,     2,     2,     3,     3,     2,     2,     3,     5,     4,
22357        6,     3,     5,     4,     6,     4,     6,     5,     7,     3,
22358        2,     4,     2,     3,     3,     4,     3,     4,     3,     4,
22359        5,     6,     6,     7,     6,     7,     6,     7,     3,     4,
22360        4,     6,     2,     3,     4,     1,     3,     2,     2,     3,
22361        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
22362        3,     3,     2,     2,     5,     6,     6,     7,     3,     4,
22363        1,     1,     2,     4,     1,     1,     1,     2,     2,     2,
22364        2,     1,     1,     4,     3,     5,     6,     8,     6,     6,
22365        4,     4,     1,     1,     1,     5,     1,     1,     4,     1,
22366        4,     1,     4,     1,     4,     1,     1,     1,     1,     1,
22367        1,     6,     4,     4,     4,     4,     6,     5,     5,     5,
22368        4,     6,     4,     4,     4,     4,     5,     7,     7,     9,
22369        5,     4,     6,     5,     7,     7,     7,     2,     3,     3,
22370        3,     4,     0,     4,     1,     3,     3,     1,     1,     1,
22371        2,     2,     0,     2,     4,     4,     6,     5,     0,     5,
22372        0,     2,     0,     1,     3,     3,     2,     2,     0,     6,
22373        1,     0,     3,     0,     2,     2,     0,     1,     4,     2,
22374        2,     2,     2,     2,     4,     3,     5,     4,     3,     5,
22375        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22376        1,     1,     1,     1,     1,     1,     1,     1,     4,     1,
22377        4,     1,     4,     1,     2,     1,     2,     1,     3,     1,
22378        3,     1,     3,     3,     1,     3,     3,     3,     2,     1,
22379        3,     3,     0,     1,     1,     1,     1,     1,     1,     1,
22380        1,     4,     3,     2,     3,     0,     3,     3,     2,     2,
22381        1,     0,     2,     2,     3,     2,     1,     1,     3,     5,
22382        1,     2,     4,     2,     0,     1,     0,     1,     2,     2,
22383        2,     3,     5,     1,     0,     1,     2,     0,     2,     1,
22384        0,     1,     1,     1,     3,     3,     1,     0,     1,     3,
22385        3,     2,     1,     1,     1,     3,     1,     2,     1,     3,
22386        1,     1,     1,     1,     1,     1,     1,     2,     1,     1,
22387        1,     1,     1,     2,     6,     2,     3,     5,     1,     1,
22388        1,     1,     1,     1,     2,     2,     1,     1,     1,     1,
22389        1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
22390        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22391        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22392        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22393        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22394        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22395        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22396        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22397        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22398        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22399        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22400        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22401        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22402        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22403        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22404        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22405        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22406        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22407        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22408        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22409        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22410        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22411        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22412        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22413        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22414        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22415        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22416        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22417        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22418        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22419        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22420        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22421        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22422        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22423        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22424        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22425        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22426        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22427        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22428        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22429        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22430        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22431        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
22432        1,     1,     1,     1,     1,     1
22433 };
22434 
22435 
22436 #define yyerrok         (yyerrstatus = 0)
22437 #define yyclearin       (yychar = YYEMPTY)
22438 #define YYEMPTY         (-2)
22439 #define YYEOF           0
22440 
22441 #define YYACCEPT        goto yyacceptlab
22442 #define YYABORT         goto yyabortlab
22443 #define YYERROR         goto yyerrorlab
22444 
22445 
22446 #define YYRECOVERING()  (!!yyerrstatus)
22447 
22448 #define YYBACKUP(Token, Value)                                    \
22449   do                                                              \
22450     if (yychar == YYEMPTY)                                        \
22451       {                                                           \
22452         yychar = (Token);                                         \
22453         yylval = (Value);                                         \
22454         YYPOPSTACK (yylen);                                       \
22455         yystate = *yyssp;                                         \
22456         goto yybackup;                                            \
22457       }                                                           \
22458     else                                                          \
22459       {                                                           \
22460         yyerror (&yylloc, yyscanner, YY_("syntax error: cannot back up")); \
22461         YYERROR;                                                  \
22462       }                                                           \
22463   while (0)
22464 
22465 /* Error token number */
22466 #define YYTERROR        1
22467 #define YYERRCODE       256
22468 
22469 
22470 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
22471    If N is 0, then set CURRENT to the empty location which ends
22472    the previous symbol: RHS[0] (always defined).  */
22473 
22474 #ifndef YYLLOC_DEFAULT
22475 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
22476     do                                                                  \
22477       if (N)                                                            \
22478         {                                                               \
22479           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
22480           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
22481           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
22482           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
22483         }                                                               \
22484       else                                                              \
22485         {                                                               \
22486           (Current).first_line   = (Current).last_line   =              \
22487             YYRHSLOC (Rhs, 0).last_line;                                \
22488           (Current).first_column = (Current).last_column =              \
22489             YYRHSLOC (Rhs, 0).last_column;                              \
22490         }                                                               \
22491     while (0)
22492 #endif
22493 
22494 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
22495 
22496 
22497 /* Enable debugging if requested.  */
22498 #if YYDEBUG
22499 
22500 # ifndef YYFPRINTF
22501 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
22502 #  define YYFPRINTF fprintf
22503 # endif
22504 
22505 # define YYDPRINTF(Args)                        \
22506 do {                                            \
22507   if (yydebug)                                  \
22508     YYFPRINTF Args;                             \
22509 } while (0)
22510 
22511 
22512 /* YY_LOCATION_PRINT -- Print the location on the stream.
22513    This macro was not mandated originally: define only if we know
22514    we won't break user code: when these are the locations we know.  */
22515 
22516 #ifndef YY_LOCATION_PRINT
22517 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
22518 
22519 /* Print *YYLOCP on YYO.  Private, do not rely on its existence. */
22520 
22521 YY_ATTRIBUTE_UNUSED
22522 static int
yy_location_print_(FILE * yyo,YYLTYPE const * const yylocp)22523 yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
22524 {
22525   int res = 0;
22526   int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
22527   if (0 <= yylocp->first_line)
22528     {
22529       res += YYFPRINTF (yyo, "%d", yylocp->first_line);
22530       if (0 <= yylocp->first_column)
22531         res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
22532     }
22533   if (0 <= yylocp->last_line)
22534     {
22535       if (yylocp->first_line < yylocp->last_line)
22536         {
22537           res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
22538           if (0 <= end_col)
22539             res += YYFPRINTF (yyo, ".%d", end_col);
22540         }
22541       else if (0 <= end_col && yylocp->first_column < end_col)
22542         res += YYFPRINTF (yyo, "-%d", end_col);
22543     }
22544   return res;
22545  }
22546 
22547 #  define YY_LOCATION_PRINT(File, Loc)          \
22548   yy_location_print_ (File, &(Loc))
22549 
22550 # else
22551 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
22552 # endif
22553 #endif
22554 
22555 
22556 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
22557 do {                                                                      \
22558   if (yydebug)                                                            \
22559     {                                                                     \
22560       YYFPRINTF (stderr, "%s ", Title);                                   \
22561       yy_symbol_print (stderr,                                            \
22562                   Type, Value, Location, yyscanner); \
22563       YYFPRINTF (stderr, "\n");                                           \
22564     }                                                                     \
22565 } while (0)
22566 
22567 
22568 /*-----------------------------------.
22569 | Print this symbol's value on YYO.  |
22570 `-----------------------------------*/
22571 
22572 static void
yy_symbol_value_print(FILE * yyo,int yytype,YYSTYPE const * const yyvaluep,YYLTYPE const * const yylocationp,core_yyscan_t yyscanner)22573 yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
22574 {
22575   FILE *yyoutput = yyo;
22576   YYUSE (yyoutput);
22577   YYUSE (yylocationp);
22578   YYUSE (yyscanner);
22579   if (!yyvaluep)
22580     return;
22581 # ifdef YYPRINT
22582   if (yytype < YYNTOKENS)
22583     YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
22584 # endif
22585   YYUSE (yytype);
22586 }
22587 
22588 
22589 /*---------------------------.
22590 | Print this symbol on YYO.  |
22591 `---------------------------*/
22592 
22593 static void
yy_symbol_print(FILE * yyo,int yytype,YYSTYPE const * const yyvaluep,YYLTYPE const * const yylocationp,core_yyscan_t yyscanner)22594 yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
22595 {
22596   YYFPRINTF (yyo, "%s %s (",
22597              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
22598 
22599   YY_LOCATION_PRINT (yyo, *yylocationp);
22600   YYFPRINTF (yyo, ": ");
22601   yy_symbol_value_print (yyo, yytype, yyvaluep, yylocationp, yyscanner);
22602   YYFPRINTF (yyo, ")");
22603 }
22604 
22605 /*------------------------------------------------------------------.
22606 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
22607 | TOP (included).                                                   |
22608 `------------------------------------------------------------------*/
22609 
22610 static void
yy_stack_print(yytype_int16 * yybottom,yytype_int16 * yytop)22611 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
22612 {
22613   YYFPRINTF (stderr, "Stack now");
22614   for (; yybottom <= yytop; yybottom++)
22615     {
22616       int yybot = *yybottom;
22617       YYFPRINTF (stderr, " %d", yybot);
22618     }
22619   YYFPRINTF (stderr, "\n");
22620 }
22621 
22622 # define YY_STACK_PRINT(Bottom, Top)                            \
22623 do {                                                            \
22624   if (yydebug)                                                  \
22625     yy_stack_print ((Bottom), (Top));                           \
22626 } while (0)
22627 
22628 
22629 /*------------------------------------------------.
22630 | Report that the YYRULE is going to be reduced.  |
22631 `------------------------------------------------*/
22632 
22633 static void
yy_reduce_print(yytype_int16 * yyssp,YYSTYPE * yyvsp,YYLTYPE * yylsp,int yyrule,core_yyscan_t yyscanner)22634 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, core_yyscan_t yyscanner)
22635 {
22636   unsigned long yylno = yyrline[yyrule];
22637   int yynrhs = yyr2[yyrule];
22638   int yyi;
22639   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
22640              yyrule - 1, yylno);
22641   /* The symbols being reduced.  */
22642   for (yyi = 0; yyi < yynrhs; yyi++)
22643     {
22644       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
22645       yy_symbol_print (stderr,
22646                        yystos[yyssp[yyi + 1 - yynrhs]],
22647                        &yyvsp[(yyi + 1) - (yynrhs)]
22648                        , &(yylsp[(yyi + 1) - (yynrhs)])                       , yyscanner);
22649       YYFPRINTF (stderr, "\n");
22650     }
22651 }
22652 
22653 # define YY_REDUCE_PRINT(Rule)          \
22654 do {                                    \
22655   if (yydebug)                          \
22656     yy_reduce_print (yyssp, yyvsp, yylsp, Rule, yyscanner); \
22657 } while (0)
22658 
22659 /* Nonzero means print parse trace.  It is left uninitialized so that
22660    multiple parsers can coexist.  */
22661 int yydebug;
22662 #else /* !YYDEBUG */
22663 # define YYDPRINTF(Args)
22664 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
22665 # define YY_STACK_PRINT(Bottom, Top)
22666 # define YY_REDUCE_PRINT(Rule)
22667 #endif /* !YYDEBUG */
22668 
22669 
22670 /* YYINITDEPTH -- initial size of the parser's stacks.  */
22671 #ifndef YYINITDEPTH
22672 # define YYINITDEPTH 200
22673 #endif
22674 
22675 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
22676    if the built-in stack extension method is used).
22677 
22678    Do not make this value too large; the results are undefined if
22679    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
22680    evaluated with infinite-precision integer arithmetic.  */
22681 
22682 #ifndef YYMAXDEPTH
22683 # define YYMAXDEPTH 10000
22684 #endif
22685 
22686 
22687 #if YYERROR_VERBOSE
22688 
22689 # ifndef yystrlen
22690 #  if defined __GLIBC__ && defined _STRING_H
22691 #   define yystrlen strlen
22692 #  else
22693 /* Return the length of YYSTR.  */
22694 static YYSIZE_T
yystrlen(const char * yystr)22695 yystrlen (const char *yystr)
22696 {
22697   YYSIZE_T yylen;
22698   for (yylen = 0; yystr[yylen]; yylen++)
22699     continue;
22700   return yylen;
22701 }
22702 #  endif
22703 # endif
22704 
22705 # ifndef yystpcpy
22706 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
22707 #   define yystpcpy stpcpy
22708 #  else
22709 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
22710    YYDEST.  */
22711 static char *
yystpcpy(char * yydest,const char * yysrc)22712 yystpcpy (char *yydest, const char *yysrc)
22713 {
22714   char *yyd = yydest;
22715   const char *yys = yysrc;
22716 
22717   while ((*yyd++ = *yys++) != '\0')
22718     continue;
22719 
22720   return yyd - 1;
22721 }
22722 #  endif
22723 # endif
22724 
22725 # ifndef yytnamerr
22726 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
22727    quotes and backslashes, so that it's suitable for yyerror.  The
22728    heuristic is that double-quoting is unnecessary unless the string
22729    contains an apostrophe, a comma, or backslash (other than
22730    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
22731    null, do not copy; instead, return the length of what the result
22732    would have been.  */
22733 static YYSIZE_T
yytnamerr(char * yyres,const char * yystr)22734 yytnamerr (char *yyres, const char *yystr)
22735 {
22736   if (*yystr == '"')
22737     {
22738       YYSIZE_T yyn = 0;
22739       char const *yyp = yystr;
22740 
22741       for (;;)
22742         switch (*++yyp)
22743           {
22744           case '\'':
22745           case ',':
22746             goto do_not_strip_quotes;
22747 
22748           case '\\':
22749             if (*++yyp != '\\')
22750               goto do_not_strip_quotes;
22751             else
22752               goto append;
22753 
22754           append:
22755           default:
22756             if (yyres)
22757               yyres[yyn] = *yyp;
22758             yyn++;
22759             break;
22760 
22761           case '"':
22762             if (yyres)
22763               yyres[yyn] = '\0';
22764             return yyn;
22765           }
22766     do_not_strip_quotes: ;
22767     }
22768 
22769   if (! yyres)
22770     return yystrlen (yystr);
22771 
22772   return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);
22773 }
22774 # endif
22775 
22776 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
22777    about the unexpected token YYTOKEN for the state stack whose top is
22778    YYSSP.
22779 
22780    Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
22781    not large enough to hold the message.  In that case, also set
22782    *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
22783    required number of bytes is too large to store.  */
22784 static int
yysyntax_error(YYSIZE_T * yymsg_alloc,char ** yymsg,yytype_int16 * yyssp,int yytoken)22785 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
22786                 yytype_int16 *yyssp, int yytoken)
22787 {
22788   YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
22789   YYSIZE_T yysize = yysize0;
22790   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
22791   /* Internationalized format string. */
22792   const char *yyformat = YY_NULLPTR;
22793   /* Arguments of yyformat. */
22794   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
22795   /* Number of reported tokens (one for the "unexpected", one per
22796      "expected"). */
22797   int yycount = 0;
22798 
22799   /* There are many possibilities here to consider:
22800      - If this state is a consistent state with a default action, then
22801        the only way this function was invoked is if the default action
22802        is an error action.  In that case, don't check for expected
22803        tokens because there are none.
22804      - The only way there can be no lookahead present (in yychar) is if
22805        this state is a consistent state with a default action.  Thus,
22806        detecting the absence of a lookahead is sufficient to determine
22807        that there is no unexpected or expected token to report.  In that
22808        case, just report a simple "syntax error".
22809      - Don't assume there isn't a lookahead just because this state is a
22810        consistent state with a default action.  There might have been a
22811        previous inconsistent state, consistent state with a non-default
22812        action, or user semantic action that manipulated yychar.
22813      - Of course, the expected token list depends on states to have
22814        correct lookahead information, and it depends on the parser not
22815        to perform extra reductions after fetching a lookahead from the
22816        scanner and before detecting a syntax error.  Thus, state merging
22817        (from LALR or IELR) and default reductions corrupt the expected
22818        token list.  However, the list is correct for canonical LR with
22819        one exception: it will still contain any token that will not be
22820        accepted due to an error action in a later state.
22821   */
22822   if (yytoken != YYEMPTY)
22823     {
22824       int yyn = yypact[*yyssp];
22825       yyarg[yycount++] = yytname[yytoken];
22826       if (!yypact_value_is_default (yyn))
22827         {
22828           /* Start YYX at -YYN if negative to avoid negative indexes in
22829              YYCHECK.  In other words, skip the first -YYN actions for
22830              this state because they are default actions.  */
22831           int yyxbegin = yyn < 0 ? -yyn : 0;
22832           /* Stay within bounds of both yycheck and yytname.  */
22833           int yychecklim = YYLAST - yyn + 1;
22834           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
22835           int yyx;
22836 
22837           for (yyx = yyxbegin; yyx < yyxend; ++yyx)
22838             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
22839                 && !yytable_value_is_error (yytable[yyx + yyn]))
22840               {
22841                 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
22842                   {
22843                     yycount = 1;
22844                     yysize = yysize0;
22845                     break;
22846                   }
22847                 yyarg[yycount++] = yytname[yyx];
22848                 {
22849                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
22850                   if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
22851                     yysize = yysize1;
22852                   else
22853                     return 2;
22854                 }
22855               }
22856         }
22857     }
22858 
22859   switch (yycount)
22860     {
22861 # define YYCASE_(N, S)                      \
22862       case N:                               \
22863         yyformat = S;                       \
22864       break
22865     default: /* Avoid compiler warnings. */
22866       YYCASE_(0, YY_("syntax error"));
22867       YYCASE_(1, YY_("syntax error, unexpected %s"));
22868       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
22869       YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
22870       YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
22871       YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
22872 # undef YYCASE_
22873     }
22874 
22875   {
22876     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
22877     if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
22878       yysize = yysize1;
22879     else
22880       return 2;
22881   }
22882 
22883   if (*yymsg_alloc < yysize)
22884     {
22885       *yymsg_alloc = 2 * yysize;
22886       if (! (yysize <= *yymsg_alloc
22887              && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
22888         *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
22889       return 1;
22890     }
22891 
22892   /* Avoid sprintf, as that infringes on the user's name space.
22893      Don't have undefined behavior even if the translation
22894      produced a string with the wrong number of "%s"s.  */
22895   {
22896     char *yyp = *yymsg;
22897     int yyi = 0;
22898     while ((*yyp = *yyformat) != '\0')
22899       if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
22900         {
22901           yyp += yytnamerr (yyp, yyarg[yyi++]);
22902           yyformat += 2;
22903         }
22904       else
22905         {
22906           yyp++;
22907           yyformat++;
22908         }
22909   }
22910   return 0;
22911 }
22912 #endif /* YYERROR_VERBOSE */
22913 
22914 /*-----------------------------------------------.
22915 | Release the memory associated to this symbol.  |
22916 `-----------------------------------------------*/
22917 
22918 static void
yydestruct(const char * yymsg,int yytype,YYSTYPE * yyvaluep,YYLTYPE * yylocationp,core_yyscan_t yyscanner)22919 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, core_yyscan_t yyscanner)
22920 {
22921   YYUSE (yyvaluep);
22922   YYUSE (yylocationp);
22923   YYUSE (yyscanner);
22924   if (!yymsg)
22925     yymsg = "Deleting";
22926   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
22927 
22928   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
22929   YYUSE (yytype);
22930   YY_IGNORE_MAYBE_UNINITIALIZED_END
22931 }
22932 
22933 
22934 
22935 
22936 /*----------.
22937 | yyparse.  |
22938 `----------*/
22939 
22940 int
yyparse(core_yyscan_t yyscanner)22941 yyparse (core_yyscan_t yyscanner)
22942 {
22943 /* The lookahead symbol.  */
22944 int yychar;
22945 
22946 
22947 /* The semantic value of the lookahead symbol.  */
22948 /* Default value used for initialization, for pacifying older GCCs
22949    or non-GCC compilers.  */
22950 YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
22951 YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
22952 
22953 /* Location data for the lookahead symbol.  */
22954 static YYLTYPE yyloc_default
22955 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
22956   = { 1, 1, 1, 1 }
22957 # endif
22958 ;
22959 YYLTYPE yylloc = yyloc_default;
22960 
22961     /* Number of syntax errors so far.  */
22962     int yynerrs;
22963 
22964     int yystate;
22965     /* Number of tokens to shift before error messages enabled.  */
22966     int yyerrstatus;
22967 
22968     /* The stacks and their tools:
22969        'yyss': related to states.
22970        'yyvs': related to semantic values.
22971        'yyls': related to locations.
22972 
22973        Refer to the stacks through separate pointers, to allow yyoverflow
22974        to reallocate them elsewhere.  */
22975 
22976     /* The state stack.  */
22977     yytype_int16 yyssa[YYINITDEPTH];
22978     yytype_int16 *yyss;
22979     yytype_int16 *yyssp;
22980 
22981     /* The semantic value stack.  */
22982     YYSTYPE yyvsa[YYINITDEPTH];
22983     YYSTYPE *yyvs;
22984     YYSTYPE *yyvsp;
22985 
22986     /* The location stack.  */
22987     YYLTYPE yylsa[YYINITDEPTH];
22988     YYLTYPE *yyls;
22989     YYLTYPE *yylsp;
22990 
22991     /* The locations where the error started and ended.  */
22992     YYLTYPE yyerror_range[3];
22993 
22994     YYSIZE_T yystacksize;
22995 
22996   int yyn;
22997   int yyresult;
22998   /* Lookahead token as an internal (translated) token number.  */
22999   int yytoken = 0;
23000   /* The variables used to return semantic value and location from the
23001      action routines.  */
23002   YYSTYPE yyval;
23003   YYLTYPE yyloc;
23004 
23005 #if YYERROR_VERBOSE
23006   /* Buffer for error messages, and its allocated size.  */
23007   char yymsgbuf[128];
23008   char *yymsg = yymsgbuf;
23009   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
23010 #endif
23011 
23012 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
23013 
23014   /* The number of symbols on the RHS of the reduced rule.
23015      Keep to zero when no symbol should be popped.  */
23016   int yylen = 0;
23017 
23018   yyssp = yyss = yyssa;
23019   yyvsp = yyvs = yyvsa;
23020   yylsp = yyls = yylsa;
23021   yystacksize = YYINITDEPTH;
23022 
23023   YYDPRINTF ((stderr, "Starting parse\n"));
23024 
23025   yystate = 0;
23026   yyerrstatus = 0;
23027   yynerrs = 0;
23028   yychar = YYEMPTY; /* Cause a token to be read.  */
23029   yylsp[0] = yylloc;
23030   goto yysetstate;
23031 
23032 
23033 /*------------------------------------------------------------.
23034 | yynewstate -- push a new state, which is found in yystate.  |
23035 `------------------------------------------------------------*/
23036 yynewstate:
23037   /* In all cases, when you get here, the value and location stacks
23038      have just been pushed.  So pushing a state here evens the stacks.  */
23039   yyssp++;
23040 
23041 
23042 /*--------------------------------------------------------------------.
23043 | yynewstate -- set current state (the top of the stack) to yystate.  |
23044 `--------------------------------------------------------------------*/
23045 yysetstate:
23046   *yyssp = (yytype_int16) yystate;
23047 
23048   if (yyss + yystacksize - 1 <= yyssp)
23049 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
23050     goto yyexhaustedlab;
23051 #else
23052     {
23053       /* Get the current used size of the three stacks, in elements.  */
23054       YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
23055 
23056 # if defined yyoverflow
23057       {
23058         /* Give user a chance to reallocate the stack.  Use copies of
23059            these so that the &'s don't force the real ones into
23060            memory.  */
23061         YYSTYPE *yyvs1 = yyvs;
23062         yytype_int16 *yyss1 = yyss;
23063         YYLTYPE *yyls1 = yyls;
23064 
23065         /* Each stack pointer address is followed by the size of the
23066            data in use in that stack, in bytes.  This used to be a
23067            conditional around just the two extra args, but that might
23068            be undefined if yyoverflow is a macro.  */
23069         yyoverflow (YY_("memory exhausted"),
23070                     &yyss1, yysize * sizeof (*yyssp),
23071                     &yyvs1, yysize * sizeof (*yyvsp),
23072                     &yyls1, yysize * sizeof (*yylsp),
23073                     &yystacksize);
23074         yyss = yyss1;
23075         yyvs = yyvs1;
23076         yyls = yyls1;
23077       }
23078 # else /* defined YYSTACK_RELOCATE */
23079       /* Extend the stack our own way.  */
23080       if (YYMAXDEPTH <= yystacksize)
23081         goto yyexhaustedlab;
23082       yystacksize *= 2;
23083       if (YYMAXDEPTH < yystacksize)
23084         yystacksize = YYMAXDEPTH;
23085 
23086       {
23087         yytype_int16 *yyss1 = yyss;
23088         union yyalloc *yyptr =
23089           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
23090         if (! yyptr)
23091           goto yyexhaustedlab;
23092         YYSTACK_RELOCATE (yyss_alloc, yyss);
23093         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
23094         YYSTACK_RELOCATE (yyls_alloc, yyls);
23095 # undef YYSTACK_RELOCATE
23096         if (yyss1 != yyssa)
23097           YYSTACK_FREE (yyss1);
23098       }
23099 # endif
23100 
23101       yyssp = yyss + yysize - 1;
23102       yyvsp = yyvs + yysize - 1;
23103       yylsp = yyls + yysize - 1;
23104 
23105       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
23106                   (unsigned long) yystacksize));
23107 
23108       if (yyss + yystacksize - 1 <= yyssp)
23109         YYABORT;
23110     }
23111 #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
23112 
23113   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
23114 
23115   if (yystate == YYFINAL)
23116     YYACCEPT;
23117 
23118   goto yybackup;
23119 
23120 
23121 /*-----------.
23122 | yybackup.  |
23123 `-----------*/
23124 yybackup:
23125   /* Do appropriate processing given the current state.  Read a
23126      lookahead token if we need one and don't already have one.  */
23127 
23128   /* First try to decide what to do without reference to lookahead token.  */
23129   yyn = yypact[yystate];
23130   if (yypact_value_is_default (yyn))
23131     goto yydefault;
23132 
23133   /* Not known => get a lookahead token if don't already have one.  */
23134 
23135   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
23136   if (yychar == YYEMPTY)
23137     {
23138       YYDPRINTF ((stderr, "Reading a token: "));
23139       yychar = yylex (&yylval, &yylloc, yyscanner);
23140     }
23141 
23142   if (yychar <= YYEOF)
23143     {
23144       yychar = yytoken = YYEOF;
23145       YYDPRINTF ((stderr, "Now at end of input.\n"));
23146     }
23147   else
23148     {
23149       yytoken = YYTRANSLATE (yychar);
23150       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
23151     }
23152 
23153   /* If the proper action on seeing token YYTOKEN is to reduce or to
23154      detect an error, take that action.  */
23155   yyn += yytoken;
23156   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
23157     goto yydefault;
23158   yyn = yytable[yyn];
23159   if (yyn <= 0)
23160     {
23161       if (yytable_value_is_error (yyn))
23162         goto yyerrlab;
23163       yyn = -yyn;
23164       goto yyreduce;
23165     }
23166 
23167   /* Count tokens shifted since error; after three, turn off error
23168      status.  */
23169   if (yyerrstatus)
23170     yyerrstatus--;
23171 
23172   /* Shift the lookahead token.  */
23173   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
23174 
23175   /* Discard the shifted token.  */
23176   yychar = YYEMPTY;
23177 
23178   yystate = yyn;
23179   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
23180   *++yyvsp = yylval;
23181   YY_IGNORE_MAYBE_UNINITIALIZED_END
23182   *++yylsp = yylloc;
23183   goto yynewstate;
23184 
23185 
23186 /*-----------------------------------------------------------.
23187 | yydefault -- do the default action for the current state.  |
23188 `-----------------------------------------------------------*/
23189 yydefault:
23190   yyn = yydefact[yystate];
23191   if (yyn == 0)
23192     goto yyerrlab;
23193   goto yyreduce;
23194 
23195 
23196 /*-----------------------------.
23197 | yyreduce -- do a reduction.  |
23198 `-----------------------------*/
23199 yyreduce:
23200   /* yyn is the number of a rule to reduce with.  */
23201   yylen = yyr2[yyn];
23202 
23203   /* If YYLEN is nonzero, implement the default value of the action:
23204      '$$ = $1'.
23205 
23206      Otherwise, the following line sets YYVAL to garbage.
23207      This behavior is undocumented and Bison
23208      users should not rely upon it.  Assigning to YYVAL
23209      unconditionally makes the parser a bit smaller, and it avoids a
23210      GCC warning that YYVAL may be used uninitialized.  */
23211   yyval = yyvsp[1-yylen];
23212 
23213   /* Default location. */
23214   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
23215   yyerror_range[1] = yyloc;
23216   YY_REDUCE_PRINT (yyn);
23217   switch (yyn)
23218     {
23219         case 2:
23220 #line 735 "gram.y" /* yacc.c:1652  */
23221     {
23222 				pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
23223 			}
23224 #line 23225 "gram.c" /* yacc.c:1652  */
23225     break;
23226 
23227   case 3:
23228 #line 742 "gram.y" /* yacc.c:1652  */
23229     {
23230 					if ((yyvsp[0].node) != NULL)
23231 						(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
23232 					else
23233 						(yyval.list) = (yyvsp[-2].list);
23234 				}
23235 #line 23236 "gram.c" /* yacc.c:1652  */
23236     break;
23237 
23238   case 4:
23239 #line 749 "gram.y" /* yacc.c:1652  */
23240     {
23241 					if ((yyvsp[0].node) != NULL)
23242 						(yyval.list) = list_make1((yyvsp[0].node));
23243 					else
23244 						(yyval.list) = NIL;
23245 				}
23246 #line 23247 "gram.c" /* yacc.c:1652  */
23247     break;
23248 
23249   case 130:
23250 #line 884 "gram.y" /* yacc.c:1652  */
23251     { (yyval.node) = NULL; }
23252 #line 23253 "gram.c" /* yacc.c:1652  */
23253     break;
23254 
23255   case 131:
23256 #line 895 "gram.y" /* yacc.c:1652  */
23257     {
23258 					CreateRoleStmt *n = makeNode(CreateRoleStmt);
23259 					n->stmt_type = ROLESTMT_ROLE;
23260 					n->role = (yyvsp[-2].str);
23261 					n->options = (yyvsp[0].list);
23262 					(yyval.node) = (Node *)n;
23263 				}
23264 #line 23265 "gram.c" /* yacc.c:1652  */
23265     break;
23266 
23267   case 132:
23268 #line 905 "gram.y" /* yacc.c:1652  */
23269     {}
23270 #line 23271 "gram.c" /* yacc.c:1652  */
23271     break;
23272 
23273   case 133:
23274 #line 906 "gram.y" /* yacc.c:1652  */
23275     {}
23276 #line 23277 "gram.c" /* yacc.c:1652  */
23277     break;
23278 
23279   case 134:
23280 #line 907 "gram.y" /* yacc.c:1652  */
23281     {}
23282 #line 23283 "gram.c" /* yacc.c:1652  */
23283     break;
23284 
23285   case 135:
23286 #line 916 "gram.y" /* yacc.c:1652  */
23287     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
23288 #line 23289 "gram.c" /* yacc.c:1652  */
23289     break;
23290 
23291   case 136:
23292 #line 917 "gram.y" /* yacc.c:1652  */
23293     { (yyval.list) = NIL; }
23294 #line 23295 "gram.c" /* yacc.c:1652  */
23295     break;
23296 
23297   case 137:
23298 #line 921 "gram.y" /* yacc.c:1652  */
23299     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
23300 #line 23301 "gram.c" /* yacc.c:1652  */
23301     break;
23302 
23303   case 138:
23304 #line 922 "gram.y" /* yacc.c:1652  */
23305     { (yyval.list) = NIL; }
23306 #line 23307 "gram.c" /* yacc.c:1652  */
23307     break;
23308 
23309   case 139:
23310 #line 927 "gram.y" /* yacc.c:1652  */
23311     {
23312 					(yyval.defelt) = makeDefElem("password",
23313 									 (Node *)makeString((yyvsp[0].str)));
23314 				}
23315 #line 23316 "gram.c" /* yacc.c:1652  */
23316     break;
23317 
23318   case 140:
23319 #line 932 "gram.y" /* yacc.c:1652  */
23320     {
23321 					(yyval.defelt) = makeDefElem("password", NULL);
23322 				}
23323 #line 23324 "gram.c" /* yacc.c:1652  */
23324     break;
23325 
23326   case 141:
23327 #line 936 "gram.y" /* yacc.c:1652  */
23328     {
23329 					(yyval.defelt) = makeDefElem("encryptedPassword",
23330 									 (Node *)makeString((yyvsp[0].str)));
23331 				}
23332 #line 23333 "gram.c" /* yacc.c:1652  */
23333     break;
23334 
23335   case 142:
23336 #line 941 "gram.y" /* yacc.c:1652  */
23337     {
23338 					(yyval.defelt) = makeDefElem("unencryptedPassword",
23339 									 (Node *)makeString((yyvsp[0].str)));
23340 				}
23341 #line 23342 "gram.c" /* yacc.c:1652  */
23342     break;
23343 
23344   case 143:
23345 #line 946 "gram.y" /* yacc.c:1652  */
23346     {
23347 					(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(TRUE));
23348 				}
23349 #line 23350 "gram.c" /* yacc.c:1652  */
23350     break;
23351 
23352   case 144:
23353 #line 950 "gram.y" /* yacc.c:1652  */
23354     {
23355 					(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival)));
23356 				}
23357 #line 23358 "gram.c" /* yacc.c:1652  */
23358     break;
23359 
23360   case 145:
23361 #line 954 "gram.y" /* yacc.c:1652  */
23362     {
23363 					(yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[0].str)));
23364 				}
23365 #line 23366 "gram.c" /* yacc.c:1652  */
23366     break;
23367 
23368   case 146:
23369 #line 959 "gram.y" /* yacc.c:1652  */
23370     {
23371 					(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list));
23372 				}
23373 #line 23374 "gram.c" /* yacc.c:1652  */
23374     break;
23375 
23376   case 147:
23377 #line 963 "gram.y" /* yacc.c:1652  */
23378     {
23379 					/*
23380 					 * We handle identifiers that aren't parser keywords with
23381 					 * the following special-case codes, to avoid bloating the
23382 					 * size of the main parser.
23383 					 */
23384 					if (strcmp((yyvsp[0].str), "superuser") == 0)
23385 						(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(TRUE));
23386 					else if (strcmp((yyvsp[0].str), "nosuperuser") == 0)
23387 						(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(FALSE));
23388 					else if (strcmp((yyvsp[0].str), "createrole") == 0)
23389 						(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(TRUE));
23390 					else if (strcmp((yyvsp[0].str), "nocreaterole") == 0)
23391 						(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(FALSE));
23392 					else if (strcmp((yyvsp[0].str), "replication") == 0)
23393 						(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(TRUE));
23394 					else if (strcmp((yyvsp[0].str), "noreplication") == 0)
23395 						(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(FALSE));
23396 					else if (strcmp((yyvsp[0].str), "createdb") == 0)
23397 						(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(TRUE));
23398 					else if (strcmp((yyvsp[0].str), "nocreatedb") == 0)
23399 						(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(FALSE));
23400 					else if (strcmp((yyvsp[0].str), "login") == 0)
23401 						(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(TRUE));
23402 					else if (strcmp((yyvsp[0].str), "nologin") == 0)
23403 						(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(FALSE));
23404 					else if (strcmp((yyvsp[0].str), "bypassrls") == 0)
23405 						(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(TRUE));
23406 					else if (strcmp((yyvsp[0].str), "nobypassrls") == 0)
23407 						(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(FALSE));
23408 					else if (strcmp((yyvsp[0].str), "noinherit") == 0)
23409 					{
23410 						/*
23411 						 * Note that INHERIT is a keyword, so it's handled by main parser, but
23412 						 * NOINHERIT is handled here.
23413 						 */
23414 						(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(FALSE));
23415 					}
23416 					else
23417 						ereport(ERROR,
23418 								(errcode(ERRCODE_SYNTAX_ERROR),
23419 								 errmsg("unrecognized role option \"%s\"", (yyvsp[0].str)),
23420 									 parser_errposition((yylsp[0]))));
23421 				}
23422 #line 23423 "gram.c" /* yacc.c:1652  */
23423     break;
23424 
23425   case 148:
23426 #line 1010 "gram.y" /* yacc.c:1652  */
23427     { (yyval.defelt) = (yyvsp[0].defelt); }
23428 #line 23429 "gram.c" /* yacc.c:1652  */
23429     break;
23430 
23431   case 149:
23432 #line 1013 "gram.y" /* yacc.c:1652  */
23433     {
23434 					(yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[0].ival)));
23435 				}
23436 #line 23437 "gram.c" /* yacc.c:1652  */
23437     break;
23438 
23439   case 150:
23440 #line 1017 "gram.y" /* yacc.c:1652  */
23441     {
23442 					(yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[0].list));
23443 				}
23444 #line 23445 "gram.c" /* yacc.c:1652  */
23445     break;
23446 
23447   case 151:
23448 #line 1021 "gram.y" /* yacc.c:1652  */
23449     {
23450 					(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list));
23451 				}
23452 #line 23453 "gram.c" /* yacc.c:1652  */
23453     break;
23454 
23455   case 152:
23456 #line 1025 "gram.y" /* yacc.c:1652  */
23457     {
23458 					(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list));
23459 				}
23460 #line 23461 "gram.c" /* yacc.c:1652  */
23461     break;
23462 
23463   case 153:
23464 #line 1029 "gram.y" /* yacc.c:1652  */
23465     {
23466 					(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list));
23467 				}
23468 #line 23469 "gram.c" /* yacc.c:1652  */
23469     break;
23470 
23471   case 154:
23472 #line 1043 "gram.y" /* yacc.c:1652  */
23473     {
23474 					CreateRoleStmt *n = makeNode(CreateRoleStmt);
23475 					n->stmt_type = ROLESTMT_USER;
23476 					n->role = (yyvsp[-2].str);
23477 					n->options = (yyvsp[0].list);
23478 					(yyval.node) = (Node *)n;
23479 				}
23480 #line 23481 "gram.c" /* yacc.c:1652  */
23481     break;
23482 
23483   case 155:
23484 #line 1061 "gram.y" /* yacc.c:1652  */
23485     {
23486 					AlterRoleStmt *n = makeNode(AlterRoleStmt);
23487 					n->role = (yyvsp[-2].node);
23488 					n->action = +1;	/* add, if there are members */
23489 					n->options = (yyvsp[0].list);
23490 					(yyval.node) = (Node *)n;
23491 				 }
23492 #line 23493 "gram.c" /* yacc.c:1652  */
23493     break;
23494 
23495   case 156:
23496 #line 1071 "gram.y" /* yacc.c:1652  */
23497     { (yyval.str) = NULL; }
23498 #line 23499 "gram.c" /* yacc.c:1652  */
23499     break;
23500 
23501   case 157:
23502 #line 1072 "gram.y" /* yacc.c:1652  */
23503     { (yyval.str) = (yyvsp[0].str); }
23504 #line 23505 "gram.c" /* yacc.c:1652  */
23505     break;
23506 
23507   case 158:
23508 #line 1077 "gram.y" /* yacc.c:1652  */
23509     {
23510 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
23511 					n->role = (yyvsp[-2].node);
23512 					n->database = (yyvsp[-1].str);
23513 					n->setstmt = (yyvsp[0].vsetstmt);
23514 					(yyval.node) = (Node *)n;
23515 				}
23516 #line 23517 "gram.c" /* yacc.c:1652  */
23517     break;
23518 
23519   case 159:
23520 #line 1085 "gram.y" /* yacc.c:1652  */
23521     {
23522 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
23523 					n->role = NULL;
23524 					n->database = (yyvsp[-1].str);
23525 					n->setstmt = (yyvsp[0].vsetstmt);
23526 					(yyval.node) = (Node *)n;
23527 				}
23528 #line 23529 "gram.c" /* yacc.c:1652  */
23529     break;
23530 
23531   case 160:
23532 #line 1103 "gram.y" /* yacc.c:1652  */
23533     {
23534 					AlterRoleStmt *n = makeNode(AlterRoleStmt);
23535 					n->role = (yyvsp[-2].node);
23536 					n->action = +1;	/* add, if there are members */
23537 					n->options = (yyvsp[0].list);
23538 					(yyval.node) = (Node *)n;
23539 				 }
23540 #line 23541 "gram.c" /* yacc.c:1652  */
23541     break;
23542 
23543   case 161:
23544 #line 1115 "gram.y" /* yacc.c:1652  */
23545     {
23546 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
23547 					n->role = (yyvsp[-2].node);
23548 					n->database = (yyvsp[-1].str);
23549 					n->setstmt = (yyvsp[0].vsetstmt);
23550 					(yyval.node) = (Node *)n;
23551 				}
23552 #line 23553 "gram.c" /* yacc.c:1652  */
23553     break;
23554 
23555   case 162:
23556 #line 1123 "gram.y" /* yacc.c:1652  */
23557     {
23558 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
23559 					n->role = NULL;
23560 					n->database = (yyvsp[-1].str);
23561 					n->setstmt = (yyvsp[0].vsetstmt);
23562 					(yyval.node) = (Node *)n;
23563 				}
23564 #line 23565 "gram.c" /* yacc.c:1652  */
23565     break;
23566 
23567   case 163:
23568 #line 1144 "gram.y" /* yacc.c:1652  */
23569     {
23570 					DropRoleStmt *n = makeNode(DropRoleStmt);
23571 					n->missing_ok = FALSE;
23572 					n->roles = (yyvsp[0].list);
23573 					(yyval.node) = (Node *)n;
23574 				}
23575 #line 23576 "gram.c" /* yacc.c:1652  */
23576     break;
23577 
23578   case 164:
23579 #line 1151 "gram.y" /* yacc.c:1652  */
23580     {
23581 					DropRoleStmt *n = makeNode(DropRoleStmt);
23582 					n->missing_ok = TRUE;
23583 					n->roles = (yyvsp[0].list);
23584 					(yyval.node) = (Node *)n;
23585 				}
23586 #line 23587 "gram.c" /* yacc.c:1652  */
23587     break;
23588 
23589   case 165:
23590 #line 1168 "gram.y" /* yacc.c:1652  */
23591     {
23592 					DropRoleStmt *n = makeNode(DropRoleStmt);
23593 					n->missing_ok = FALSE;
23594 					n->roles = (yyvsp[0].list);
23595 					(yyval.node) = (Node *)n;
23596 				}
23597 #line 23598 "gram.c" /* yacc.c:1652  */
23598     break;
23599 
23600   case 166:
23601 #line 1175 "gram.y" /* yacc.c:1652  */
23602     {
23603 					DropRoleStmt *n = makeNode(DropRoleStmt);
23604 					n->roles = (yyvsp[0].list);
23605 					n->missing_ok = TRUE;
23606 					(yyval.node) = (Node *)n;
23607 				}
23608 #line 23609 "gram.c" /* yacc.c:1652  */
23609     break;
23610 
23611   case 167:
23612 #line 1192 "gram.y" /* yacc.c:1652  */
23613     {
23614 					CreateRoleStmt *n = makeNode(CreateRoleStmt);
23615 					n->stmt_type = ROLESTMT_GROUP;
23616 					n->role = (yyvsp[-2].str);
23617 					n->options = (yyvsp[0].list);
23618 					(yyval.node) = (Node *)n;
23619 				}
23620 #line 23621 "gram.c" /* yacc.c:1652  */
23621     break;
23622 
23623   case 168:
23624 #line 1210 "gram.y" /* yacc.c:1652  */
23625     {
23626 					AlterRoleStmt *n = makeNode(AlterRoleStmt);
23627 					n->role = (yyvsp[-3].node);
23628 					n->action = (yyvsp[-2].ival);
23629 					n->options = list_make1(makeDefElem("rolemembers",
23630 														(Node *)(yyvsp[0].list)));
23631 					(yyval.node) = (Node *)n;
23632 				}
23633 #line 23634 "gram.c" /* yacc.c:1652  */
23634     break;
23635 
23636   case 169:
23637 #line 1220 "gram.y" /* yacc.c:1652  */
23638     { (yyval.ival) = +1; }
23639 #line 23640 "gram.c" /* yacc.c:1652  */
23640     break;
23641 
23642   case 170:
23643 #line 1221 "gram.y" /* yacc.c:1652  */
23644     { (yyval.ival) = -1; }
23645 #line 23646 "gram.c" /* yacc.c:1652  */
23646     break;
23647 
23648   case 171:
23649 #line 1234 "gram.y" /* yacc.c:1652  */
23650     {
23651 					DropRoleStmt *n = makeNode(DropRoleStmt);
23652 					n->missing_ok = FALSE;
23653 					n->roles = (yyvsp[0].list);
23654 					(yyval.node) = (Node *)n;
23655 				}
23656 #line 23657 "gram.c" /* yacc.c:1652  */
23657     break;
23658 
23659   case 172:
23660 #line 1241 "gram.y" /* yacc.c:1652  */
23661     {
23662 					DropRoleStmt *n = makeNode(DropRoleStmt);
23663 					n->missing_ok = TRUE;
23664 					n->roles = (yyvsp[0].list);
23665 					(yyval.node) = (Node *)n;
23666 				}
23667 #line 23668 "gram.c" /* yacc.c:1652  */
23668     break;
23669 
23670   case 173:
23671 #line 1258 "gram.y" /* yacc.c:1652  */
23672     {
23673 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
23674 					/* One can omit the schema name or the authorization id. */
23675 					n->schemaname = (yyvsp[-3].str);
23676 					n->authrole = (yyvsp[-1].node);
23677 					n->schemaElts = (yyvsp[0].list);
23678 					n->if_not_exists = false;
23679 					(yyval.node) = (Node *)n;
23680 				}
23681 #line 23682 "gram.c" /* yacc.c:1652  */
23682     break;
23683 
23684   case 174:
23685 #line 1268 "gram.y" /* yacc.c:1652  */
23686     {
23687 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
23688 					/* ...but not both */
23689 					n->schemaname = (yyvsp[-1].str);
23690 					n->authrole = NULL;
23691 					n->schemaElts = (yyvsp[0].list);
23692 					n->if_not_exists = false;
23693 					(yyval.node) = (Node *)n;
23694 				}
23695 #line 23696 "gram.c" /* yacc.c:1652  */
23696     break;
23697 
23698   case 175:
23699 #line 1278 "gram.y" /* yacc.c:1652  */
23700     {
23701 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
23702 					/* schema name can be omitted here, too */
23703 					n->schemaname = (yyvsp[-3].str);
23704 					n->authrole = (yyvsp[-1].node);
23705 					if ((yyvsp[0].list) != NIL)
23706 						ereport(ERROR,
23707 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
23708 								 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
23709 								 parser_errposition((yylsp[0]))));
23710 					n->schemaElts = (yyvsp[0].list);
23711 					n->if_not_exists = true;
23712 					(yyval.node) = (Node *)n;
23713 				}
23714 #line 23715 "gram.c" /* yacc.c:1652  */
23715     break;
23716 
23717   case 176:
23718 #line 1293 "gram.y" /* yacc.c:1652  */
23719     {
23720 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
23721 					/* ...but not here */
23722 					n->schemaname = (yyvsp[-1].str);
23723 					n->authrole = NULL;
23724 					if ((yyvsp[0].list) != NIL)
23725 						ereport(ERROR,
23726 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
23727 								 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
23728 								 parser_errposition((yylsp[0]))));
23729 					n->schemaElts = (yyvsp[0].list);
23730 					n->if_not_exists = true;
23731 					(yyval.node) = (Node *)n;
23732 				}
23733 #line 23734 "gram.c" /* yacc.c:1652  */
23734     break;
23735 
23736   case 177:
23737 #line 1310 "gram.y" /* yacc.c:1652  */
23738     { (yyval.str) = (yyvsp[0].str); }
23739 #line 23740 "gram.c" /* yacc.c:1652  */
23740     break;
23741 
23742   case 178:
23743 #line 1311 "gram.y" /* yacc.c:1652  */
23744     { (yyval.str) = NULL; }
23745 #line 23746 "gram.c" /* yacc.c:1652  */
23746     break;
23747 
23748   case 179:
23749 #line 1316 "gram.y" /* yacc.c:1652  */
23750     {
23751 					if ((yyloc) < 0)			/* see comments for YYLLOC_DEFAULT */
23752 						(yyloc) = (yylsp[0]);
23753 					(yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node));
23754 				}
23755 #line 23756 "gram.c" /* yacc.c:1652  */
23756     break;
23757 
23758   case 180:
23759 #line 1322 "gram.y" /* yacc.c:1652  */
23760     { (yyval.list) = NIL; }
23761 #line 23762 "gram.c" /* yacc.c:1652  */
23762     break;
23763 
23764   case 187:
23765 #line 1350 "gram.y" /* yacc.c:1652  */
23766     {
23767 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
23768 					n->is_local = false;
23769 					(yyval.node) = (Node *) n;
23770 				}
23771 #line 23772 "gram.c" /* yacc.c:1652  */
23772     break;
23773 
23774   case 188:
23775 #line 1356 "gram.y" /* yacc.c:1652  */
23776     {
23777 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
23778 					n->is_local = true;
23779 					(yyval.node) = (Node *) n;
23780 				}
23781 #line 23782 "gram.c" /* yacc.c:1652  */
23782     break;
23783 
23784   case 189:
23785 #line 1362 "gram.y" /* yacc.c:1652  */
23786     {
23787 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
23788 					n->is_local = false;
23789 					(yyval.node) = (Node *) n;
23790 				}
23791 #line 23792 "gram.c" /* yacc.c:1652  */
23792     break;
23793 
23794   case 190:
23795 #line 1371 "gram.y" /* yacc.c:1652  */
23796     {
23797 					VariableSetStmt *n = makeNode(VariableSetStmt);
23798 					n->kind = VAR_SET_MULTI;
23799 					n->name = "TRANSACTION";
23800 					n->args = (yyvsp[0].list);
23801 					(yyval.vsetstmt) = n;
23802 				}
23803 #line 23804 "gram.c" /* yacc.c:1652  */
23804     break;
23805 
23806   case 191:
23807 #line 1379 "gram.y" /* yacc.c:1652  */
23808     {
23809 					VariableSetStmt *n = makeNode(VariableSetStmt);
23810 					n->kind = VAR_SET_MULTI;
23811 					n->name = "SESSION CHARACTERISTICS";
23812 					n->args = (yyvsp[0].list);
23813 					(yyval.vsetstmt) = n;
23814 				}
23815 #line 23816 "gram.c" /* yacc.c:1652  */
23816     break;
23817 
23818   case 193:
23819 #line 1391 "gram.y" /* yacc.c:1652  */
23820     {
23821 					VariableSetStmt *n = makeNode(VariableSetStmt);
23822 					n->kind = VAR_SET_VALUE;
23823 					n->name = (yyvsp[-2].str);
23824 					n->args = (yyvsp[0].list);
23825 					(yyval.vsetstmt) = n;
23826 				}
23827 #line 23828 "gram.c" /* yacc.c:1652  */
23828     break;
23829 
23830   case 194:
23831 #line 1399 "gram.y" /* yacc.c:1652  */
23832     {
23833 					VariableSetStmt *n = makeNode(VariableSetStmt);
23834 					n->kind = VAR_SET_VALUE;
23835 					n->name = (yyvsp[-2].str);
23836 					n->args = (yyvsp[0].list);
23837 					(yyval.vsetstmt) = n;
23838 				}
23839 #line 23840 "gram.c" /* yacc.c:1652  */
23840     break;
23841 
23842   case 195:
23843 #line 1407 "gram.y" /* yacc.c:1652  */
23844     {
23845 					VariableSetStmt *n = makeNode(VariableSetStmt);
23846 					n->kind = VAR_SET_DEFAULT;
23847 					n->name = (yyvsp[-2].str);
23848 					(yyval.vsetstmt) = n;
23849 				}
23850 #line 23851 "gram.c" /* yacc.c:1652  */
23851     break;
23852 
23853   case 196:
23854 #line 1414 "gram.y" /* yacc.c:1652  */
23855     {
23856 					VariableSetStmt *n = makeNode(VariableSetStmt);
23857 					n->kind = VAR_SET_DEFAULT;
23858 					n->name = (yyvsp[-2].str);
23859 					(yyval.vsetstmt) = n;
23860 				}
23861 #line 23862 "gram.c" /* yacc.c:1652  */
23862     break;
23863 
23864   case 197:
23865 #line 1423 "gram.y" /* yacc.c:1652  */
23866     {(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
23867 #line 23868 "gram.c" /* yacc.c:1652  */
23868     break;
23869 
23870   case 198:
23871 #line 1425 "gram.y" /* yacc.c:1652  */
23872     {
23873 					VariableSetStmt *n = makeNode(VariableSetStmt);
23874 					n->kind = VAR_SET_CURRENT;
23875 					n->name = (yyvsp[-2].str);
23876 					(yyval.vsetstmt) = n;
23877 				}
23878 #line 23879 "gram.c" /* yacc.c:1652  */
23879     break;
23880 
23881   case 199:
23882 #line 1433 "gram.y" /* yacc.c:1652  */
23883     {
23884 					VariableSetStmt *n = makeNode(VariableSetStmt);
23885 					n->kind = VAR_SET_VALUE;
23886 					n->name = "timezone";
23887 					if ((yyvsp[0].node) != NULL)
23888 						n->args = list_make1((yyvsp[0].node));
23889 					else
23890 						n->kind = VAR_SET_DEFAULT;
23891 					(yyval.vsetstmt) = n;
23892 				}
23893 #line 23894 "gram.c" /* yacc.c:1652  */
23894     break;
23895 
23896   case 200:
23897 #line 1444 "gram.y" /* yacc.c:1652  */
23898     {
23899 					ereport(ERROR,
23900 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
23901 							 errmsg("current database cannot be changed"),
23902 							 parser_errposition((yylsp[0]))));
23903 					(yyval.vsetstmt) = NULL; /*not reached*/
23904 				}
23905 #line 23906 "gram.c" /* yacc.c:1652  */
23906     break;
23907 
23908   case 201:
23909 #line 1452 "gram.y" /* yacc.c:1652  */
23910     {
23911 					VariableSetStmt *n = makeNode(VariableSetStmt);
23912 					n->kind = VAR_SET_VALUE;
23913 					n->name = "search_path";
23914 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
23915 					(yyval.vsetstmt) = n;
23916 				}
23917 #line 23918 "gram.c" /* yacc.c:1652  */
23918     break;
23919 
23920   case 202:
23921 #line 1460 "gram.y" /* yacc.c:1652  */
23922     {
23923 					VariableSetStmt *n = makeNode(VariableSetStmt);
23924 					n->kind = VAR_SET_VALUE;
23925 					n->name = "client_encoding";
23926 					if ((yyvsp[0].str) != NULL)
23927 						n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
23928 					else
23929 						n->kind = VAR_SET_DEFAULT;
23930 					(yyval.vsetstmt) = n;
23931 				}
23932 #line 23933 "gram.c" /* yacc.c:1652  */
23933     break;
23934 
23935   case 203:
23936 #line 1471 "gram.y" /* yacc.c:1652  */
23937     {
23938 					VariableSetStmt *n = makeNode(VariableSetStmt);
23939 					n->kind = VAR_SET_VALUE;
23940 					n->name = "role";
23941 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
23942 					(yyval.vsetstmt) = n;
23943 				}
23944 #line 23945 "gram.c" /* yacc.c:1652  */
23945     break;
23946 
23947   case 204:
23948 #line 1479 "gram.y" /* yacc.c:1652  */
23949     {
23950 					VariableSetStmt *n = makeNode(VariableSetStmt);
23951 					n->kind = VAR_SET_VALUE;
23952 					n->name = "session_authorization";
23953 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
23954 					(yyval.vsetstmt) = n;
23955 				}
23956 #line 23957 "gram.c" /* yacc.c:1652  */
23957     break;
23958 
23959   case 205:
23960 #line 1487 "gram.y" /* yacc.c:1652  */
23961     {
23962 					VariableSetStmt *n = makeNode(VariableSetStmt);
23963 					n->kind = VAR_SET_DEFAULT;
23964 					n->name = "session_authorization";
23965 					(yyval.vsetstmt) = n;
23966 				}
23967 #line 23968 "gram.c" /* yacc.c:1652  */
23968     break;
23969 
23970   case 206:
23971 #line 1494 "gram.y" /* yacc.c:1652  */
23972     {
23973 					VariableSetStmt *n = makeNode(VariableSetStmt);
23974 					n->kind = VAR_SET_VALUE;
23975 					n->name = "xmloption";
23976 					n->args = list_make1(makeStringConst((yyvsp[0].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[0])));
23977 					(yyval.vsetstmt) = n;
23978 				}
23979 #line 23980 "gram.c" /* yacc.c:1652  */
23980     break;
23981 
23982   case 207:
23983 #line 1503 "gram.y" /* yacc.c:1652  */
23984     {
23985 					VariableSetStmt *n = makeNode(VariableSetStmt);
23986 					n->kind = VAR_SET_MULTI;
23987 					n->name = "TRANSACTION SNAPSHOT";
23988 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
23989 					(yyval.vsetstmt) = n;
23990 				}
23991 #line 23992 "gram.c" /* yacc.c:1652  */
23992     break;
23993 
23994   case 208:
23995 #line 1512 "gram.y" /* yacc.c:1652  */
23996     { (yyval.str) = (yyvsp[0].str); }
23997 #line 23998 "gram.c" /* yacc.c:1652  */
23998     break;
23999 
24000   case 209:
24001 #line 1514 "gram.y" /* yacc.c:1652  */
24002     { (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
24003 #line 24004 "gram.c" /* yacc.c:1652  */
24004     break;
24005 
24006   case 210:
24007 #line 1517 "gram.y" /* yacc.c:1652  */
24008     { (yyval.list) = list_make1((yyvsp[0].node)); }
24009 #line 24010 "gram.c" /* yacc.c:1652  */
24010     break;
24011 
24012   case 211:
24013 #line 1518 "gram.y" /* yacc.c:1652  */
24014     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
24015 #line 24016 "gram.c" /* yacc.c:1652  */
24016     break;
24017 
24018   case 212:
24019 #line 1522 "gram.y" /* yacc.c:1652  */
24020     { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
24021 #line 24022 "gram.c" /* yacc.c:1652  */
24022     break;
24023 
24024   case 213:
24025 #line 1524 "gram.y" /* yacc.c:1652  */
24026     { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
24027 #line 24028 "gram.c" /* yacc.c:1652  */
24028     break;
24029 
24030   case 214:
24031 #line 1527 "gram.y" /* yacc.c:1652  */
24032     { (yyval.str) = "read uncommitted"; }
24033 #line 24034 "gram.c" /* yacc.c:1652  */
24034     break;
24035 
24036   case 215:
24037 #line 1528 "gram.y" /* yacc.c:1652  */
24038     { (yyval.str) = "read committed"; }
24039 #line 24040 "gram.c" /* yacc.c:1652  */
24040     break;
24041 
24042   case 216:
24043 #line 1529 "gram.y" /* yacc.c:1652  */
24044     { (yyval.str) = "repeatable read"; }
24045 #line 24046 "gram.c" /* yacc.c:1652  */
24046     break;
24047 
24048   case 217:
24049 #line 1530 "gram.y" /* yacc.c:1652  */
24050     { (yyval.str) = "serializable"; }
24051 #line 24052 "gram.c" /* yacc.c:1652  */
24052     break;
24053 
24054   case 218:
24055 #line 1534 "gram.y" /* yacc.c:1652  */
24056     { (yyval.str) = "true"; }
24057 #line 24058 "gram.c" /* yacc.c:1652  */
24058     break;
24059 
24060   case 219:
24061 #line 1535 "gram.y" /* yacc.c:1652  */
24062     { (yyval.str) = "false"; }
24063 #line 24064 "gram.c" /* yacc.c:1652  */
24064     break;
24065 
24066   case 220:
24067 #line 1536 "gram.y" /* yacc.c:1652  */
24068     { (yyval.str) = "on"; }
24069 #line 24070 "gram.c" /* yacc.c:1652  */
24070     break;
24071 
24072   case 221:
24073 #line 1542 "gram.y" /* yacc.c:1652  */
24074     { (yyval.str) = (yyvsp[0].str); }
24075 #line 24076 "gram.c" /* yacc.c:1652  */
24076     break;
24077 
24078   case 222:
24079 #line 1555 "gram.y" /* yacc.c:1652  */
24080     {
24081 					(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
24082 				}
24083 #line 24084 "gram.c" /* yacc.c:1652  */
24084     break;
24085 
24086   case 223:
24087 #line 1559 "gram.y" /* yacc.c:1652  */
24088     {
24089 					(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
24090 				}
24091 #line 24092 "gram.c" /* yacc.c:1652  */
24092     break;
24093 
24094   case 224:
24095 #line 1563 "gram.y" /* yacc.c:1652  */
24096     {
24097 					TypeName *t = (yyvsp[-2].typnam);
24098 					if ((yyvsp[0].list) != NIL)
24099 					{
24100 						A_Const *n = (A_Const *) linitial((yyvsp[0].list));
24101 						if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
24102 							ereport(ERROR,
24103 									(errcode(ERRCODE_SYNTAX_ERROR),
24104 									 errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
24105 									 parser_errposition((yylsp[0]))));
24106 					}
24107 					t->typmods = (yyvsp[0].list);
24108 					(yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
24109 				}
24110 #line 24111 "gram.c" /* yacc.c:1652  */
24111     break;
24112 
24113   case 225:
24114 #line 1578 "gram.y" /* yacc.c:1652  */
24115     {
24116 					TypeName *t = (yyvsp[-4].typnam);
24117 					t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
24118 											makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
24119 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
24120 				}
24121 #line 24122 "gram.c" /* yacc.c:1652  */
24122     break;
24123 
24124   case 226:
24125 #line 1584 "gram.y" /* yacc.c:1652  */
24126     { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
24127 #line 24128 "gram.c" /* yacc.c:1652  */
24128     break;
24129 
24130   case 227:
24131 #line 1585 "gram.y" /* yacc.c:1652  */
24132     { (yyval.node) = NULL; }
24133 #line 24134 "gram.c" /* yacc.c:1652  */
24134     break;
24135 
24136   case 228:
24137 #line 1586 "gram.y" /* yacc.c:1652  */
24138     { (yyval.node) = NULL; }
24139 #line 24140 "gram.c" /* yacc.c:1652  */
24140     break;
24141 
24142   case 229:
24143 #line 1590 "gram.y" /* yacc.c:1652  */
24144     { (yyval.str) = (yyvsp[0].str); }
24145 #line 24146 "gram.c" /* yacc.c:1652  */
24146     break;
24147 
24148   case 230:
24149 #line 1591 "gram.y" /* yacc.c:1652  */
24150     { (yyval.str) = NULL; }
24151 #line 24152 "gram.c" /* yacc.c:1652  */
24152     break;
24153 
24154   case 231:
24155 #line 1592 "gram.y" /* yacc.c:1652  */
24156     { (yyval.str) = NULL; }
24157 #line 24158 "gram.c" /* yacc.c:1652  */
24158     break;
24159 
24160   case 232:
24161 #line 1596 "gram.y" /* yacc.c:1652  */
24162     { (yyval.str) = (yyvsp[0].str); }
24163 #line 24164 "gram.c" /* yacc.c:1652  */
24164     break;
24165 
24166   case 233:
24167 #line 1597 "gram.y" /* yacc.c:1652  */
24168     { (yyval.str) = (yyvsp[0].str); }
24169 #line 24170 "gram.c" /* yacc.c:1652  */
24170     break;
24171 
24172   case 234:
24173 #line 1601 "gram.y" /* yacc.c:1652  */
24174     { (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
24175 #line 24176 "gram.c" /* yacc.c:1652  */
24176     break;
24177 
24178   case 235:
24179 #line 1605 "gram.y" /* yacc.c:1652  */
24180     { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
24181 #line 24182 "gram.c" /* yacc.c:1652  */
24182     break;
24183 
24184   case 236:
24185 #line 1607 "gram.y" /* yacc.c:1652  */
24186     {
24187 					VariableSetStmt *n = makeNode(VariableSetStmt);
24188 					n->kind = VAR_RESET;
24189 					n->name = "timezone";
24190 					(yyval.vsetstmt) = n;
24191 				}
24192 #line 24193 "gram.c" /* yacc.c:1652  */
24193     break;
24194 
24195   case 237:
24196 #line 1614 "gram.y" /* yacc.c:1652  */
24197     {
24198 					VariableSetStmt *n = makeNode(VariableSetStmt);
24199 					n->kind = VAR_RESET;
24200 					n->name = "transaction_isolation";
24201 					(yyval.vsetstmt) = n;
24202 				}
24203 #line 24204 "gram.c" /* yacc.c:1652  */
24204     break;
24205 
24206   case 238:
24207 #line 1621 "gram.y" /* yacc.c:1652  */
24208     {
24209 					VariableSetStmt *n = makeNode(VariableSetStmt);
24210 					n->kind = VAR_RESET;
24211 					n->name = "session_authorization";
24212 					(yyval.vsetstmt) = n;
24213 				}
24214 #line 24215 "gram.c" /* yacc.c:1652  */
24215     break;
24216 
24217   case 239:
24218 #line 1631 "gram.y" /* yacc.c:1652  */
24219     {
24220 					VariableSetStmt *n = makeNode(VariableSetStmt);
24221 					n->kind = VAR_RESET;
24222 					n->name = (yyvsp[0].str);
24223 					(yyval.vsetstmt) = n;
24224 				}
24225 #line 24226 "gram.c" /* yacc.c:1652  */
24226     break;
24227 
24228   case 240:
24229 #line 1638 "gram.y" /* yacc.c:1652  */
24230     {
24231 					VariableSetStmt *n = makeNode(VariableSetStmt);
24232 					n->kind = VAR_RESET_ALL;
24233 					(yyval.vsetstmt) = n;
24234 				}
24235 #line 24236 "gram.c" /* yacc.c:1652  */
24236     break;
24237 
24238   case 241:
24239 #line 1647 "gram.y" /* yacc.c:1652  */
24240     { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
24241 #line 24242 "gram.c" /* yacc.c:1652  */
24242     break;
24243 
24244   case 242:
24245 #line 1648 "gram.y" /* yacc.c:1652  */
24246     { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
24247 #line 24248 "gram.c" /* yacc.c:1652  */
24248     break;
24249 
24250   case 243:
24251 #line 1653 "gram.y" /* yacc.c:1652  */
24252     { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
24253 #line 24254 "gram.c" /* yacc.c:1652  */
24254     break;
24255 
24256   case 244:
24257 #line 1654 "gram.y" /* yacc.c:1652  */
24258     { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
24259 #line 24260 "gram.c" /* yacc.c:1652  */
24260     break;
24261 
24262   case 245:
24263 #line 1660 "gram.y" /* yacc.c:1652  */
24264     {
24265 					VariableShowStmt *n = makeNode(VariableShowStmt);
24266 					n->name = (yyvsp[0].str);
24267 					(yyval.node) = (Node *) n;
24268 				}
24269 #line 24270 "gram.c" /* yacc.c:1652  */
24270     break;
24271 
24272   case 246:
24273 #line 1666 "gram.y" /* yacc.c:1652  */
24274     {
24275 					VariableShowStmt *n = makeNode(VariableShowStmt);
24276 					n->name = "timezone";
24277 					(yyval.node) = (Node *) n;
24278 				}
24279 #line 24280 "gram.c" /* yacc.c:1652  */
24280     break;
24281 
24282   case 247:
24283 #line 1672 "gram.y" /* yacc.c:1652  */
24284     {
24285 					VariableShowStmt *n = makeNode(VariableShowStmt);
24286 					n->name = "transaction_isolation";
24287 					(yyval.node) = (Node *) n;
24288 				}
24289 #line 24290 "gram.c" /* yacc.c:1652  */
24290     break;
24291 
24292   case 248:
24293 #line 1678 "gram.y" /* yacc.c:1652  */
24294     {
24295 					VariableShowStmt *n = makeNode(VariableShowStmt);
24296 					n->name = "session_authorization";
24297 					(yyval.node) = (Node *) n;
24298 				}
24299 #line 24300 "gram.c" /* yacc.c:1652  */
24300     break;
24301 
24302   case 249:
24303 #line 1684 "gram.y" /* yacc.c:1652  */
24304     {
24305 					VariableShowStmt *n = makeNode(VariableShowStmt);
24306 					n->name = "all";
24307 					(yyval.node) = (Node *) n;
24308 				}
24309 #line 24310 "gram.c" /* yacc.c:1652  */
24310     break;
24311 
24312   case 250:
24313 #line 1694 "gram.y" /* yacc.c:1652  */
24314     {
24315 					ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
24316 					n->constraints = (yyvsp[-1].list);
24317 					n->deferred = (yyvsp[0].boolean);
24318 					(yyval.node) = (Node *) n;
24319 				}
24320 #line 24321 "gram.c" /* yacc.c:1652  */
24321     break;
24322 
24323   case 251:
24324 #line 1703 "gram.y" /* yacc.c:1652  */
24325     { (yyval.list) = NIL; }
24326 #line 24327 "gram.c" /* yacc.c:1652  */
24327     break;
24328 
24329   case 252:
24330 #line 1704 "gram.y" /* yacc.c:1652  */
24331     { (yyval.list) = (yyvsp[0].list); }
24332 #line 24333 "gram.c" /* yacc.c:1652  */
24333     break;
24334 
24335   case 253:
24336 #line 1708 "gram.y" /* yacc.c:1652  */
24337     { (yyval.boolean) = TRUE; }
24338 #line 24339 "gram.c" /* yacc.c:1652  */
24339     break;
24340 
24341   case 254:
24342 #line 1709 "gram.y" /* yacc.c:1652  */
24343     { (yyval.boolean) = FALSE; }
24344 #line 24345 "gram.c" /* yacc.c:1652  */
24345     break;
24346 
24347   case 255:
24348 #line 1718 "gram.y" /* yacc.c:1652  */
24349     {
24350 					CheckPointStmt *n = makeNode(CheckPointStmt);
24351 					(yyval.node) = (Node *)n;
24352 				}
24353 #line 24354 "gram.c" /* yacc.c:1652  */
24354     break;
24355 
24356   case 256:
24357 #line 1733 "gram.y" /* yacc.c:1652  */
24358     {
24359 					DiscardStmt *n = makeNode(DiscardStmt);
24360 					n->target = DISCARD_ALL;
24361 					(yyval.node) = (Node *) n;
24362 				}
24363 #line 24364 "gram.c" /* yacc.c:1652  */
24364     break;
24365 
24366   case 257:
24367 #line 1739 "gram.y" /* yacc.c:1652  */
24368     {
24369 					DiscardStmt *n = makeNode(DiscardStmt);
24370 					n->target = DISCARD_TEMP;
24371 					(yyval.node) = (Node *) n;
24372 				}
24373 #line 24374 "gram.c" /* yacc.c:1652  */
24374     break;
24375 
24376   case 258:
24377 #line 1745 "gram.y" /* yacc.c:1652  */
24378     {
24379 					DiscardStmt *n = makeNode(DiscardStmt);
24380 					n->target = DISCARD_TEMP;
24381 					(yyval.node) = (Node *) n;
24382 				}
24383 #line 24384 "gram.c" /* yacc.c:1652  */
24384     break;
24385 
24386   case 259:
24387 #line 1751 "gram.y" /* yacc.c:1652  */
24388     {
24389 					DiscardStmt *n = makeNode(DiscardStmt);
24390 					n->target = DISCARD_PLANS;
24391 					(yyval.node) = (Node *) n;
24392 				}
24393 #line 24394 "gram.c" /* yacc.c:1652  */
24394     break;
24395 
24396   case 260:
24397 #line 1757 "gram.y" /* yacc.c:1652  */
24398     {
24399 					DiscardStmt *n = makeNode(DiscardStmt);
24400 					n->target = DISCARD_SEQUENCES;
24401 					(yyval.node) = (Node *) n;
24402 				}
24403 #line 24404 "gram.c" /* yacc.c:1652  */
24404     break;
24405 
24406   case 261:
24407 #line 1776 "gram.y" /* yacc.c:1652  */
24408     {
24409 					AlterTableStmt *n = makeNode(AlterTableStmt);
24410 					n->relation = (yyvsp[-1].range);
24411 					n->cmds = (yyvsp[0].list);
24412 					n->relkind = OBJECT_TABLE;
24413 					n->missing_ok = false;
24414 					(yyval.node) = (Node *)n;
24415 				}
24416 #line 24417 "gram.c" /* yacc.c:1652  */
24417     break;
24418 
24419   case 262:
24420 #line 1785 "gram.y" /* yacc.c:1652  */
24421     {
24422 					AlterTableStmt *n = makeNode(AlterTableStmt);
24423 					n->relation = (yyvsp[-1].range);
24424 					n->cmds = (yyvsp[0].list);
24425 					n->relkind = OBJECT_TABLE;
24426 					n->missing_ok = true;
24427 					(yyval.node) = (Node *)n;
24428 				}
24429 #line 24430 "gram.c" /* yacc.c:1652  */
24430     break;
24431 
24432   case 263:
24433 #line 1794 "gram.y" /* yacc.c:1652  */
24434     {
24435 					AlterTableMoveAllStmt *n =
24436 						makeNode(AlterTableMoveAllStmt);
24437 					n->orig_tablespacename = (yyvsp[-4].str);
24438 					n->objtype = OBJECT_TABLE;
24439 					n->roles = NIL;
24440 					n->new_tablespacename = (yyvsp[-1].str);
24441 					n->nowait = (yyvsp[0].boolean);
24442 					(yyval.node) = (Node *)n;
24443 				}
24444 #line 24445 "gram.c" /* yacc.c:1652  */
24445     break;
24446 
24447   case 264:
24448 #line 1805 "gram.y" /* yacc.c:1652  */
24449     {
24450 					AlterTableMoveAllStmt *n =
24451 						makeNode(AlterTableMoveAllStmt);
24452 					n->orig_tablespacename = (yyvsp[-7].str);
24453 					n->objtype = OBJECT_TABLE;
24454 					n->roles = (yyvsp[-4].list);
24455 					n->new_tablespacename = (yyvsp[-1].str);
24456 					n->nowait = (yyvsp[0].boolean);
24457 					(yyval.node) = (Node *)n;
24458 				}
24459 #line 24460 "gram.c" /* yacc.c:1652  */
24460     break;
24461 
24462   case 265:
24463 #line 1816 "gram.y" /* yacc.c:1652  */
24464     {
24465 					AlterTableStmt *n = makeNode(AlterTableStmt);
24466 					n->relation = (yyvsp[-1].range);
24467 					n->cmds = (yyvsp[0].list);
24468 					n->relkind = OBJECT_INDEX;
24469 					n->missing_ok = false;
24470 					(yyval.node) = (Node *)n;
24471 				}
24472 #line 24473 "gram.c" /* yacc.c:1652  */
24473     break;
24474 
24475   case 266:
24476 #line 1825 "gram.y" /* yacc.c:1652  */
24477     {
24478 					AlterTableStmt *n = makeNode(AlterTableStmt);
24479 					n->relation = (yyvsp[-1].range);
24480 					n->cmds = (yyvsp[0].list);
24481 					n->relkind = OBJECT_INDEX;
24482 					n->missing_ok = true;
24483 					(yyval.node) = (Node *)n;
24484 				}
24485 #line 24486 "gram.c" /* yacc.c:1652  */
24486     break;
24487 
24488   case 267:
24489 #line 1834 "gram.y" /* yacc.c:1652  */
24490     {
24491 					AlterTableMoveAllStmt *n =
24492 						makeNode(AlterTableMoveAllStmt);
24493 					n->orig_tablespacename = (yyvsp[-4].str);
24494 					n->objtype = OBJECT_INDEX;
24495 					n->roles = NIL;
24496 					n->new_tablespacename = (yyvsp[-1].str);
24497 					n->nowait = (yyvsp[0].boolean);
24498 					(yyval.node) = (Node *)n;
24499 				}
24500 #line 24501 "gram.c" /* yacc.c:1652  */
24501     break;
24502 
24503   case 268:
24504 #line 1845 "gram.y" /* yacc.c:1652  */
24505     {
24506 					AlterTableMoveAllStmt *n =
24507 						makeNode(AlterTableMoveAllStmt);
24508 					n->orig_tablespacename = (yyvsp[-7].str);
24509 					n->objtype = OBJECT_INDEX;
24510 					n->roles = (yyvsp[-4].list);
24511 					n->new_tablespacename = (yyvsp[-1].str);
24512 					n->nowait = (yyvsp[0].boolean);
24513 					(yyval.node) = (Node *)n;
24514 				}
24515 #line 24516 "gram.c" /* yacc.c:1652  */
24516     break;
24517 
24518   case 269:
24519 #line 1856 "gram.y" /* yacc.c:1652  */
24520     {
24521 					AlterTableStmt *n = makeNode(AlterTableStmt);
24522 					n->relation = (yyvsp[-1].range);
24523 					n->cmds = (yyvsp[0].list);
24524 					n->relkind = OBJECT_SEQUENCE;
24525 					n->missing_ok = false;
24526 					(yyval.node) = (Node *)n;
24527 				}
24528 #line 24529 "gram.c" /* yacc.c:1652  */
24529     break;
24530 
24531   case 270:
24532 #line 1865 "gram.y" /* yacc.c:1652  */
24533     {
24534 					AlterTableStmt *n = makeNode(AlterTableStmt);
24535 					n->relation = (yyvsp[-1].range);
24536 					n->cmds = (yyvsp[0].list);
24537 					n->relkind = OBJECT_SEQUENCE;
24538 					n->missing_ok = true;
24539 					(yyval.node) = (Node *)n;
24540 				}
24541 #line 24542 "gram.c" /* yacc.c:1652  */
24542     break;
24543 
24544   case 271:
24545 #line 1874 "gram.y" /* yacc.c:1652  */
24546     {
24547 					AlterTableStmt *n = makeNode(AlterTableStmt);
24548 					n->relation = (yyvsp[-1].range);
24549 					n->cmds = (yyvsp[0].list);
24550 					n->relkind = OBJECT_VIEW;
24551 					n->missing_ok = false;
24552 					(yyval.node) = (Node *)n;
24553 				}
24554 #line 24555 "gram.c" /* yacc.c:1652  */
24555     break;
24556 
24557   case 272:
24558 #line 1883 "gram.y" /* yacc.c:1652  */
24559     {
24560 					AlterTableStmt *n = makeNode(AlterTableStmt);
24561 					n->relation = (yyvsp[-1].range);
24562 					n->cmds = (yyvsp[0].list);
24563 					n->relkind = OBJECT_VIEW;
24564 					n->missing_ok = true;
24565 					(yyval.node) = (Node *)n;
24566 				}
24567 #line 24568 "gram.c" /* yacc.c:1652  */
24568     break;
24569 
24570   case 273:
24571 #line 1892 "gram.y" /* yacc.c:1652  */
24572     {
24573 					AlterTableStmt *n = makeNode(AlterTableStmt);
24574 					n->relation = (yyvsp[-1].range);
24575 					n->cmds = (yyvsp[0].list);
24576 					n->relkind = OBJECT_MATVIEW;
24577 					n->missing_ok = false;
24578 					(yyval.node) = (Node *)n;
24579 				}
24580 #line 24581 "gram.c" /* yacc.c:1652  */
24581     break;
24582 
24583   case 274:
24584 #line 1901 "gram.y" /* yacc.c:1652  */
24585     {
24586 					AlterTableStmt *n = makeNode(AlterTableStmt);
24587 					n->relation = (yyvsp[-1].range);
24588 					n->cmds = (yyvsp[0].list);
24589 					n->relkind = OBJECT_MATVIEW;
24590 					n->missing_ok = true;
24591 					(yyval.node) = (Node *)n;
24592 				}
24593 #line 24594 "gram.c" /* yacc.c:1652  */
24594     break;
24595 
24596   case 275:
24597 #line 1910 "gram.y" /* yacc.c:1652  */
24598     {
24599 					AlterTableMoveAllStmt *n =
24600 						makeNode(AlterTableMoveAllStmt);
24601 					n->orig_tablespacename = (yyvsp[-4].str);
24602 					n->objtype = OBJECT_MATVIEW;
24603 					n->roles = NIL;
24604 					n->new_tablespacename = (yyvsp[-1].str);
24605 					n->nowait = (yyvsp[0].boolean);
24606 					(yyval.node) = (Node *)n;
24607 				}
24608 #line 24609 "gram.c" /* yacc.c:1652  */
24609     break;
24610 
24611   case 276:
24612 #line 1921 "gram.y" /* yacc.c:1652  */
24613     {
24614 					AlterTableMoveAllStmt *n =
24615 						makeNode(AlterTableMoveAllStmt);
24616 					n->orig_tablespacename = (yyvsp[-7].str);
24617 					n->objtype = OBJECT_MATVIEW;
24618 					n->roles = (yyvsp[-4].list);
24619 					n->new_tablespacename = (yyvsp[-1].str);
24620 					n->nowait = (yyvsp[0].boolean);
24621 					(yyval.node) = (Node *)n;
24622 				}
24623 #line 24624 "gram.c" /* yacc.c:1652  */
24624     break;
24625 
24626   case 277:
24627 #line 1934 "gram.y" /* yacc.c:1652  */
24628     { (yyval.list) = list_make1((yyvsp[0].node)); }
24629 #line 24630 "gram.c" /* yacc.c:1652  */
24630     break;
24631 
24632   case 278:
24633 #line 1935 "gram.y" /* yacc.c:1652  */
24634     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
24635 #line 24636 "gram.c" /* yacc.c:1652  */
24636     break;
24637 
24638   case 279:
24639 #line 1941 "gram.y" /* yacc.c:1652  */
24640     {
24641 					AlterTableCmd *n = makeNode(AlterTableCmd);
24642 					n->subtype = AT_AddColumn;
24643 					n->def = (yyvsp[0].node);
24644 					n->missing_ok = false;
24645 					(yyval.node) = (Node *)n;
24646 				}
24647 #line 24648 "gram.c" /* yacc.c:1652  */
24648     break;
24649 
24650   case 280:
24651 #line 1950 "gram.y" /* yacc.c:1652  */
24652     {
24653 					AlterTableCmd *n = makeNode(AlterTableCmd);
24654 					n->subtype = AT_AddColumn;
24655 					n->def = (yyvsp[0].node);
24656 					n->missing_ok = true;
24657 					(yyval.node) = (Node *)n;
24658 				}
24659 #line 24660 "gram.c" /* yacc.c:1652  */
24660     break;
24661 
24662   case 281:
24663 #line 1959 "gram.y" /* yacc.c:1652  */
24664     {
24665 					AlterTableCmd *n = makeNode(AlterTableCmd);
24666 					n->subtype = AT_AddColumn;
24667 					n->def = (yyvsp[0].node);
24668 					n->missing_ok = false;
24669 					(yyval.node) = (Node *)n;
24670 				}
24671 #line 24672 "gram.c" /* yacc.c:1652  */
24672     break;
24673 
24674   case 282:
24675 #line 1968 "gram.y" /* yacc.c:1652  */
24676     {
24677 					AlterTableCmd *n = makeNode(AlterTableCmd);
24678 					n->subtype = AT_AddColumn;
24679 					n->def = (yyvsp[0].node);
24680 					n->missing_ok = true;
24681 					(yyval.node) = (Node *)n;
24682 				}
24683 #line 24684 "gram.c" /* yacc.c:1652  */
24684     break;
24685 
24686   case 283:
24687 #line 1977 "gram.y" /* yacc.c:1652  */
24688     {
24689 					AlterTableCmd *n = makeNode(AlterTableCmd);
24690 					n->subtype = AT_ColumnDefault;
24691 					n->name = (yyvsp[-1].str);
24692 					n->def = (yyvsp[0].node);
24693 					(yyval.node) = (Node *)n;
24694 				}
24695 #line 24696 "gram.c" /* yacc.c:1652  */
24696     break;
24697 
24698   case 284:
24699 #line 1986 "gram.y" /* yacc.c:1652  */
24700     {
24701 					AlterTableCmd *n = makeNode(AlterTableCmd);
24702 					n->subtype = AT_DropNotNull;
24703 					n->name = (yyvsp[-3].str);
24704 					(yyval.node) = (Node *)n;
24705 				}
24706 #line 24707 "gram.c" /* yacc.c:1652  */
24707     break;
24708 
24709   case 285:
24710 #line 1994 "gram.y" /* yacc.c:1652  */
24711     {
24712 					AlterTableCmd *n = makeNode(AlterTableCmd);
24713 					n->subtype = AT_SetNotNull;
24714 					n->name = (yyvsp[-3].str);
24715 					(yyval.node) = (Node *)n;
24716 				}
24717 #line 24718 "gram.c" /* yacc.c:1652  */
24718     break;
24719 
24720   case 286:
24721 #line 2002 "gram.y" /* yacc.c:1652  */
24722     {
24723 					AlterTableCmd *n = makeNode(AlterTableCmd);
24724 					n->subtype = AT_SetStatistics;
24725 					n->name = (yyvsp[-3].str);
24726 					n->def = (Node *) makeInteger((yyvsp[0].ival));
24727 					(yyval.node) = (Node *)n;
24728 				}
24729 #line 24730 "gram.c" /* yacc.c:1652  */
24730     break;
24731 
24732   case 287:
24733 #line 2011 "gram.y" /* yacc.c:1652  */
24734     {
24735 					AlterTableCmd *n = makeNode(AlterTableCmd);
24736 					n->subtype = AT_SetOptions;
24737 					n->name = (yyvsp[-2].str);
24738 					n->def = (Node *) (yyvsp[0].list);
24739 					(yyval.node) = (Node *)n;
24740 				}
24741 #line 24742 "gram.c" /* yacc.c:1652  */
24742     break;
24743 
24744   case 288:
24745 #line 2020 "gram.y" /* yacc.c:1652  */
24746     {
24747 					AlterTableCmd *n = makeNode(AlterTableCmd);
24748 					n->subtype = AT_ResetOptions;
24749 					n->name = (yyvsp[-2].str);
24750 					n->def = (Node *) (yyvsp[0].list);
24751 					(yyval.node) = (Node *)n;
24752 				}
24753 #line 24754 "gram.c" /* yacc.c:1652  */
24754     break;
24755 
24756   case 289:
24757 #line 2029 "gram.y" /* yacc.c:1652  */
24758     {
24759 					AlterTableCmd *n = makeNode(AlterTableCmd);
24760 					n->subtype = AT_SetStorage;
24761 					n->name = (yyvsp[-3].str);
24762 					n->def = (Node *) makeString((yyvsp[0].str));
24763 					(yyval.node) = (Node *)n;
24764 				}
24765 #line 24766 "gram.c" /* yacc.c:1652  */
24766     break;
24767 
24768   case 290:
24769 #line 2038 "gram.y" /* yacc.c:1652  */
24770     {
24771 					AlterTableCmd *n = makeNode(AlterTableCmd);
24772 					n->subtype = AT_DropColumn;
24773 					n->name = (yyvsp[-1].str);
24774 					n->behavior = (yyvsp[0].dbehavior);
24775 					n->missing_ok = TRUE;
24776 					(yyval.node) = (Node *)n;
24777 				}
24778 #line 24779 "gram.c" /* yacc.c:1652  */
24779     break;
24780 
24781   case 291:
24782 #line 2048 "gram.y" /* yacc.c:1652  */
24783     {
24784 					AlterTableCmd *n = makeNode(AlterTableCmd);
24785 					n->subtype = AT_DropColumn;
24786 					n->name = (yyvsp[-1].str);
24787 					n->behavior = (yyvsp[0].dbehavior);
24788 					n->missing_ok = FALSE;
24789 					(yyval.node) = (Node *)n;
24790 				}
24791 #line 24792 "gram.c" /* yacc.c:1652  */
24792     break;
24793 
24794   case 292:
24795 #line 2061 "gram.y" /* yacc.c:1652  */
24796     {
24797 					AlterTableCmd *n = makeNode(AlterTableCmd);
24798 					ColumnDef *def = makeNode(ColumnDef);
24799 					n->subtype = AT_AlterColumnType;
24800 					n->name = (yyvsp[-5].str);
24801 					n->def = (Node *) def;
24802 					/* We only use these fields of the ColumnDef node */
24803 					def->typeName = (yyvsp[-2].typnam);
24804 					def->collClause = (CollateClause *) (yyvsp[-1].node);
24805 					def->raw_default = (yyvsp[0].node);
24806 					def->location = (yylsp[-5]);
24807 					(yyval.node) = (Node *)n;
24808 				}
24809 #line 24810 "gram.c" /* yacc.c:1652  */
24810     break;
24811 
24812   case 293:
24813 #line 2076 "gram.y" /* yacc.c:1652  */
24814     {
24815 					AlterTableCmd *n = makeNode(AlterTableCmd);
24816 					n->subtype = AT_AlterColumnGenericOptions;
24817 					n->name = (yyvsp[-1].str);
24818 					n->def = (Node *) (yyvsp[0].list);
24819 					(yyval.node) = (Node *)n;
24820 				}
24821 #line 24822 "gram.c" /* yacc.c:1652  */
24822     break;
24823 
24824   case 294:
24825 #line 2085 "gram.y" /* yacc.c:1652  */
24826     {
24827 					AlterTableCmd *n = makeNode(AlterTableCmd);
24828 					n->subtype = AT_AddConstraint;
24829 					n->def = (yyvsp[0].node);
24830 					(yyval.node) = (Node *)n;
24831 				}
24832 #line 24833 "gram.c" /* yacc.c:1652  */
24833     break;
24834 
24835   case 295:
24836 #line 2093 "gram.y" /* yacc.c:1652  */
24837     {
24838 					AlterTableCmd *n = makeNode(AlterTableCmd);
24839 					Constraint *c = makeNode(Constraint);
24840 					n->subtype = AT_AlterConstraint;
24841 					n->def = (Node *) c;
24842 					c->contype = CONSTR_FOREIGN; /* others not supported, yet */
24843 					c->conname = (yyvsp[-1].str);
24844 					processCASbits((yyvsp[0].ival), (yylsp[0]), "ALTER CONSTRAINT statement",
24845 									&c->deferrable,
24846 									&c->initdeferred,
24847 									NULL, NULL, yyscanner);
24848 					(yyval.node) = (Node *)n;
24849 				}
24850 #line 24851 "gram.c" /* yacc.c:1652  */
24851     break;
24852 
24853   case 296:
24854 #line 2108 "gram.y" /* yacc.c:1652  */
24855     {
24856 					AlterTableCmd *n = makeNode(AlterTableCmd);
24857 					n->subtype = AT_ValidateConstraint;
24858 					n->name = (yyvsp[0].str);
24859 					(yyval.node) = (Node *)n;
24860 				}
24861 #line 24862 "gram.c" /* yacc.c:1652  */
24862     break;
24863 
24864   case 297:
24865 #line 2116 "gram.y" /* yacc.c:1652  */
24866     {
24867 					AlterTableCmd *n = makeNode(AlterTableCmd);
24868 					n->subtype = AT_DropConstraint;
24869 					n->name = (yyvsp[-1].str);
24870 					n->behavior = (yyvsp[0].dbehavior);
24871 					n->missing_ok = TRUE;
24872 					(yyval.node) = (Node *)n;
24873 				}
24874 #line 24875 "gram.c" /* yacc.c:1652  */
24875     break;
24876 
24877   case 298:
24878 #line 2126 "gram.y" /* yacc.c:1652  */
24879     {
24880 					AlterTableCmd *n = makeNode(AlterTableCmd);
24881 					n->subtype = AT_DropConstraint;
24882 					n->name = (yyvsp[-1].str);
24883 					n->behavior = (yyvsp[0].dbehavior);
24884 					n->missing_ok = FALSE;
24885 					(yyval.node) = (Node *)n;
24886 				}
24887 #line 24888 "gram.c" /* yacc.c:1652  */
24888     break;
24889 
24890   case 299:
24891 #line 2136 "gram.y" /* yacc.c:1652  */
24892     {
24893 					AlterTableCmd *n = makeNode(AlterTableCmd);
24894 					n->subtype = AT_AddOids;
24895 					(yyval.node) = (Node *)n;
24896 				}
24897 #line 24898 "gram.c" /* yacc.c:1652  */
24898     break;
24899 
24900   case 300:
24901 #line 2143 "gram.y" /* yacc.c:1652  */
24902     {
24903 					AlterTableCmd *n = makeNode(AlterTableCmd);
24904 					n->subtype = AT_DropOids;
24905 					(yyval.node) = (Node *)n;
24906 				}
24907 #line 24908 "gram.c" /* yacc.c:1652  */
24908     break;
24909 
24910   case 301:
24911 #line 2150 "gram.y" /* yacc.c:1652  */
24912     {
24913 					AlterTableCmd *n = makeNode(AlterTableCmd);
24914 					n->subtype = AT_ClusterOn;
24915 					n->name = (yyvsp[0].str);
24916 					(yyval.node) = (Node *)n;
24917 				}
24918 #line 24919 "gram.c" /* yacc.c:1652  */
24919     break;
24920 
24921   case 302:
24922 #line 2158 "gram.y" /* yacc.c:1652  */
24923     {
24924 					AlterTableCmd *n = makeNode(AlterTableCmd);
24925 					n->subtype = AT_DropCluster;
24926 					n->name = NULL;
24927 					(yyval.node) = (Node *)n;
24928 				}
24929 #line 24930 "gram.c" /* yacc.c:1652  */
24930     break;
24931 
24932   case 303:
24933 #line 2166 "gram.y" /* yacc.c:1652  */
24934     {
24935 					AlterTableCmd *n = makeNode(AlterTableCmd);
24936 					n->subtype = AT_SetLogged;
24937 					(yyval.node) = (Node *)n;
24938 				}
24939 #line 24940 "gram.c" /* yacc.c:1652  */
24940     break;
24941 
24942   case 304:
24943 #line 2173 "gram.y" /* yacc.c:1652  */
24944     {
24945 					AlterTableCmd *n = makeNode(AlterTableCmd);
24946 					n->subtype = AT_SetUnLogged;
24947 					(yyval.node) = (Node *)n;
24948 				}
24949 #line 24950 "gram.c" /* yacc.c:1652  */
24950     break;
24951 
24952   case 305:
24953 #line 2180 "gram.y" /* yacc.c:1652  */
24954     {
24955 					AlterTableCmd *n = makeNode(AlterTableCmd);
24956 					n->subtype = AT_EnableTrig;
24957 					n->name = (yyvsp[0].str);
24958 					(yyval.node) = (Node *)n;
24959 				}
24960 #line 24961 "gram.c" /* yacc.c:1652  */
24961     break;
24962 
24963   case 306:
24964 #line 2188 "gram.y" /* yacc.c:1652  */
24965     {
24966 					AlterTableCmd *n = makeNode(AlterTableCmd);
24967 					n->subtype = AT_EnableAlwaysTrig;
24968 					n->name = (yyvsp[0].str);
24969 					(yyval.node) = (Node *)n;
24970 				}
24971 #line 24972 "gram.c" /* yacc.c:1652  */
24972     break;
24973 
24974   case 307:
24975 #line 2196 "gram.y" /* yacc.c:1652  */
24976     {
24977 					AlterTableCmd *n = makeNode(AlterTableCmd);
24978 					n->subtype = AT_EnableReplicaTrig;
24979 					n->name = (yyvsp[0].str);
24980 					(yyval.node) = (Node *)n;
24981 				}
24982 #line 24983 "gram.c" /* yacc.c:1652  */
24983     break;
24984 
24985   case 308:
24986 #line 2204 "gram.y" /* yacc.c:1652  */
24987     {
24988 					AlterTableCmd *n = makeNode(AlterTableCmd);
24989 					n->subtype = AT_EnableTrigAll;
24990 					(yyval.node) = (Node *)n;
24991 				}
24992 #line 24993 "gram.c" /* yacc.c:1652  */
24993     break;
24994 
24995   case 309:
24996 #line 2211 "gram.y" /* yacc.c:1652  */
24997     {
24998 					AlterTableCmd *n = makeNode(AlterTableCmd);
24999 					n->subtype = AT_EnableTrigUser;
25000 					(yyval.node) = (Node *)n;
25001 				}
25002 #line 25003 "gram.c" /* yacc.c:1652  */
25003     break;
25004 
25005   case 310:
25006 #line 2218 "gram.y" /* yacc.c:1652  */
25007     {
25008 					AlterTableCmd *n = makeNode(AlterTableCmd);
25009 					n->subtype = AT_DisableTrig;
25010 					n->name = (yyvsp[0].str);
25011 					(yyval.node) = (Node *)n;
25012 				}
25013 #line 25014 "gram.c" /* yacc.c:1652  */
25014     break;
25015 
25016   case 311:
25017 #line 2226 "gram.y" /* yacc.c:1652  */
25018     {
25019 					AlterTableCmd *n = makeNode(AlterTableCmd);
25020 					n->subtype = AT_DisableTrigAll;
25021 					(yyval.node) = (Node *)n;
25022 				}
25023 #line 25024 "gram.c" /* yacc.c:1652  */
25024     break;
25025 
25026   case 312:
25027 #line 2233 "gram.y" /* yacc.c:1652  */
25028     {
25029 					AlterTableCmd *n = makeNode(AlterTableCmd);
25030 					n->subtype = AT_DisableTrigUser;
25031 					(yyval.node) = (Node *)n;
25032 				}
25033 #line 25034 "gram.c" /* yacc.c:1652  */
25034     break;
25035 
25036   case 313:
25037 #line 2240 "gram.y" /* yacc.c:1652  */
25038     {
25039 					AlterTableCmd *n = makeNode(AlterTableCmd);
25040 					n->subtype = AT_EnableRule;
25041 					n->name = (yyvsp[0].str);
25042 					(yyval.node) = (Node *)n;
25043 				}
25044 #line 25045 "gram.c" /* yacc.c:1652  */
25045     break;
25046 
25047   case 314:
25048 #line 2248 "gram.y" /* yacc.c:1652  */
25049     {
25050 					AlterTableCmd *n = makeNode(AlterTableCmd);
25051 					n->subtype = AT_EnableAlwaysRule;
25052 					n->name = (yyvsp[0].str);
25053 					(yyval.node) = (Node *)n;
25054 				}
25055 #line 25056 "gram.c" /* yacc.c:1652  */
25056     break;
25057 
25058   case 315:
25059 #line 2256 "gram.y" /* yacc.c:1652  */
25060     {
25061 					AlterTableCmd *n = makeNode(AlterTableCmd);
25062 					n->subtype = AT_EnableReplicaRule;
25063 					n->name = (yyvsp[0].str);
25064 					(yyval.node) = (Node *)n;
25065 				}
25066 #line 25067 "gram.c" /* yacc.c:1652  */
25067     break;
25068 
25069   case 316:
25070 #line 2264 "gram.y" /* yacc.c:1652  */
25071     {
25072 					AlterTableCmd *n = makeNode(AlterTableCmd);
25073 					n->subtype = AT_DisableRule;
25074 					n->name = (yyvsp[0].str);
25075 					(yyval.node) = (Node *)n;
25076 				}
25077 #line 25078 "gram.c" /* yacc.c:1652  */
25078     break;
25079 
25080   case 317:
25081 #line 2272 "gram.y" /* yacc.c:1652  */
25082     {
25083 					AlterTableCmd *n = makeNode(AlterTableCmd);
25084 					n->subtype = AT_AddInherit;
25085 					n->def = (Node *) (yyvsp[0].range);
25086 					(yyval.node) = (Node *)n;
25087 				}
25088 #line 25089 "gram.c" /* yacc.c:1652  */
25089     break;
25090 
25091   case 318:
25092 #line 2280 "gram.y" /* yacc.c:1652  */
25093     {
25094 					AlterTableCmd *n = makeNode(AlterTableCmd);
25095 					n->subtype = AT_DropInherit;
25096 					n->def = (Node *) (yyvsp[0].range);
25097 					(yyval.node) = (Node *)n;
25098 				}
25099 #line 25100 "gram.c" /* yacc.c:1652  */
25100     break;
25101 
25102   case 319:
25103 #line 2288 "gram.y" /* yacc.c:1652  */
25104     {
25105 					AlterTableCmd *n = makeNode(AlterTableCmd);
25106 					TypeName *def = makeTypeNameFromNameList((yyvsp[0].list));
25107 					def->location = (yylsp[0]);
25108 					n->subtype = AT_AddOf;
25109 					n->def = (Node *) def;
25110 					(yyval.node) = (Node *)n;
25111 				}
25112 #line 25113 "gram.c" /* yacc.c:1652  */
25113     break;
25114 
25115   case 320:
25116 #line 2298 "gram.y" /* yacc.c:1652  */
25117     {
25118 					AlterTableCmd *n = makeNode(AlterTableCmd);
25119 					n->subtype = AT_DropOf;
25120 					(yyval.node) = (Node *)n;
25121 				}
25122 #line 25123 "gram.c" /* yacc.c:1652  */
25123     break;
25124 
25125   case 321:
25126 #line 2305 "gram.y" /* yacc.c:1652  */
25127     {
25128 					AlterTableCmd *n = makeNode(AlterTableCmd);
25129 					n->subtype = AT_ChangeOwner;
25130 					n->newowner = (yyvsp[0].node);
25131 					(yyval.node) = (Node *)n;
25132 				}
25133 #line 25134 "gram.c" /* yacc.c:1652  */
25134     break;
25135 
25136   case 322:
25137 #line 2313 "gram.y" /* yacc.c:1652  */
25138     {
25139 					AlterTableCmd *n = makeNode(AlterTableCmd);
25140 					n->subtype = AT_SetTableSpace;
25141 					n->name = (yyvsp[0].str);
25142 					(yyval.node) = (Node *)n;
25143 				}
25144 #line 25145 "gram.c" /* yacc.c:1652  */
25145     break;
25146 
25147   case 323:
25148 #line 2321 "gram.y" /* yacc.c:1652  */
25149     {
25150 					AlterTableCmd *n = makeNode(AlterTableCmd);
25151 					n->subtype = AT_SetRelOptions;
25152 					n->def = (Node *)(yyvsp[0].list);
25153 					(yyval.node) = (Node *)n;
25154 				}
25155 #line 25156 "gram.c" /* yacc.c:1652  */
25156     break;
25157 
25158   case 324:
25159 #line 2329 "gram.y" /* yacc.c:1652  */
25160     {
25161 					AlterTableCmd *n = makeNode(AlterTableCmd);
25162 					n->subtype = AT_ResetRelOptions;
25163 					n->def = (Node *)(yyvsp[0].list);
25164 					(yyval.node) = (Node *)n;
25165 				}
25166 #line 25167 "gram.c" /* yacc.c:1652  */
25167     break;
25168 
25169   case 325:
25170 #line 2337 "gram.y" /* yacc.c:1652  */
25171     {
25172 					AlterTableCmd *n = makeNode(AlterTableCmd);
25173 					n->subtype = AT_ReplicaIdentity;
25174 					n->def = (yyvsp[0].node);
25175 					(yyval.node) = (Node *)n;
25176 				}
25177 #line 25178 "gram.c" /* yacc.c:1652  */
25178     break;
25179 
25180   case 326:
25181 #line 2345 "gram.y" /* yacc.c:1652  */
25182     {
25183 					AlterTableCmd *n = makeNode(AlterTableCmd);
25184 					n->subtype = AT_EnableRowSecurity;
25185 					(yyval.node) = (Node *)n;
25186 				}
25187 #line 25188 "gram.c" /* yacc.c:1652  */
25188     break;
25189 
25190   case 327:
25191 #line 2352 "gram.y" /* yacc.c:1652  */
25192     {
25193 					AlterTableCmd *n = makeNode(AlterTableCmd);
25194 					n->subtype = AT_DisableRowSecurity;
25195 					(yyval.node) = (Node *)n;
25196 				}
25197 #line 25198 "gram.c" /* yacc.c:1652  */
25198     break;
25199 
25200   case 328:
25201 #line 2359 "gram.y" /* yacc.c:1652  */
25202     {
25203 					AlterTableCmd *n = makeNode(AlterTableCmd);
25204 					n->subtype = AT_ForceRowSecurity;
25205 					(yyval.node) = (Node *)n;
25206 				}
25207 #line 25208 "gram.c" /* yacc.c:1652  */
25208     break;
25209 
25210   case 329:
25211 #line 2366 "gram.y" /* yacc.c:1652  */
25212     {
25213 					AlterTableCmd *n = makeNode(AlterTableCmd);
25214 					n->subtype = AT_NoForceRowSecurity;
25215 					(yyval.node) = (Node *)n;
25216 				}
25217 #line 25218 "gram.c" /* yacc.c:1652  */
25218     break;
25219 
25220   case 330:
25221 #line 2372 "gram.y" /* yacc.c:1652  */
25222     {
25223 					AlterTableCmd *n = makeNode(AlterTableCmd);
25224 					n->subtype = AT_GenericOptions;
25225 					n->def = (Node *)(yyvsp[0].list);
25226 					(yyval.node) = (Node *) n;
25227 				}
25228 #line 25229 "gram.c" /* yacc.c:1652  */
25229     break;
25230 
25231   case 331:
25232 #line 2381 "gram.y" /* yacc.c:1652  */
25233     { (yyval.node) = (yyvsp[0].node); }
25234 #line 25235 "gram.c" /* yacc.c:1652  */
25235     break;
25236 
25237   case 332:
25238 #line 2382 "gram.y" /* yacc.c:1652  */
25239     { (yyval.node) = NULL; }
25240 #line 25241 "gram.c" /* yacc.c:1652  */
25241     break;
25242 
25243   case 333:
25244 #line 2386 "gram.y" /* yacc.c:1652  */
25245     { (yyval.dbehavior) = DROP_CASCADE; }
25246 #line 25247 "gram.c" /* yacc.c:1652  */
25247     break;
25248 
25249   case 334:
25250 #line 2387 "gram.y" /* yacc.c:1652  */
25251     { (yyval.dbehavior) = DROP_RESTRICT; }
25252 #line 25253 "gram.c" /* yacc.c:1652  */
25253     break;
25254 
25255   case 335:
25256 #line 2388 "gram.y" /* yacc.c:1652  */
25257     { (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
25258 #line 25259 "gram.c" /* yacc.c:1652  */
25259     break;
25260 
25261   case 336:
25262 #line 2393 "gram.y" /* yacc.c:1652  */
25263     {
25264 					CollateClause *n = makeNode(CollateClause);
25265 					n->arg = NULL;
25266 					n->collname = (yyvsp[0].list);
25267 					n->location = (yylsp[-1]);
25268 					(yyval.node) = (Node *) n;
25269 				}
25270 #line 25271 "gram.c" /* yacc.c:1652  */
25271     break;
25272 
25273   case 337:
25274 #line 2400 "gram.y" /* yacc.c:1652  */
25275     { (yyval.node) = NULL; }
25276 #line 25277 "gram.c" /* yacc.c:1652  */
25277     break;
25278 
25279   case 338:
25280 #line 2404 "gram.y" /* yacc.c:1652  */
25281     { (yyval.node) = (yyvsp[0].node); }
25282 #line 25283 "gram.c" /* yacc.c:1652  */
25283     break;
25284 
25285   case 339:
25286 #line 2405 "gram.y" /* yacc.c:1652  */
25287     { (yyval.node) = NULL; }
25288 #line 25289 "gram.c" /* yacc.c:1652  */
25289     break;
25290 
25291   case 340:
25292 #line 2410 "gram.y" /* yacc.c:1652  */
25293     {
25294 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
25295 					n->identity_type = REPLICA_IDENTITY_NOTHING;
25296 					n->name = NULL;
25297 					(yyval.node) = (Node *) n;
25298 				}
25299 #line 25300 "gram.c" /* yacc.c:1652  */
25300     break;
25301 
25302   case 341:
25303 #line 2417 "gram.y" /* yacc.c:1652  */
25304     {
25305 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
25306 					n->identity_type = REPLICA_IDENTITY_FULL;
25307 					n->name = NULL;
25308 					(yyval.node) = (Node *) n;
25309 				}
25310 #line 25311 "gram.c" /* yacc.c:1652  */
25311     break;
25312 
25313   case 342:
25314 #line 2424 "gram.y" /* yacc.c:1652  */
25315     {
25316 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
25317 					n->identity_type = REPLICA_IDENTITY_DEFAULT;
25318 					n->name = NULL;
25319 					(yyval.node) = (Node *) n;
25320 				}
25321 #line 25322 "gram.c" /* yacc.c:1652  */
25322     break;
25323 
25324   case 343:
25325 #line 2431 "gram.y" /* yacc.c:1652  */
25326     {
25327 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
25328 					n->identity_type = REPLICA_IDENTITY_INDEX;
25329 					n->name = (yyvsp[0].str);
25330 					(yyval.node) = (Node *) n;
25331 				}
25332 #line 25333 "gram.c" /* yacc.c:1652  */
25333     break;
25334 
25335   case 344:
25336 #line 2440 "gram.y" /* yacc.c:1652  */
25337     { (yyval.list) = (yyvsp[-1].list); }
25338 #line 25339 "gram.c" /* yacc.c:1652  */
25339     break;
25340 
25341   case 345:
25342 #line 2443 "gram.y" /* yacc.c:1652  */
25343     { (yyval.list) = (yyvsp[0].list); }
25344 #line 25345 "gram.c" /* yacc.c:1652  */
25345     break;
25346 
25347   case 346:
25348 #line 2444 "gram.y" /* yacc.c:1652  */
25349     { (yyval.list) = NIL; }
25350 #line 25351 "gram.c" /* yacc.c:1652  */
25351     break;
25352 
25353   case 347:
25354 #line 2448 "gram.y" /* yacc.c:1652  */
25355     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
25356 #line 25357 "gram.c" /* yacc.c:1652  */
25357     break;
25358 
25359   case 348:
25360 #line 2449 "gram.y" /* yacc.c:1652  */
25361     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
25362 #line 25363 "gram.c" /* yacc.c:1652  */
25363     break;
25364 
25365   case 349:
25366 #line 2455 "gram.y" /* yacc.c:1652  */
25367     {
25368 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node));
25369 				}
25370 #line 25371 "gram.c" /* yacc.c:1652  */
25371     break;
25372 
25373   case 350:
25374 #line 2459 "gram.y" /* yacc.c:1652  */
25375     {
25376 					(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL);
25377 				}
25378 #line 25379 "gram.c" /* yacc.c:1652  */
25379     break;
25380 
25381   case 351:
25382 #line 2463 "gram.y" /* yacc.c:1652  */
25383     {
25384 					(yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
25385 											 DEFELEM_UNSPEC);
25386 				}
25387 #line 25388 "gram.c" /* yacc.c:1652  */
25388     break;
25389 
25390   case 352:
25391 #line 2468 "gram.y" /* yacc.c:1652  */
25392     {
25393 					(yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC);
25394 				}
25395 #line 25396 "gram.c" /* yacc.c:1652  */
25396     break;
25397 
25398   case 353:
25399 #line 2483 "gram.y" /* yacc.c:1652  */
25400     {
25401 					AlterTableStmt *n = makeNode(AlterTableStmt);
25402 
25403 					/* can't use qualified_name, sigh */
25404 					n->relation = makeRangeVarFromAnyName((yyvsp[-1].list), (yylsp[-1]), yyscanner);
25405 					n->cmds = (yyvsp[0].list);
25406 					n->relkind = OBJECT_TYPE;
25407 					(yyval.node) = (Node *)n;
25408 				}
25409 #line 25410 "gram.c" /* yacc.c:1652  */
25410     break;
25411 
25412   case 354:
25413 #line 2495 "gram.y" /* yacc.c:1652  */
25414     { (yyval.list) = list_make1((yyvsp[0].node)); }
25415 #line 25416 "gram.c" /* yacc.c:1652  */
25416     break;
25417 
25418   case 355:
25419 #line 2496 "gram.y" /* yacc.c:1652  */
25420     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
25421 #line 25422 "gram.c" /* yacc.c:1652  */
25422     break;
25423 
25424   case 356:
25425 #line 2502 "gram.y" /* yacc.c:1652  */
25426     {
25427 					AlterTableCmd *n = makeNode(AlterTableCmd);
25428 					n->subtype = AT_AddColumn;
25429 					n->def = (yyvsp[-1].node);
25430 					n->behavior = (yyvsp[0].dbehavior);
25431 					(yyval.node) = (Node *)n;
25432 				}
25433 #line 25434 "gram.c" /* yacc.c:1652  */
25434     break;
25435 
25436   case 357:
25437 #line 2511 "gram.y" /* yacc.c:1652  */
25438     {
25439 					AlterTableCmd *n = makeNode(AlterTableCmd);
25440 					n->subtype = AT_DropColumn;
25441 					n->name = (yyvsp[-1].str);
25442 					n->behavior = (yyvsp[0].dbehavior);
25443 					n->missing_ok = TRUE;
25444 					(yyval.node) = (Node *)n;
25445 				}
25446 #line 25447 "gram.c" /* yacc.c:1652  */
25447     break;
25448 
25449   case 358:
25450 #line 2521 "gram.y" /* yacc.c:1652  */
25451     {
25452 					AlterTableCmd *n = makeNode(AlterTableCmd);
25453 					n->subtype = AT_DropColumn;
25454 					n->name = (yyvsp[-1].str);
25455 					n->behavior = (yyvsp[0].dbehavior);
25456 					n->missing_ok = FALSE;
25457 					(yyval.node) = (Node *)n;
25458 				}
25459 #line 25460 "gram.c" /* yacc.c:1652  */
25460     break;
25461 
25462   case 359:
25463 #line 2531 "gram.y" /* yacc.c:1652  */
25464     {
25465 					AlterTableCmd *n = makeNode(AlterTableCmd);
25466 					ColumnDef *def = makeNode(ColumnDef);
25467 					n->subtype = AT_AlterColumnType;
25468 					n->name = (yyvsp[-5].str);
25469 					n->def = (Node *) def;
25470 					n->behavior = (yyvsp[0].dbehavior);
25471 					/* We only use these fields of the ColumnDef node */
25472 					def->typeName = (yyvsp[-2].typnam);
25473 					def->collClause = (CollateClause *) (yyvsp[-1].node);
25474 					def->raw_default = NULL;
25475 					def->location = (yylsp[-5]);
25476 					(yyval.node) = (Node *)n;
25477 				}
25478 #line 25479 "gram.c" /* yacc.c:1652  */
25479     break;
25480 
25481   case 360:
25482 #line 2557 "gram.y" /* yacc.c:1652  */
25483     {
25484 					ClosePortalStmt *n = makeNode(ClosePortalStmt);
25485 					n->portalname = (yyvsp[0].str);
25486 					(yyval.node) = (Node *)n;
25487 				}
25488 #line 25489 "gram.c" /* yacc.c:1652  */
25489     break;
25490 
25491   case 361:
25492 #line 2563 "gram.y" /* yacc.c:1652  */
25493     {
25494 					ClosePortalStmt *n = makeNode(ClosePortalStmt);
25495 					n->portalname = NULL;
25496 					(yyval.node) = (Node *)n;
25497 				}
25498 #line 25499 "gram.c" /* yacc.c:1652  */
25499     break;
25500 
25501   case 362:
25502 #line 2597 "gram.y" /* yacc.c:1652  */
25503     {
25504 					CopyStmt *n = makeNode(CopyStmt);
25505 					n->relation = (yyvsp[-8].range);
25506 					n->query = NULL;
25507 					n->attlist = (yyvsp[-7].list);
25508 					n->is_from = (yyvsp[-5].boolean);
25509 					n->is_program = (yyvsp[-4].boolean);
25510 					n->filename = (yyvsp[-3].str);
25511 
25512 					if (n->is_program && n->filename == NULL)
25513 						ereport(ERROR,
25514 								(errcode(ERRCODE_SYNTAX_ERROR),
25515 								 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
25516 								 parser_errposition((yylsp[-3]))));
25517 
25518 					n->options = NIL;
25519 					/* Concatenate user-supplied flags */
25520 					if ((yyvsp[-9].defelt))
25521 						n->options = lappend(n->options, (yyvsp[-9].defelt));
25522 					if ((yyvsp[-6].defelt))
25523 						n->options = lappend(n->options, (yyvsp[-6].defelt));
25524 					if ((yyvsp[-2].defelt))
25525 						n->options = lappend(n->options, (yyvsp[-2].defelt));
25526 					if ((yyvsp[0].list))
25527 						n->options = list_concat(n->options, (yyvsp[0].list));
25528 					(yyval.node) = (Node *)n;
25529 				}
25530 #line 25531 "gram.c" /* yacc.c:1652  */
25531     break;
25532 
25533   case 363:
25534 #line 2625 "gram.y" /* yacc.c:1652  */
25535     {
25536 					CopyStmt *n = makeNode(CopyStmt);
25537 					n->relation = NULL;
25538 					n->query = (yyvsp[-6].node);
25539 					n->attlist = NIL;
25540 					n->is_from = false;
25541 					n->is_program = (yyvsp[-3].boolean);
25542 					n->filename = (yyvsp[-2].str);
25543 					n->options = (yyvsp[0].list);
25544 
25545 					if (n->is_program && n->filename == NULL)
25546 						ereport(ERROR,
25547 								(errcode(ERRCODE_SYNTAX_ERROR),
25548 								 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
25549 								 parser_errposition((yylsp[-4]))));
25550 
25551 					(yyval.node) = (Node *)n;
25552 				}
25553 #line 25554 "gram.c" /* yacc.c:1652  */
25554     break;
25555 
25556   case 364:
25557 #line 2646 "gram.y" /* yacc.c:1652  */
25558     { (yyval.boolean) = TRUE; }
25559 #line 25560 "gram.c" /* yacc.c:1652  */
25560     break;
25561 
25562   case 365:
25563 #line 2647 "gram.y" /* yacc.c:1652  */
25564     { (yyval.boolean) = FALSE; }
25565 #line 25566 "gram.c" /* yacc.c:1652  */
25566     break;
25567 
25568   case 366:
25569 #line 2651 "gram.y" /* yacc.c:1652  */
25570     { (yyval.boolean) = TRUE; }
25571 #line 25572 "gram.c" /* yacc.c:1652  */
25572     break;
25573 
25574   case 367:
25575 #line 2652 "gram.y" /* yacc.c:1652  */
25576     { (yyval.boolean) = FALSE; }
25577 #line 25578 "gram.c" /* yacc.c:1652  */
25578     break;
25579 
25580   case 368:
25581 #line 2661 "gram.y" /* yacc.c:1652  */
25582     { (yyval.str) = (yyvsp[0].str); }
25583 #line 25584 "gram.c" /* yacc.c:1652  */
25584     break;
25585 
25586   case 369:
25587 #line 2662 "gram.y" /* yacc.c:1652  */
25588     { (yyval.str) = NULL; }
25589 #line 25590 "gram.c" /* yacc.c:1652  */
25590     break;
25591 
25592   case 370:
25593 #line 2663 "gram.y" /* yacc.c:1652  */
25594     { (yyval.str) = NULL; }
25595 #line 25596 "gram.c" /* yacc.c:1652  */
25596     break;
25597 
25598   case 371:
25599 #line 2666 "gram.y" /* yacc.c:1652  */
25600     { (yyval.list) = (yyvsp[0].list); }
25601 #line 25602 "gram.c" /* yacc.c:1652  */
25602     break;
25603 
25604   case 372:
25605 #line 2667 "gram.y" /* yacc.c:1652  */
25606     { (yyval.list) = (yyvsp[-1].list); }
25607 #line 25608 "gram.c" /* yacc.c:1652  */
25608     break;
25609 
25610   case 373:
25611 #line 2672 "gram.y" /* yacc.c:1652  */
25612     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
25613 #line 25614 "gram.c" /* yacc.c:1652  */
25614     break;
25615 
25616   case 374:
25617 #line 2673 "gram.y" /* yacc.c:1652  */
25618     { (yyval.list) = NIL; }
25619 #line 25620 "gram.c" /* yacc.c:1652  */
25620     break;
25621 
25622   case 375:
25623 #line 2678 "gram.y" /* yacc.c:1652  */
25624     {
25625 					(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"));
25626 				}
25627 #line 25628 "gram.c" /* yacc.c:1652  */
25628     break;
25629 
25630   case 376:
25631 #line 2682 "gram.y" /* yacc.c:1652  */
25632     {
25633 					(yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(TRUE));
25634 				}
25635 #line 25636 "gram.c" /* yacc.c:1652  */
25636     break;
25637 
25638   case 377:
25639 #line 2686 "gram.y" /* yacc.c:1652  */
25640     {
25641 					(yyval.defelt) = makeDefElem("freeze", (Node *)makeInteger(TRUE));
25642 				}
25643 #line 25644 "gram.c" /* yacc.c:1652  */
25644     break;
25645 
25646   case 378:
25647 #line 2690 "gram.y" /* yacc.c:1652  */
25648     {
25649 					(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)));
25650 				}
25651 #line 25652 "gram.c" /* yacc.c:1652  */
25652     break;
25653 
25654   case 379:
25655 #line 2694 "gram.y" /* yacc.c:1652  */
25656     {
25657 					(yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[0].str)));
25658 				}
25659 #line 25660 "gram.c" /* yacc.c:1652  */
25660     break;
25661 
25662   case 380:
25663 #line 2698 "gram.y" /* yacc.c:1652  */
25664     {
25665 					(yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"));
25666 				}
25667 #line 25668 "gram.c" /* yacc.c:1652  */
25668     break;
25669 
25670   case 381:
25671 #line 2702 "gram.y" /* yacc.c:1652  */
25672     {
25673 					(yyval.defelt) = makeDefElem("header", (Node *)makeInteger(TRUE));
25674 				}
25675 #line 25676 "gram.c" /* yacc.c:1652  */
25676     break;
25677 
25678   case 382:
25679 #line 2706 "gram.y" /* yacc.c:1652  */
25680     {
25681 					(yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[0].str)));
25682 				}
25683 #line 25684 "gram.c" /* yacc.c:1652  */
25684     break;
25685 
25686   case 383:
25687 #line 2710 "gram.y" /* yacc.c:1652  */
25688     {
25689 					(yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[0].str)));
25690 				}
25691 #line 25692 "gram.c" /* yacc.c:1652  */
25692     break;
25693 
25694   case 384:
25695 #line 2714 "gram.y" /* yacc.c:1652  */
25696     {
25697 					(yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[0].list));
25698 				}
25699 #line 25700 "gram.c" /* yacc.c:1652  */
25700     break;
25701 
25702   case 385:
25703 #line 2718 "gram.y" /* yacc.c:1652  */
25704     {
25705 					(yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star));
25706 				}
25707 #line 25708 "gram.c" /* yacc.c:1652  */
25708     break;
25709 
25710   case 386:
25711 #line 2722 "gram.y" /* yacc.c:1652  */
25712     {
25713 					(yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[0].list));
25714 				}
25715 #line 25716 "gram.c" /* yacc.c:1652  */
25716     break;
25717 
25718   case 387:
25719 #line 2726 "gram.y" /* yacc.c:1652  */
25720     {
25721 					(yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[0].list));
25722 				}
25723 #line 25724 "gram.c" /* yacc.c:1652  */
25724     break;
25725 
25726   case 388:
25727 #line 2730 "gram.y" /* yacc.c:1652  */
25728     {
25729 					(yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[0].str)));
25730 				}
25731 #line 25732 "gram.c" /* yacc.c:1652  */
25732     break;
25733 
25734   case 389:
25735 #line 2739 "gram.y" /* yacc.c:1652  */
25736     {
25737 					(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"));
25738 				}
25739 #line 25740 "gram.c" /* yacc.c:1652  */
25740     break;
25741 
25742   case 390:
25743 #line 2742 "gram.y" /* yacc.c:1652  */
25744     { (yyval.defelt) = NULL; }
25745 #line 25746 "gram.c" /* yacc.c:1652  */
25746     break;
25747 
25748   case 391:
25749 #line 2747 "gram.y" /* yacc.c:1652  */
25750     {
25751 					(yyval.defelt) = makeDefElem("oids", (Node *)makeInteger(TRUE));
25752 				}
25753 #line 25754 "gram.c" /* yacc.c:1652  */
25754     break;
25755 
25756   case 392:
25757 #line 2750 "gram.y" /* yacc.c:1652  */
25758     { (yyval.defelt) = NULL; }
25759 #line 25760 "gram.c" /* yacc.c:1652  */
25760     break;
25761 
25762   case 393:
25763 #line 2755 "gram.y" /* yacc.c:1652  */
25764     {
25765 					(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)));
25766 				}
25767 #line 25768 "gram.c" /* yacc.c:1652  */
25768     break;
25769 
25770   case 394:
25771 #line 2758 "gram.y" /* yacc.c:1652  */
25772     { (yyval.defelt) = NULL; }
25773 #line 25774 "gram.c" /* yacc.c:1652  */
25774     break;
25775 
25776   case 395:
25777 #line 2762 "gram.y" /* yacc.c:1652  */
25778     {}
25779 #line 25780 "gram.c" /* yacc.c:1652  */
25780     break;
25781 
25782   case 396:
25783 #line 2763 "gram.y" /* yacc.c:1652  */
25784     {}
25785 #line 25786 "gram.c" /* yacc.c:1652  */
25786     break;
25787 
25788   case 397:
25789 #line 2769 "gram.y" /* yacc.c:1652  */
25790     {
25791 					(yyval.list) = list_make1((yyvsp[0].defelt));
25792 				}
25793 #line 25794 "gram.c" /* yacc.c:1652  */
25794     break;
25795 
25796   case 398:
25797 #line 2773 "gram.y" /* yacc.c:1652  */
25798     {
25799 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
25800 				}
25801 #line 25802 "gram.c" /* yacc.c:1652  */
25802     break;
25803 
25804   case 399:
25805 #line 2780 "gram.y" /* yacc.c:1652  */
25806     {
25807 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node));
25808 				}
25809 #line 25810 "gram.c" /* yacc.c:1652  */
25810     break;
25811 
25812   case 400:
25813 #line 2786 "gram.y" /* yacc.c:1652  */
25814     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
25815 #line 25816 "gram.c" /* yacc.c:1652  */
25816     break;
25817 
25818   case 401:
25819 #line 2787 "gram.y" /* yacc.c:1652  */
25820     { (yyval.node) = (Node *) (yyvsp[0].value); }
25821 #line 25822 "gram.c" /* yacc.c:1652  */
25822     break;
25823 
25824   case 402:
25825 #line 2788 "gram.y" /* yacc.c:1652  */
25826     { (yyval.node) = (Node *) makeNode(A_Star); }
25827 #line 25828 "gram.c" /* yacc.c:1652  */
25828     break;
25829 
25830   case 403:
25831 #line 2789 "gram.y" /* yacc.c:1652  */
25832     { (yyval.node) = (Node *) (yyvsp[-1].list); }
25833 #line 25834 "gram.c" /* yacc.c:1652  */
25834     break;
25835 
25836   case 404:
25837 #line 2790 "gram.y" /* yacc.c:1652  */
25838     { (yyval.node) = NULL; }
25839 #line 25840 "gram.c" /* yacc.c:1652  */
25840     break;
25841 
25842   case 405:
25843 #line 2795 "gram.y" /* yacc.c:1652  */
25844     {
25845 					(yyval.list) = list_make1((yyvsp[0].node));
25846 				}
25847 #line 25848 "gram.c" /* yacc.c:1652  */
25848     break;
25849 
25850   case 406:
25851 #line 2799 "gram.y" /* yacc.c:1652  */
25852     {
25853 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
25854 				}
25855 #line 25856 "gram.c" /* yacc.c:1652  */
25856     break;
25857 
25858   case 407:
25859 #line 2806 "gram.y" /* yacc.c:1652  */
25860     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
25861 #line 25862 "gram.c" /* yacc.c:1652  */
25862     break;
25863 
25864   case 408:
25865 #line 2819 "gram.y" /* yacc.c:1652  */
25866     {
25867 					CreateStmt *n = makeNode(CreateStmt);
25868 					(yyvsp[-7].range)->relpersistence = (yyvsp[-9].ival);
25869 					n->relation = (yyvsp[-7].range);
25870 					n->tableElts = (yyvsp[-5].list);
25871 					n->inhRelations = (yyvsp[-3].list);
25872 					n->ofTypename = NULL;
25873 					n->constraints = NIL;
25874 					n->options = (yyvsp[-2].list);
25875 					n->oncommit = (yyvsp[-1].oncommit);
25876 					n->tablespacename = (yyvsp[0].str);
25877 					n->if_not_exists = false;
25878 					(yyval.node) = (Node *)n;
25879 				}
25880 #line 25881 "gram.c" /* yacc.c:1652  */
25881     break;
25882 
25883   case 409:
25884 #line 2836 "gram.y" /* yacc.c:1652  */
25885     {
25886 					CreateStmt *n = makeNode(CreateStmt);
25887 					(yyvsp[-7].range)->relpersistence = (yyvsp[-12].ival);
25888 					n->relation = (yyvsp[-7].range);
25889 					n->tableElts = (yyvsp[-5].list);
25890 					n->inhRelations = (yyvsp[-3].list);
25891 					n->ofTypename = NULL;
25892 					n->constraints = NIL;
25893 					n->options = (yyvsp[-2].list);
25894 					n->oncommit = (yyvsp[-1].oncommit);
25895 					n->tablespacename = (yyvsp[0].str);
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 410:
25903 #line 2852 "gram.y" /* yacc.c:1652  */
25904     {
25905 					CreateStmt *n = makeNode(CreateStmt);
25906 					(yyvsp[-6].range)->relpersistence = (yyvsp[-8].ival);
25907 					n->relation = (yyvsp[-6].range);
25908 					n->tableElts = (yyvsp[-3].list);
25909 					n->inhRelations = NIL;
25910 					n->ofTypename = makeTypeNameFromNameList((yyvsp[-4].list));
25911 					n->ofTypename->location = (yylsp[-4]);
25912 					n->constraints = NIL;
25913 					n->options = (yyvsp[-2].list);
25914 					n->oncommit = (yyvsp[-1].oncommit);
25915 					n->tablespacename = (yyvsp[0].str);
25916 					n->if_not_exists = false;
25917 					(yyval.node) = (Node *)n;
25918 				}
25919 #line 25920 "gram.c" /* yacc.c:1652  */
25920     break;
25921 
25922   case 411:
25923 #line 2869 "gram.y" /* yacc.c:1652  */
25924     {
25925 					CreateStmt *n = makeNode(CreateStmt);
25926 					(yyvsp[-6].range)->relpersistence = (yyvsp[-11].ival);
25927 					n->relation = (yyvsp[-6].range);
25928 					n->tableElts = (yyvsp[-3].list);
25929 					n->inhRelations = NIL;
25930 					n->ofTypename = makeTypeNameFromNameList((yyvsp[-4].list));
25931 					n->ofTypename->location = (yylsp[-4]);
25932 					n->constraints = NIL;
25933 					n->options = (yyvsp[-2].list);
25934 					n->oncommit = (yyvsp[-1].oncommit);
25935 					n->tablespacename = (yyvsp[0].str);
25936 					n->if_not_exists = true;
25937 					(yyval.node) = (Node *)n;
25938 				}
25939 #line 25940 "gram.c" /* yacc.c:1652  */
25940     break;
25941 
25942   case 412:
25943 #line 2897 "gram.y" /* yacc.c:1652  */
25944     { (yyval.ival) = RELPERSISTENCE_TEMP; }
25945 #line 25946 "gram.c" /* yacc.c:1652  */
25946     break;
25947 
25948   case 413:
25949 #line 2898 "gram.y" /* yacc.c:1652  */
25950     { (yyval.ival) = RELPERSISTENCE_TEMP; }
25951 #line 25952 "gram.c" /* yacc.c:1652  */
25952     break;
25953 
25954   case 414:
25955 #line 2899 "gram.y" /* yacc.c:1652  */
25956     { (yyval.ival) = RELPERSISTENCE_TEMP; }
25957 #line 25958 "gram.c" /* yacc.c:1652  */
25958     break;
25959 
25960   case 415:
25961 #line 2900 "gram.y" /* yacc.c:1652  */
25962     { (yyval.ival) = RELPERSISTENCE_TEMP; }
25963 #line 25964 "gram.c" /* yacc.c:1652  */
25964     break;
25965 
25966   case 416:
25967 #line 2902 "gram.y" /* yacc.c:1652  */
25968     {
25969 					ereport(WARNING,
25970 							(errmsg("GLOBAL is deprecated in temporary table creation"),
25971 							 parser_errposition((yylsp[-1]))));
25972 					(yyval.ival) = RELPERSISTENCE_TEMP;
25973 				}
25974 #line 25975 "gram.c" /* yacc.c:1652  */
25975     break;
25976 
25977   case 417:
25978 #line 2909 "gram.y" /* yacc.c:1652  */
25979     {
25980 					ereport(WARNING,
25981 							(errmsg("GLOBAL is deprecated in temporary table creation"),
25982 							 parser_errposition((yylsp[-1]))));
25983 					(yyval.ival) = RELPERSISTENCE_TEMP;
25984 				}
25985 #line 25986 "gram.c" /* yacc.c:1652  */
25986     break;
25987 
25988   case 418:
25989 #line 2915 "gram.y" /* yacc.c:1652  */
25990     { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
25991 #line 25992 "gram.c" /* yacc.c:1652  */
25992     break;
25993 
25994   case 419:
25995 #line 2916 "gram.y" /* yacc.c:1652  */
25996     { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
25997 #line 25998 "gram.c" /* yacc.c:1652  */
25998     break;
25999 
26000   case 420:
26001 #line 2920 "gram.y" /* yacc.c:1652  */
26002     { (yyval.list) = (yyvsp[0].list); }
26003 #line 26004 "gram.c" /* yacc.c:1652  */
26004     break;
26005 
26006   case 421:
26007 #line 2921 "gram.y" /* yacc.c:1652  */
26008     { (yyval.list) = NIL; }
26009 #line 26010 "gram.c" /* yacc.c:1652  */
26010     break;
26011 
26012   case 422:
26013 #line 2925 "gram.y" /* yacc.c:1652  */
26014     { (yyval.list) = (yyvsp[-1].list); }
26015 #line 26016 "gram.c" /* yacc.c:1652  */
26016     break;
26017 
26018   case 423:
26019 #line 2926 "gram.y" /* yacc.c:1652  */
26020     { (yyval.list) = NIL; }
26021 #line 26022 "gram.c" /* yacc.c:1652  */
26022     break;
26023 
26024   case 424:
26025 #line 2931 "gram.y" /* yacc.c:1652  */
26026     {
26027 					(yyval.list) = list_make1((yyvsp[0].node));
26028 				}
26029 #line 26030 "gram.c" /* yacc.c:1652  */
26030     break;
26031 
26032   case 425:
26033 #line 2935 "gram.y" /* yacc.c:1652  */
26034     {
26035 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
26036 				}
26037 #line 26038 "gram.c" /* yacc.c:1652  */
26038     break;
26039 
26040   case 426:
26041 #line 2942 "gram.y" /* yacc.c:1652  */
26042     {
26043 					(yyval.list) = list_make1((yyvsp[0].node));
26044 				}
26045 #line 26046 "gram.c" /* yacc.c:1652  */
26046     break;
26047 
26048   case 427:
26049 #line 2946 "gram.y" /* yacc.c:1652  */
26050     {
26051 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
26052 				}
26053 #line 26054 "gram.c" /* yacc.c:1652  */
26054     break;
26055 
26056   case 428:
26057 #line 2952 "gram.y" /* yacc.c:1652  */
26058     { (yyval.node) = (yyvsp[0].node); }
26059 #line 26060 "gram.c" /* yacc.c:1652  */
26060     break;
26061 
26062   case 429:
26063 #line 2953 "gram.y" /* yacc.c:1652  */
26064     { (yyval.node) = (yyvsp[0].node); }
26065 #line 26066 "gram.c" /* yacc.c:1652  */
26066     break;
26067 
26068   case 430:
26069 #line 2954 "gram.y" /* yacc.c:1652  */
26070     { (yyval.node) = (yyvsp[0].node); }
26071 #line 26072 "gram.c" /* yacc.c:1652  */
26072     break;
26073 
26074   case 431:
26075 #line 2958 "gram.y" /* yacc.c:1652  */
26076     { (yyval.node) = (yyvsp[0].node); }
26077 #line 26078 "gram.c" /* yacc.c:1652  */
26078     break;
26079 
26080   case 432:
26081 #line 2959 "gram.y" /* yacc.c:1652  */
26082     { (yyval.node) = (yyvsp[0].node); }
26083 #line 26084 "gram.c" /* yacc.c:1652  */
26084     break;
26085 
26086   case 433:
26087 #line 2963 "gram.y" /* yacc.c:1652  */
26088     {
26089 					ColumnDef *n = makeNode(ColumnDef);
26090 					n->colname = (yyvsp[-3].str);
26091 					n->typeName = (yyvsp[-2].typnam);
26092 					n->inhcount = 0;
26093 					n->is_local = true;
26094 					n->is_not_null = false;
26095 					n->is_from_type = false;
26096 					n->storage = 0;
26097 					n->raw_default = NULL;
26098 					n->cooked_default = NULL;
26099 					n->collOid = InvalidOid;
26100 					n->fdwoptions = (yyvsp[-1].list);
26101 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
26102 									 yyscanner);
26103 					n->location = (yylsp[-3]);
26104 					(yyval.node) = (Node *)n;
26105 				}
26106 #line 26107 "gram.c" /* yacc.c:1652  */
26107     break;
26108 
26109   case 434:
26110 #line 2984 "gram.y" /* yacc.c:1652  */
26111     {
26112 					ColumnDef *n = makeNode(ColumnDef);
26113 					n->colname = (yyvsp[-3].str);
26114 					n->typeName = NULL;
26115 					n->inhcount = 0;
26116 					n->is_local = true;
26117 					n->is_not_null = false;
26118 					n->is_from_type = false;
26119 					n->storage = 0;
26120 					n->raw_default = NULL;
26121 					n->cooked_default = NULL;
26122 					n->collOid = InvalidOid;
26123 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
26124 									 yyscanner);
26125 					n->location = (yylsp[-3]);
26126 					(yyval.node) = (Node *)n;
26127 				}
26128 #line 26129 "gram.c" /* yacc.c:1652  */
26129     break;
26130 
26131   case 435:
26132 #line 3004 "gram.y" /* yacc.c:1652  */
26133     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
26134 #line 26135 "gram.c" /* yacc.c:1652  */
26135     break;
26136 
26137   case 436:
26138 #line 3005 "gram.y" /* yacc.c:1652  */
26139     { (yyval.list) = NIL; }
26140 #line 26141 "gram.c" /* yacc.c:1652  */
26141     break;
26142 
26143   case 437:
26144 #line 3010 "gram.y" /* yacc.c:1652  */
26145     {
26146 					Constraint *n = (Constraint *) (yyvsp[0].node);
26147 					Assert(IsA(n, Constraint));
26148 					n->conname = (yyvsp[-1].str);
26149 					n->location = (yylsp[-2]);
26150 					(yyval.node) = (Node *) n;
26151 				}
26152 #line 26153 "gram.c" /* yacc.c:1652  */
26153     break;
26154 
26155   case 438:
26156 #line 3017 "gram.y" /* yacc.c:1652  */
26157     { (yyval.node) = (yyvsp[0].node); }
26158 #line 26159 "gram.c" /* yacc.c:1652  */
26159     break;
26160 
26161   case 439:
26162 #line 3018 "gram.y" /* yacc.c:1652  */
26163     { (yyval.node) = (yyvsp[0].node); }
26164 #line 26165 "gram.c" /* yacc.c:1652  */
26165     break;
26166 
26167   case 440:
26168 #line 3020 "gram.y" /* yacc.c:1652  */
26169     {
26170 					/*
26171 					 * Note: the CollateClause is momentarily included in
26172 					 * the list built by ColQualList, but we split it out
26173 					 * again in SplitColQualList.
26174 					 */
26175 					CollateClause *n = makeNode(CollateClause);
26176 					n->arg = NULL;
26177 					n->collname = (yyvsp[0].list);
26178 					n->location = (yylsp[-1]);
26179 					(yyval.node) = (Node *) n;
26180 				}
26181 #line 26182 "gram.c" /* yacc.c:1652  */
26182     break;
26183 
26184   case 441:
26185 #line 3051 "gram.y" /* yacc.c:1652  */
26186     {
26187 					Constraint *n = makeNode(Constraint);
26188 					n->contype = CONSTR_NOTNULL;
26189 					n->location = (yylsp[-1]);
26190 					(yyval.node) = (Node *)n;
26191 				}
26192 #line 26193 "gram.c" /* yacc.c:1652  */
26193     break;
26194 
26195   case 442:
26196 #line 3058 "gram.y" /* yacc.c:1652  */
26197     {
26198 					Constraint *n = makeNode(Constraint);
26199 					n->contype = CONSTR_NULL;
26200 					n->location = (yylsp[0]);
26201 					(yyval.node) = (Node *)n;
26202 				}
26203 #line 26204 "gram.c" /* yacc.c:1652  */
26204     break;
26205 
26206   case 443:
26207 #line 3065 "gram.y" /* yacc.c:1652  */
26208     {
26209 					Constraint *n = makeNode(Constraint);
26210 					n->contype = CONSTR_UNIQUE;
26211 					n->location = (yylsp[-2]);
26212 					n->keys = NULL;
26213 					n->options = (yyvsp[-1].list);
26214 					n->indexname = NULL;
26215 					n->indexspace = (yyvsp[0].str);
26216 					(yyval.node) = (Node *)n;
26217 				}
26218 #line 26219 "gram.c" /* yacc.c:1652  */
26219     break;
26220 
26221   case 444:
26222 #line 3076 "gram.y" /* yacc.c:1652  */
26223     {
26224 					Constraint *n = makeNode(Constraint);
26225 					n->contype = CONSTR_PRIMARY;
26226 					n->location = (yylsp[-3]);
26227 					n->keys = NULL;
26228 					n->options = (yyvsp[-1].list);
26229 					n->indexname = NULL;
26230 					n->indexspace = (yyvsp[0].str);
26231 					(yyval.node) = (Node *)n;
26232 				}
26233 #line 26234 "gram.c" /* yacc.c:1652  */
26234     break;
26235 
26236   case 445:
26237 #line 3087 "gram.y" /* yacc.c:1652  */
26238     {
26239 					Constraint *n = makeNode(Constraint);
26240 					n->contype = CONSTR_CHECK;
26241 					n->location = (yylsp[-4]);
26242 					n->is_no_inherit = (yyvsp[0].boolean);
26243 					n->raw_expr = (yyvsp[-2].node);
26244 					n->cooked_expr = NULL;
26245 					n->skip_validation = false;
26246 					n->initially_valid = true;
26247 					(yyval.node) = (Node *)n;
26248 				}
26249 #line 26250 "gram.c" /* yacc.c:1652  */
26250     break;
26251 
26252   case 446:
26253 #line 3099 "gram.y" /* yacc.c:1652  */
26254     {
26255 					Constraint *n = makeNode(Constraint);
26256 					n->contype = CONSTR_DEFAULT;
26257 					n->location = (yylsp[-1]);
26258 					n->raw_expr = (yyvsp[0].node);
26259 					n->cooked_expr = NULL;
26260 					(yyval.node) = (Node *)n;
26261 				}
26262 #line 26263 "gram.c" /* yacc.c:1652  */
26263     break;
26264 
26265   case 447:
26266 #line 3108 "gram.y" /* yacc.c:1652  */
26267     {
26268 					Constraint *n = makeNode(Constraint);
26269 					n->contype = CONSTR_FOREIGN;
26270 					n->location = (yylsp[-4]);
26271 					n->pktable			= (yyvsp[-3].range);
26272 					n->fk_attrs			= NIL;
26273 					n->pk_attrs			= (yyvsp[-2].list);
26274 					n->fk_matchtype		= (yyvsp[-1].ival);
26275 					n->fk_upd_action	= (char) ((yyvsp[0].ival) >> 8);
26276 					n->fk_del_action	= (char) ((yyvsp[0].ival) & 0xFF);
26277 					n->skip_validation  = false;
26278 					n->initially_valid  = true;
26279 					(yyval.node) = (Node *)n;
26280 				}
26281 #line 26282 "gram.c" /* yacc.c:1652  */
26282     break;
26283 
26284   case 448:
26285 #line 3141 "gram.y" /* yacc.c:1652  */
26286     {
26287 					Constraint *n = makeNode(Constraint);
26288 					n->contype = CONSTR_ATTR_DEFERRABLE;
26289 					n->location = (yylsp[0]);
26290 					(yyval.node) = (Node *)n;
26291 				}
26292 #line 26293 "gram.c" /* yacc.c:1652  */
26293     break;
26294 
26295   case 449:
26296 #line 3148 "gram.y" /* yacc.c:1652  */
26297     {
26298 					Constraint *n = makeNode(Constraint);
26299 					n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
26300 					n->location = (yylsp[-1]);
26301 					(yyval.node) = (Node *)n;
26302 				}
26303 #line 26304 "gram.c" /* yacc.c:1652  */
26304     break;
26305 
26306   case 450:
26307 #line 3155 "gram.y" /* yacc.c:1652  */
26308     {
26309 					Constraint *n = makeNode(Constraint);
26310 					n->contype = CONSTR_ATTR_DEFERRED;
26311 					n->location = (yylsp[-1]);
26312 					(yyval.node) = (Node *)n;
26313 				}
26314 #line 26315 "gram.c" /* yacc.c:1652  */
26315     break;
26316 
26317   case 451:
26318 #line 3162 "gram.y" /* yacc.c:1652  */
26319     {
26320 					Constraint *n = makeNode(Constraint);
26321 					n->contype = CONSTR_ATTR_IMMEDIATE;
26322 					n->location = (yylsp[-1]);
26323 					(yyval.node) = (Node *)n;
26324 				}
26325 #line 26326 "gram.c" /* yacc.c:1652  */
26326     break;
26327 
26328   case 452:
26329 #line 3173 "gram.y" /* yacc.c:1652  */
26330     {
26331 					TableLikeClause *n = makeNode(TableLikeClause);
26332 					n->relation = (yyvsp[-1].range);
26333 					n->options = (yyvsp[0].ival);
26334 					n->relationOid = InvalidOid;
26335 					(yyval.node) = (Node *)n;
26336 				}
26337 #line 26338 "gram.c" /* yacc.c:1652  */
26338     break;
26339 
26340   case 453:
26341 #line 3183 "gram.y" /* yacc.c:1652  */
26342     { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
26343 #line 26344 "gram.c" /* yacc.c:1652  */
26344     break;
26345 
26346   case 454:
26347 #line 3184 "gram.y" /* yacc.c:1652  */
26348     { (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); }
26349 #line 26350 "gram.c" /* yacc.c:1652  */
26350     break;
26351 
26352   case 455:
26353 #line 3185 "gram.y" /* yacc.c:1652  */
26354     { (yyval.ival) = 0; }
26355 #line 26356 "gram.c" /* yacc.c:1652  */
26356     break;
26357 
26358   case 456:
26359 #line 3189 "gram.y" /* yacc.c:1652  */
26360     { (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; }
26361 #line 26362 "gram.c" /* yacc.c:1652  */
26362     break;
26363 
26364   case 457:
26365 #line 3190 "gram.y" /* yacc.c:1652  */
26366     { (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; }
26367 #line 26368 "gram.c" /* yacc.c:1652  */
26368     break;
26369 
26370   case 458:
26371 #line 3191 "gram.y" /* yacc.c:1652  */
26372     { (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; }
26373 #line 26374 "gram.c" /* yacc.c:1652  */
26374     break;
26375 
26376   case 459:
26377 #line 3192 "gram.y" /* yacc.c:1652  */
26378     { (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
26379 #line 26380 "gram.c" /* yacc.c:1652  */
26380     break;
26381 
26382   case 460:
26383 #line 3193 "gram.y" /* yacc.c:1652  */
26384     { (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; }
26385 #line 26386 "gram.c" /* yacc.c:1652  */
26386     break;
26387 
26388   case 461:
26389 #line 3194 "gram.y" /* yacc.c:1652  */
26390     { (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
26391 #line 26392 "gram.c" /* yacc.c:1652  */
26392     break;
26393 
26394   case 462:
26395 #line 3204 "gram.y" /* yacc.c:1652  */
26396     {
26397 					Constraint *n = (Constraint *) (yyvsp[0].node);
26398 					Assert(IsA(n, Constraint));
26399 					n->conname = (yyvsp[-1].str);
26400 					n->location = (yylsp[-2]);
26401 					(yyval.node) = (Node *) n;
26402 				}
26403 #line 26404 "gram.c" /* yacc.c:1652  */
26404     break;
26405 
26406   case 463:
26407 #line 3211 "gram.y" /* yacc.c:1652  */
26408     { (yyval.node) = (yyvsp[0].node); }
26409 #line 26410 "gram.c" /* yacc.c:1652  */
26410     break;
26411 
26412   case 464:
26413 #line 3216 "gram.y" /* yacc.c:1652  */
26414     {
26415 					Constraint *n = makeNode(Constraint);
26416 					n->contype = CONSTR_CHECK;
26417 					n->location = (yylsp[-4]);
26418 					n->raw_expr = (yyvsp[-2].node);
26419 					n->cooked_expr = NULL;
26420 					processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
26421 								   NULL, NULL, &n->skip_validation,
26422 								   &n->is_no_inherit, yyscanner);
26423 					n->initially_valid = !n->skip_validation;
26424 					(yyval.node) = (Node *)n;
26425 				}
26426 #line 26427 "gram.c" /* yacc.c:1652  */
26427     break;
26428 
26429   case 465:
26430 #line 3230 "gram.y" /* yacc.c:1652  */
26431     {
26432 					Constraint *n = makeNode(Constraint);
26433 					n->contype = CONSTR_UNIQUE;
26434 					n->location = (yylsp[-6]);
26435 					n->keys = (yyvsp[-4].list);
26436 					n->options = (yyvsp[-2].list);
26437 					n->indexname = NULL;
26438 					n->indexspace = (yyvsp[-1].str);
26439 					processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
26440 								   &n->deferrable, &n->initdeferred, NULL,
26441 								   NULL, yyscanner);
26442 					(yyval.node) = (Node *)n;
26443 				}
26444 #line 26445 "gram.c" /* yacc.c:1652  */
26445     break;
26446 
26447   case 466:
26448 #line 3244 "gram.y" /* yacc.c:1652  */
26449     {
26450 					Constraint *n = makeNode(Constraint);
26451 					n->contype = CONSTR_UNIQUE;
26452 					n->location = (yylsp[-2]);
26453 					n->keys = NIL;
26454 					n->options = NIL;
26455 					n->indexname = (yyvsp[-1].str);
26456 					n->indexspace = NULL;
26457 					processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
26458 								   &n->deferrable, &n->initdeferred, NULL,
26459 								   NULL, yyscanner);
26460 					(yyval.node) = (Node *)n;
26461 				}
26462 #line 26463 "gram.c" /* yacc.c:1652  */
26463     break;
26464 
26465   case 467:
26466 #line 3259 "gram.y" /* yacc.c:1652  */
26467     {
26468 					Constraint *n = makeNode(Constraint);
26469 					n->contype = CONSTR_PRIMARY;
26470 					n->location = (yylsp[-7]);
26471 					n->keys = (yyvsp[-4].list);
26472 					n->options = (yyvsp[-2].list);
26473 					n->indexname = NULL;
26474 					n->indexspace = (yyvsp[-1].str);
26475 					processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
26476 								   &n->deferrable, &n->initdeferred, NULL,
26477 								   NULL, yyscanner);
26478 					(yyval.node) = (Node *)n;
26479 				}
26480 #line 26481 "gram.c" /* yacc.c:1652  */
26481     break;
26482 
26483   case 468:
26484 #line 3273 "gram.y" /* yacc.c:1652  */
26485     {
26486 					Constraint *n = makeNode(Constraint);
26487 					n->contype = CONSTR_PRIMARY;
26488 					n->location = (yylsp[-3]);
26489 					n->keys = NIL;
26490 					n->options = NIL;
26491 					n->indexname = (yyvsp[-1].str);
26492 					n->indexspace = NULL;
26493 					processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
26494 								   &n->deferrable, &n->initdeferred, NULL,
26495 								   NULL, yyscanner);
26496 					(yyval.node) = (Node *)n;
26497 				}
26498 #line 26499 "gram.c" /* yacc.c:1652  */
26499     break;
26500 
26501   case 469:
26502 #line 3289 "gram.y" /* yacc.c:1652  */
26503     {
26504 					Constraint *n = makeNode(Constraint);
26505 					n->contype = CONSTR_EXCLUSION;
26506 					n->location = (yylsp[-8]);
26507 					n->access_method	= (yyvsp[-7].str);
26508 					n->exclusions		= (yyvsp[-5].list);
26509 					n->options			= (yyvsp[-3].list);
26510 					n->indexname		= NULL;
26511 					n->indexspace		= (yyvsp[-2].str);
26512 					n->where_clause		= (yyvsp[-1].node);
26513 					processCASbits((yyvsp[0].ival), (yylsp[0]), "EXCLUDE",
26514 								   &n->deferrable, &n->initdeferred, NULL,
26515 								   NULL, yyscanner);
26516 					(yyval.node) = (Node *)n;
26517 				}
26518 #line 26519 "gram.c" /* yacc.c:1652  */
26519     break;
26520 
26521   case 470:
26522 #line 3306 "gram.y" /* yacc.c:1652  */
26523     {
26524 					Constraint *n = makeNode(Constraint);
26525 					n->contype = CONSTR_FOREIGN;
26526 					n->location = (yylsp[-10]);
26527 					n->pktable			= (yyvsp[-4].range);
26528 					n->fk_attrs			= (yyvsp[-7].list);
26529 					n->pk_attrs			= (yyvsp[-3].list);
26530 					n->fk_matchtype		= (yyvsp[-2].ival);
26531 					n->fk_upd_action	= (char) ((yyvsp[-1].ival) >> 8);
26532 					n->fk_del_action	= (char) ((yyvsp[-1].ival) & 0xFF);
26533 					processCASbits((yyvsp[0].ival), (yylsp[0]), "FOREIGN KEY",
26534 								   &n->deferrable, &n->initdeferred,
26535 								   &n->skip_validation, NULL,
26536 								   yyscanner);
26537 					n->initially_valid = !n->skip_validation;
26538 					(yyval.node) = (Node *)n;
26539 				}
26540 #line 26541 "gram.c" /* yacc.c:1652  */
26541     break;
26542 
26543   case 471:
26544 #line 3325 "gram.y" /* yacc.c:1652  */
26545     {  (yyval.boolean) = TRUE; }
26546 #line 26547 "gram.c" /* yacc.c:1652  */
26547     break;
26548 
26549   case 472:
26550 #line 3326 "gram.y" /* yacc.c:1652  */
26551     {  (yyval.boolean) = FALSE; }
26552 #line 26553 "gram.c" /* yacc.c:1652  */
26553     break;
26554 
26555   case 473:
26556 #line 3330 "gram.y" /* yacc.c:1652  */
26557     { (yyval.list) = (yyvsp[-1].list); }
26558 #line 26559 "gram.c" /* yacc.c:1652  */
26559     break;
26560 
26561   case 474:
26562 #line 3331 "gram.y" /* yacc.c:1652  */
26563     { (yyval.list) = NIL; }
26564 #line 26565 "gram.c" /* yacc.c:1652  */
26565     break;
26566 
26567   case 475:
26568 #line 3335 "gram.y" /* yacc.c:1652  */
26569     { (yyval.list) = list_make1((yyvsp[0].node)); }
26570 #line 26571 "gram.c" /* yacc.c:1652  */
26571     break;
26572 
26573   case 476:
26574 #line 3336 "gram.y" /* yacc.c:1652  */
26575     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
26576 #line 26577 "gram.c" /* yacc.c:1652  */
26577     break;
26578 
26579   case 477:
26580 #line 3340 "gram.y" /* yacc.c:1652  */
26581     {
26582 					(yyval.node) = (Node *) makeString((yyvsp[0].str));
26583 				}
26584 #line 26585 "gram.c" /* yacc.c:1652  */
26585     break;
26586 
26587   case 478:
26588 #line 3346 "gram.y" /* yacc.c:1652  */
26589     {
26590 				(yyval.ival) = FKCONSTR_MATCH_FULL;
26591 			}
26592 #line 26593 "gram.c" /* yacc.c:1652  */
26593     break;
26594 
26595   case 479:
26596 #line 3350 "gram.y" /* yacc.c:1652  */
26597     {
26598 				ereport(ERROR,
26599 						(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
26600 						 errmsg("MATCH PARTIAL not yet implemented"),
26601 						 parser_errposition((yylsp[-1]))));
26602 				(yyval.ival) = FKCONSTR_MATCH_PARTIAL;
26603 			}
26604 #line 26605 "gram.c" /* yacc.c:1652  */
26605     break;
26606 
26607   case 480:
26608 #line 3358 "gram.y" /* yacc.c:1652  */
26609     {
26610 				(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
26611 			}
26612 #line 26613 "gram.c" /* yacc.c:1652  */
26613     break;
26614 
26615   case 481:
26616 #line 3362 "gram.y" /* yacc.c:1652  */
26617     {
26618 				(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
26619 			}
26620 #line 26621 "gram.c" /* yacc.c:1652  */
26621     break;
26622 
26623   case 482:
26624 #line 3368 "gram.y" /* yacc.c:1652  */
26625     { (yyval.list) = list_make1((yyvsp[0].list)); }
26626 #line 26627 "gram.c" /* yacc.c:1652  */
26627     break;
26628 
26629   case 483:
26630 #line 3370 "gram.y" /* yacc.c:1652  */
26631     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
26632 #line 26633 "gram.c" /* yacc.c:1652  */
26633     break;
26634 
26635   case 484:
26636 #line 3374 "gram.y" /* yacc.c:1652  */
26637     {
26638 				(yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
26639 			}
26640 #line 26641 "gram.c" /* yacc.c:1652  */
26641     break;
26642 
26643   case 485:
26644 #line 3379 "gram.y" /* yacc.c:1652  */
26645     {
26646 				(yyval.list) = list_make2((yyvsp[-5].ielem), (yyvsp[-1].list));
26647 			}
26648 #line 26649 "gram.c" /* yacc.c:1652  */
26649     break;
26650 
26651   case 486:
26652 #line 3385 "gram.y" /* yacc.c:1652  */
26653     { (yyval.node) = (yyvsp[-1].node); }
26654 #line 26655 "gram.c" /* yacc.c:1652  */
26655     break;
26656 
26657   case 487:
26658 #line 3386 "gram.y" /* yacc.c:1652  */
26659     { (yyval.node) = NULL; }
26660 #line 26661 "gram.c" /* yacc.c:1652  */
26661     break;
26662 
26663   case 488:
26664 #line 3397 "gram.y" /* yacc.c:1652  */
26665     { (yyval.ival) = ((yyvsp[0].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
26666 #line 26667 "gram.c" /* yacc.c:1652  */
26667     break;
26668 
26669   case 489:
26670 #line 3399 "gram.y" /* yacc.c:1652  */
26671     { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[0].ival) & 0xFF); }
26672 #line 26673 "gram.c" /* yacc.c:1652  */
26673     break;
26674 
26675   case 490:
26676 #line 3401 "gram.y" /* yacc.c:1652  */
26677     { (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); }
26678 #line 26679 "gram.c" /* yacc.c:1652  */
26679     break;
26680 
26681   case 491:
26682 #line 3403 "gram.y" /* yacc.c:1652  */
26683     { (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); }
26684 #line 26685 "gram.c" /* yacc.c:1652  */
26685     break;
26686 
26687   case 492:
26688 #line 3405 "gram.y" /* yacc.c:1652  */
26689     { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
26690 #line 26691 "gram.c" /* yacc.c:1652  */
26691     break;
26692 
26693   case 493:
26694 #line 3408 "gram.y" /* yacc.c:1652  */
26695     { (yyval.ival) = (yyvsp[0].ival); }
26696 #line 26697 "gram.c" /* yacc.c:1652  */
26697     break;
26698 
26699   case 494:
26700 #line 3411 "gram.y" /* yacc.c:1652  */
26701     { (yyval.ival) = (yyvsp[0].ival); }
26702 #line 26703 "gram.c" /* yacc.c:1652  */
26703     break;
26704 
26705   case 495:
26706 #line 3415 "gram.y" /* yacc.c:1652  */
26707     { (yyval.ival) = FKCONSTR_ACTION_NOACTION; }
26708 #line 26709 "gram.c" /* yacc.c:1652  */
26709     break;
26710 
26711   case 496:
26712 #line 3416 "gram.y" /* yacc.c:1652  */
26713     { (yyval.ival) = FKCONSTR_ACTION_RESTRICT; }
26714 #line 26715 "gram.c" /* yacc.c:1652  */
26715     break;
26716 
26717   case 497:
26718 #line 3417 "gram.y" /* yacc.c:1652  */
26719     { (yyval.ival) = FKCONSTR_ACTION_CASCADE; }
26720 #line 26721 "gram.c" /* yacc.c:1652  */
26721     break;
26722 
26723   case 498:
26724 #line 3418 "gram.y" /* yacc.c:1652  */
26725     { (yyval.ival) = FKCONSTR_ACTION_SETNULL; }
26726 #line 26727 "gram.c" /* yacc.c:1652  */
26727     break;
26728 
26729   case 499:
26730 #line 3419 "gram.y" /* yacc.c:1652  */
26731     { (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; }
26732 #line 26733 "gram.c" /* yacc.c:1652  */
26733     break;
26734 
26735   case 500:
26736 #line 3422 "gram.y" /* yacc.c:1652  */
26737     { (yyval.list) = (yyvsp[-1].list); }
26738 #line 26739 "gram.c" /* yacc.c:1652  */
26739     break;
26740 
26741   case 501:
26742 #line 3423 "gram.y" /* yacc.c:1652  */
26743     { (yyval.list) = NIL; }
26744 #line 26745 "gram.c" /* yacc.c:1652  */
26745     break;
26746 
26747   case 502:
26748 #line 3428 "gram.y" /* yacc.c:1652  */
26749     { (yyval.list) = (yyvsp[0].list); }
26750 #line 26751 "gram.c" /* yacc.c:1652  */
26751     break;
26752 
26753   case 503:
26754 #line 3429 "gram.y" /* yacc.c:1652  */
26755     { (yyval.list) = list_make1(defWithOids(true)); }
26756 #line 26757 "gram.c" /* yacc.c:1652  */
26757     break;
26758 
26759   case 504:
26760 #line 3430 "gram.y" /* yacc.c:1652  */
26761     { (yyval.list) = list_make1(defWithOids(false)); }
26762 #line 26763 "gram.c" /* yacc.c:1652  */
26763     break;
26764 
26765   case 505:
26766 #line 3431 "gram.y" /* yacc.c:1652  */
26767     { (yyval.list) = NIL; }
26768 #line 26769 "gram.c" /* yacc.c:1652  */
26769     break;
26770 
26771   case 506:
26772 #line 3434 "gram.y" /* yacc.c:1652  */
26773     { (yyval.oncommit) = ONCOMMIT_DROP; }
26774 #line 26775 "gram.c" /* yacc.c:1652  */
26775     break;
26776 
26777   case 507:
26778 #line 3435 "gram.y" /* yacc.c:1652  */
26779     { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
26780 #line 26781 "gram.c" /* yacc.c:1652  */
26781     break;
26782 
26783   case 508:
26784 #line 3436 "gram.y" /* yacc.c:1652  */
26785     { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
26786 #line 26787 "gram.c" /* yacc.c:1652  */
26787     break;
26788 
26789   case 509:
26790 #line 3437 "gram.y" /* yacc.c:1652  */
26791     { (yyval.oncommit) = ONCOMMIT_NOOP; }
26792 #line 26793 "gram.c" /* yacc.c:1652  */
26793     break;
26794 
26795   case 510:
26796 #line 3440 "gram.y" /* yacc.c:1652  */
26797     { (yyval.str) = (yyvsp[0].str); }
26798 #line 26799 "gram.c" /* yacc.c:1652  */
26799     break;
26800 
26801   case 511:
26802 #line 3441 "gram.y" /* yacc.c:1652  */
26803     { (yyval.str) = NULL; }
26804 #line 26805 "gram.c" /* yacc.c:1652  */
26805     break;
26806 
26807   case 512:
26808 #line 3444 "gram.y" /* yacc.c:1652  */
26809     { (yyval.str) = (yyvsp[0].str); }
26810 #line 26811 "gram.c" /* yacc.c:1652  */
26811     break;
26812 
26813   case 513:
26814 #line 3445 "gram.y" /* yacc.c:1652  */
26815     { (yyval.str) = NULL; }
26816 #line 26817 "gram.c" /* yacc.c:1652  */
26817     break;
26818 
26819   case 514:
26820 #line 3448 "gram.y" /* yacc.c:1652  */
26821     { (yyval.str) = (yyvsp[0].str); }
26822 #line 26823 "gram.c" /* yacc.c:1652  */
26823     break;
26824 
26825   case 515:
26826 #line 3464 "gram.y" /* yacc.c:1652  */
26827     {
26828 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
26829 					ctas->query = (yyvsp[-1].node);
26830 					ctas->into = (yyvsp[-3].into);
26831 					ctas->relkind = OBJECT_TABLE;
26832 					ctas->is_select_into = false;
26833 					ctas->if_not_exists = false;
26834 					/* cram additional flags into the IntoClause */
26835 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-5].ival);
26836 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
26837 					(yyval.node) = (Node *) ctas;
26838 				}
26839 #line 26840 "gram.c" /* yacc.c:1652  */
26840     break;
26841 
26842   case 516:
26843 #line 3477 "gram.y" /* yacc.c:1652  */
26844     {
26845 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
26846 					ctas->query = (yyvsp[-1].node);
26847 					ctas->into = (yyvsp[-3].into);
26848 					ctas->relkind = OBJECT_TABLE;
26849 					ctas->is_select_into = false;
26850 					ctas->if_not_exists = true;
26851 					/* cram additional flags into the IntoClause */
26852 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-8].ival);
26853 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
26854 					(yyval.node) = (Node *) ctas;
26855 				}
26856 #line 26857 "gram.c" /* yacc.c:1652  */
26857     break;
26858 
26859   case 517:
26860 #line 3493 "gram.y" /* yacc.c:1652  */
26861     {
26862 					(yyval.into) = makeNode(IntoClause);
26863 					(yyval.into)->rel = (yyvsp[-4].range);
26864 					(yyval.into)->colNames = (yyvsp[-3].list);
26865 					(yyval.into)->options = (yyvsp[-2].list);
26866 					(yyval.into)->onCommit = (yyvsp[-1].oncommit);
26867 					(yyval.into)->tableSpaceName = (yyvsp[0].str);
26868 					(yyval.into)->viewQuery = NULL;
26869 					(yyval.into)->skipData = false;		/* might get changed later */
26870 				}
26871 #line 26872 "gram.c" /* yacc.c:1652  */
26872     break;
26873 
26874   case 518:
26875 #line 3506 "gram.y" /* yacc.c:1652  */
26876     { (yyval.boolean) = TRUE; }
26877 #line 26878 "gram.c" /* yacc.c:1652  */
26878     break;
26879 
26880   case 519:
26881 #line 3507 "gram.y" /* yacc.c:1652  */
26882     { (yyval.boolean) = FALSE; }
26883 #line 26884 "gram.c" /* yacc.c:1652  */
26884     break;
26885 
26886   case 520:
26887 #line 3508 "gram.y" /* yacc.c:1652  */
26888     { (yyval.boolean) = TRUE; }
26889 #line 26890 "gram.c" /* yacc.c:1652  */
26890     break;
26891 
26892   case 521:
26893 #line 3521 "gram.y" /* yacc.c:1652  */
26894     {
26895 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
26896 					ctas->query = (yyvsp[-1].node);
26897 					ctas->into = (yyvsp[-3].into);
26898 					ctas->relkind = OBJECT_MATVIEW;
26899 					ctas->is_select_into = false;
26900 					ctas->if_not_exists = false;
26901 					/* cram additional flags into the IntoClause */
26902 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-6].ival);
26903 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
26904 					(yyval.node) = (Node *) ctas;
26905 				}
26906 #line 26907 "gram.c" /* yacc.c:1652  */
26907     break;
26908 
26909   case 522:
26910 #line 3534 "gram.y" /* yacc.c:1652  */
26911     {
26912 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
26913 					ctas->query = (yyvsp[-1].node);
26914 					ctas->into = (yyvsp[-3].into);
26915 					ctas->relkind = OBJECT_MATVIEW;
26916 					ctas->is_select_into = false;
26917 					ctas->if_not_exists = true;
26918 					/* cram additional flags into the IntoClause */
26919 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-9].ival);
26920 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
26921 					(yyval.node) = (Node *) ctas;
26922 				}
26923 #line 26924 "gram.c" /* yacc.c:1652  */
26924     break;
26925 
26926   case 523:
26927 #line 3550 "gram.y" /* yacc.c:1652  */
26928     {
26929 					(yyval.into) = makeNode(IntoClause);
26930 					(yyval.into)->rel = (yyvsp[-3].range);
26931 					(yyval.into)->colNames = (yyvsp[-2].list);
26932 					(yyval.into)->options = (yyvsp[-1].list);
26933 					(yyval.into)->onCommit = ONCOMMIT_NOOP;
26934 					(yyval.into)->tableSpaceName = (yyvsp[0].str);
26935 					(yyval.into)->viewQuery = NULL;		/* filled at analysis time */
26936 					(yyval.into)->skipData = false;		/* might get changed later */
26937 				}
26938 #line 26939 "gram.c" /* yacc.c:1652  */
26939     break;
26940 
26941   case 524:
26942 #line 3562 "gram.y" /* yacc.c:1652  */
26943     { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
26944 #line 26945 "gram.c" /* yacc.c:1652  */
26945     break;
26946 
26947   case 525:
26948 #line 3563 "gram.y" /* yacc.c:1652  */
26949     { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
26950 #line 26951 "gram.c" /* yacc.c:1652  */
26951     break;
26952 
26953   case 526:
26954 #line 3576 "gram.y" /* yacc.c:1652  */
26955     {
26956 					RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
26957 					n->concurrent = (yyvsp[-2].boolean);
26958 					n->relation = (yyvsp[-1].range);
26959 					n->skipData = !((yyvsp[0].boolean));
26960 					(yyval.node) = (Node *) n;
26961 				}
26962 #line 26963 "gram.c" /* yacc.c:1652  */
26963     break;
26964 
26965   case 527:
26966 #line 3596 "gram.y" /* yacc.c:1652  */
26967     {
26968 					CreateSeqStmt *n = makeNode(CreateSeqStmt);
26969 					(yyvsp[-1].range)->relpersistence = (yyvsp[-3].ival);
26970 					n->sequence = (yyvsp[-1].range);
26971 					n->options = (yyvsp[0].list);
26972 					n->ownerId = InvalidOid;
26973 					n->if_not_exists = false;
26974 					(yyval.node) = (Node *)n;
26975 				}
26976 #line 26977 "gram.c" /* yacc.c:1652  */
26977     break;
26978 
26979   case 528:
26980 #line 3606 "gram.y" /* yacc.c:1652  */
26981     {
26982 					CreateSeqStmt *n = makeNode(CreateSeqStmt);
26983 					(yyvsp[-1].range)->relpersistence = (yyvsp[-6].ival);
26984 					n->sequence = (yyvsp[-1].range);
26985 					n->options = (yyvsp[0].list);
26986 					n->ownerId = InvalidOid;
26987 					n->if_not_exists = true;
26988 					(yyval.node) = (Node *)n;
26989 				}
26990 #line 26991 "gram.c" /* yacc.c:1652  */
26991     break;
26992 
26993   case 529:
26994 #line 3619 "gram.y" /* yacc.c:1652  */
26995     {
26996 					AlterSeqStmt *n = makeNode(AlterSeqStmt);
26997 					n->sequence = (yyvsp[-1].range);
26998 					n->options = (yyvsp[0].list);
26999 					n->missing_ok = false;
27000 					(yyval.node) = (Node *)n;
27001 				}
27002 #line 27003 "gram.c" /* yacc.c:1652  */
27003     break;
27004 
27005   case 530:
27006 #line 3627 "gram.y" /* yacc.c:1652  */
27007     {
27008 					AlterSeqStmt *n = makeNode(AlterSeqStmt);
27009 					n->sequence = (yyvsp[-1].range);
27010 					n->options = (yyvsp[0].list);
27011 					n->missing_ok = true;
27012 					(yyval.node) = (Node *)n;
27013 				}
27014 #line 27015 "gram.c" /* yacc.c:1652  */
27015     break;
27016 
27017   case 531:
27018 #line 3637 "gram.y" /* yacc.c:1652  */
27019     { (yyval.list) = (yyvsp[0].list); }
27020 #line 27021 "gram.c" /* yacc.c:1652  */
27021     break;
27022 
27023   case 532:
27024 #line 3638 "gram.y" /* yacc.c:1652  */
27025     { (yyval.list) = NIL; }
27026 #line 27027 "gram.c" /* yacc.c:1652  */
27027     break;
27028 
27029   case 533:
27030 #line 3641 "gram.y" /* yacc.c:1652  */
27031     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
27032 #line 27033 "gram.c" /* yacc.c:1652  */
27033     break;
27034 
27035   case 534:
27036 #line 3642 "gram.y" /* yacc.c:1652  */
27037     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
27038 #line 27039 "gram.c" /* yacc.c:1652  */
27039     break;
27040 
27041   case 535:
27042 #line 3646 "gram.y" /* yacc.c:1652  */
27043     {
27044 					(yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[0].value));
27045 				}
27046 #line 27047 "gram.c" /* yacc.c:1652  */
27047     break;
27048 
27049   case 536:
27050 #line 3650 "gram.y" /* yacc.c:1652  */
27051     {
27052 					(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(TRUE));
27053 				}
27054 #line 27055 "gram.c" /* yacc.c:1652  */
27055     break;
27056 
27057   case 537:
27058 #line 3654 "gram.y" /* yacc.c:1652  */
27059     {
27060 					(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(FALSE));
27061 				}
27062 #line 27063 "gram.c" /* yacc.c:1652  */
27063     break;
27064 
27065   case 538:
27066 #line 3658 "gram.y" /* yacc.c:1652  */
27067     {
27068 					(yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[0].value));
27069 				}
27070 #line 27071 "gram.c" /* yacc.c:1652  */
27071     break;
27072 
27073   case 539:
27074 #line 3662 "gram.y" /* yacc.c:1652  */
27075     {
27076 					(yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[0].value));
27077 				}
27078 #line 27079 "gram.c" /* yacc.c:1652  */
27079     break;
27080 
27081   case 540:
27082 #line 3666 "gram.y" /* yacc.c:1652  */
27083     {
27084 					(yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[0].value));
27085 				}
27086 #line 27087 "gram.c" /* yacc.c:1652  */
27087     break;
27088 
27089   case 541:
27090 #line 3670 "gram.y" /* yacc.c:1652  */
27091     {
27092 					(yyval.defelt) = makeDefElem("maxvalue", NULL);
27093 				}
27094 #line 27095 "gram.c" /* yacc.c:1652  */
27095     break;
27096 
27097   case 542:
27098 #line 3674 "gram.y" /* yacc.c:1652  */
27099     {
27100 					(yyval.defelt) = makeDefElem("minvalue", NULL);
27101 				}
27102 #line 27103 "gram.c" /* yacc.c:1652  */
27103     break;
27104 
27105   case 543:
27106 #line 3678 "gram.y" /* yacc.c:1652  */
27107     {
27108 					(yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[0].list));
27109 				}
27110 #line 27111 "gram.c" /* yacc.c:1652  */
27111     break;
27112 
27113   case 544:
27114 #line 3682 "gram.y" /* yacc.c:1652  */
27115     {
27116 					(yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[0].value));
27117 				}
27118 #line 27119 "gram.c" /* yacc.c:1652  */
27119     break;
27120 
27121   case 545:
27122 #line 3686 "gram.y" /* yacc.c:1652  */
27123     {
27124 					(yyval.defelt) = makeDefElem("restart", NULL);
27125 				}
27126 #line 27127 "gram.c" /* yacc.c:1652  */
27127     break;
27128 
27129   case 546:
27130 #line 3690 "gram.y" /* yacc.c:1652  */
27131     {
27132 					(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value));
27133 				}
27134 #line 27135 "gram.c" /* yacc.c:1652  */
27135     break;
27136 
27137   case 547:
27138 #line 3695 "gram.y" /* yacc.c:1652  */
27139     {}
27140 #line 27141 "gram.c" /* yacc.c:1652  */
27141     break;
27142 
27143   case 548:
27144 #line 3696 "gram.y" /* yacc.c:1652  */
27145     {}
27146 #line 27147 "gram.c" /* yacc.c:1652  */
27147     break;
27148 
27149   case 549:
27150 #line 3700 "gram.y" /* yacc.c:1652  */
27151     { (yyval.value) = makeFloat((yyvsp[0].str)); }
27152 #line 27153 "gram.c" /* yacc.c:1652  */
27153     break;
27154 
27155   case 550:
27156 #line 3701 "gram.y" /* yacc.c:1652  */
27157     { (yyval.value) = makeFloat((yyvsp[0].str)); }
27158 #line 27159 "gram.c" /* yacc.c:1652  */
27159     break;
27160 
27161   case 551:
27162 #line 3703 "gram.y" /* yacc.c:1652  */
27163     {
27164 					(yyval.value) = makeFloat((yyvsp[0].str));
27165 					doNegateFloat((yyval.value));
27166 				}
27167 #line 27168 "gram.c" /* yacc.c:1652  */
27168     break;
27169 
27170   case 552:
27171 #line 3707 "gram.y" /* yacc.c:1652  */
27172     { (yyval.value) = makeInteger((yyvsp[0].ival)); }
27173 #line 27174 "gram.c" /* yacc.c:1652  */
27174     break;
27175 
27176   case 553:
27177 #line 3710 "gram.y" /* yacc.c:1652  */
27178     { (yyval.list) = list_make1((yyvsp[0].value)); }
27179 #line 27180 "gram.c" /* yacc.c:1652  */
27180     break;
27181 
27182   case 554:
27183 #line 3711 "gram.y" /* yacc.c:1652  */
27184     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
27185 #line 27186 "gram.c" /* yacc.c:1652  */
27186     break;
27187 
27188   case 555:
27189 #line 3724 "gram.y" /* yacc.c:1652  */
27190     {
27191 				CreatePLangStmt *n = makeNode(CreatePLangStmt);
27192 				n->replace = (yyvsp[-4].boolean);
27193 				n->plname = (yyvsp[0].str);
27194 				/* parameters are all to be supplied by system */
27195 				n->plhandler = NIL;
27196 				n->plinline = NIL;
27197 				n->plvalidator = NIL;
27198 				n->pltrusted = false;
27199 				(yyval.node) = (Node *)n;
27200 			}
27201 #line 27202 "gram.c" /* yacc.c:1652  */
27202     break;
27203 
27204   case 556:
27205 #line 3737 "gram.y" /* yacc.c:1652  */
27206     {
27207 				CreatePLangStmt *n = makeNode(CreatePLangStmt);
27208 				n->replace = (yyvsp[-8].boolean);
27209 				n->plname = (yyvsp[-4].str);
27210 				n->plhandler = (yyvsp[-2].list);
27211 				n->plinline = (yyvsp[-1].list);
27212 				n->plvalidator = (yyvsp[0].list);
27213 				n->pltrusted = (yyvsp[-7].boolean);
27214 				(yyval.node) = (Node *)n;
27215 			}
27216 #line 27217 "gram.c" /* yacc.c:1652  */
27217     break;
27218 
27219   case 557:
27220 #line 3750 "gram.y" /* yacc.c:1652  */
27221     { (yyval.boolean) = TRUE; }
27222 #line 27223 "gram.c" /* yacc.c:1652  */
27223     break;
27224 
27225   case 558:
27226 #line 3751 "gram.y" /* yacc.c:1652  */
27227     { (yyval.boolean) = FALSE; }
27228 #line 27229 "gram.c" /* yacc.c:1652  */
27229     break;
27230 
27231   case 559:
27232 #line 3759 "gram.y" /* yacc.c:1652  */
27233     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
27234 #line 27235 "gram.c" /* yacc.c:1652  */
27235     break;
27236 
27237   case 560:
27238 #line 3760 "gram.y" /* yacc.c:1652  */
27239     { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
27240 #line 27241 "gram.c" /* yacc.c:1652  */
27241     break;
27242 
27243   case 561:
27244 #line 3764 "gram.y" /* yacc.c:1652  */
27245     { (yyval.list) = (yyvsp[0].list); }
27246 #line 27247 "gram.c" /* yacc.c:1652  */
27247     break;
27248 
27249   case 562:
27250 #line 3765 "gram.y" /* yacc.c:1652  */
27251     { (yyval.list) = NIL; }
27252 #line 27253 "gram.c" /* yacc.c:1652  */
27253     break;
27254 
27255   case 563:
27256 #line 3769 "gram.y" /* yacc.c:1652  */
27257     { (yyval.list) = (yyvsp[0].list); }
27258 #line 27259 "gram.c" /* yacc.c:1652  */
27259     break;
27260 
27261   case 564:
27262 #line 3770 "gram.y" /* yacc.c:1652  */
27263     { (yyval.list) = NIL; }
27264 #line 27265 "gram.c" /* yacc.c:1652  */
27265     break;
27266 
27267   case 565:
27268 #line 3774 "gram.y" /* yacc.c:1652  */
27269     { (yyval.list) = (yyvsp[0].list); }
27270 #line 27271 "gram.c" /* yacc.c:1652  */
27271     break;
27272 
27273   case 566:
27274 #line 3775 "gram.y" /* yacc.c:1652  */
27275     { (yyval.list) = NIL; }
27276 #line 27277 "gram.c" /* yacc.c:1652  */
27277     break;
27278 
27279   case 567:
27280 #line 3780 "gram.y" /* yacc.c:1652  */
27281     {
27282 					DropStmt *n = makeNode(DropStmt);
27283 					n->removeType = OBJECT_LANGUAGE;
27284 					n->objects = list_make1(list_make1(makeString((yyvsp[-1].str))));
27285 					n->arguments = NIL;
27286 					n->behavior = (yyvsp[0].dbehavior);
27287 					n->missing_ok = false;
27288 					n->concurrent = false;
27289 					(yyval.node) = (Node *)n;
27290 				}
27291 #line 27292 "gram.c" /* yacc.c:1652  */
27292     break;
27293 
27294   case 568:
27295 #line 3791 "gram.y" /* yacc.c:1652  */
27296     {
27297 					DropStmt *n = makeNode(DropStmt);
27298 					n->removeType = OBJECT_LANGUAGE;
27299 					n->objects = list_make1(list_make1(makeString((yyvsp[-1].str))));
27300 					n->behavior = (yyvsp[0].dbehavior);
27301 					n->missing_ok = true;
27302 					n->concurrent = false;
27303 					(yyval.node) = (Node *)n;
27304 				}
27305 #line 27306 "gram.c" /* yacc.c:1652  */
27306     break;
27307 
27308   case 569:
27309 #line 3803 "gram.y" /* yacc.c:1652  */
27310     {}
27311 #line 27312 "gram.c" /* yacc.c:1652  */
27312     break;
27313 
27314   case 570:
27315 #line 3804 "gram.y" /* yacc.c:1652  */
27316     {}
27317 #line 27318 "gram.c" /* yacc.c:1652  */
27318     break;
27319 
27320   case 571:
27321 #line 3815 "gram.y" /* yacc.c:1652  */
27322     {
27323 					CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
27324 					n->tablespacename = (yyvsp[-4].str);
27325 					n->owner = (yyvsp[-3].node);
27326 					n->location = (yyvsp[-1].str);
27327 					n->options = (yyvsp[0].list);
27328 					(yyval.node) = (Node *) n;
27329 				}
27330 #line 27331 "gram.c" /* yacc.c:1652  */
27331     break;
27332 
27333   case 572:
27334 #line 3825 "gram.y" /* yacc.c:1652  */
27335     { (yyval.node) = (yyvsp[0].node); }
27336 #line 27337 "gram.c" /* yacc.c:1652  */
27337     break;
27338 
27339   case 573:
27340 #line 3826 "gram.y" /* yacc.c:1652  */
27341     { (yyval.node) = NULL; }
27342 #line 27343 "gram.c" /* yacc.c:1652  */
27343     break;
27344 
27345   case 574:
27346 #line 3840 "gram.y" /* yacc.c:1652  */
27347     {
27348 					DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
27349 					n->tablespacename = (yyvsp[0].str);
27350 					n->missing_ok = false;
27351 					(yyval.node) = (Node *) n;
27352 				}
27353 #line 27354 "gram.c" /* yacc.c:1652  */
27354     break;
27355 
27356   case 575:
27357 #line 3847 "gram.y" /* yacc.c:1652  */
27358     {
27359 					DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
27360 					n->tablespacename = (yyvsp[0].str);
27361 					n->missing_ok = true;
27362 					(yyval.node) = (Node *) n;
27363 				}
27364 #line 27365 "gram.c" /* yacc.c:1652  */
27365     break;
27366 
27367   case 576:
27368 #line 3864 "gram.y" /* yacc.c:1652  */
27369     {
27370 					CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
27371 					n->extname = (yyvsp[-2].str);
27372 					n->if_not_exists = false;
27373 					n->options = (yyvsp[0].list);
27374 					(yyval.node) = (Node *) n;
27375 				}
27376 #line 27377 "gram.c" /* yacc.c:1652  */
27377     break;
27378 
27379   case 577:
27380 #line 3872 "gram.y" /* yacc.c:1652  */
27381     {
27382 					CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
27383 					n->extname = (yyvsp[-2].str);
27384 					n->if_not_exists = true;
27385 					n->options = (yyvsp[0].list);
27386 					(yyval.node) = (Node *) n;
27387 				}
27388 #line 27389 "gram.c" /* yacc.c:1652  */
27389     break;
27390 
27391   case 578:
27392 #line 3883 "gram.y" /* yacc.c:1652  */
27393     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
27394 #line 27395 "gram.c" /* yacc.c:1652  */
27395     break;
27396 
27397   case 579:
27398 #line 3885 "gram.y" /* yacc.c:1652  */
27399     { (yyval.list) = NIL; }
27400 #line 27401 "gram.c" /* yacc.c:1652  */
27401     break;
27402 
27403   case 580:
27404 #line 3890 "gram.y" /* yacc.c:1652  */
27405     {
27406 					(yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[0].str)));
27407 				}
27408 #line 27409 "gram.c" /* yacc.c:1652  */
27409     break;
27410 
27411   case 581:
27412 #line 3894 "gram.y" /* yacc.c:1652  */
27413     {
27414 					(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)));
27415 				}
27416 #line 27417 "gram.c" /* yacc.c:1652  */
27417     break;
27418 
27419   case 582:
27420 #line 3898 "gram.y" /* yacc.c:1652  */
27421     {
27422 					(yyval.defelt) = makeDefElem("old_version", (Node *)makeString((yyvsp[0].str)));
27423 				}
27424 #line 27425 "gram.c" /* yacc.c:1652  */
27425     break;
27426 
27427   case 583:
27428 #line 3902 "gram.y" /* yacc.c:1652  */
27429     {
27430 					(yyval.defelt) = makeDefElem("cascade", (Node *)makeInteger(TRUE));
27431 				}
27432 #line 27433 "gram.c" /* yacc.c:1652  */
27433     break;
27434 
27435   case 584:
27436 #line 3914 "gram.y" /* yacc.c:1652  */
27437     {
27438 					AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
27439 					n->extname = (yyvsp[-2].str);
27440 					n->options = (yyvsp[0].list);
27441 					(yyval.node) = (Node *) n;
27442 				}
27443 #line 27444 "gram.c" /* yacc.c:1652  */
27444     break;
27445 
27446   case 585:
27447 #line 3924 "gram.y" /* yacc.c:1652  */
27448     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
27449 #line 27450 "gram.c" /* yacc.c:1652  */
27450     break;
27451 
27452   case 586:
27453 #line 3926 "gram.y" /* yacc.c:1652  */
27454     { (yyval.list) = NIL; }
27455 #line 27456 "gram.c" /* yacc.c:1652  */
27456     break;
27457 
27458   case 587:
27459 #line 3931 "gram.y" /* yacc.c:1652  */
27460     {
27461 					(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)));
27462 				}
27463 #line 27464 "gram.c" /* yacc.c:1652  */
27464     break;
27465 
27466   case 588:
27467 #line 3944 "gram.y" /* yacc.c:1652  */
27468     {
27469 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27470 					n->extname = (yyvsp[-4].str);
27471 					n->action = (yyvsp[-3].ival);
27472 					n->objtype = OBJECT_ACCESS_METHOD;
27473 					n->objname = list_make1(makeString((yyvsp[0].str)));
27474 					(yyval.node) = (Node *)n;
27475 				}
27476 #line 27477 "gram.c" /* yacc.c:1652  */
27477     break;
27478 
27479   case 589:
27480 #line 3953 "gram.y" /* yacc.c:1652  */
27481     {
27482 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27483 					n->extname = (yyvsp[-4].str);
27484 					n->action = (yyvsp[-3].ival);
27485 					n->objtype = OBJECT_AGGREGATE;
27486 					n->objname = (yyvsp[-1].list);
27487 					n->objargs = extractAggrArgTypes((yyvsp[0].list));
27488 					(yyval.node) = (Node *)n;
27489 				}
27490 #line 27491 "gram.c" /* yacc.c:1652  */
27491     break;
27492 
27493   case 590:
27494 #line 3963 "gram.y" /* yacc.c:1652  */
27495     {
27496 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27497 					n->extname = (yyvsp[-7].str);
27498 					n->action = (yyvsp[-6].ival);
27499 					n->objtype = OBJECT_CAST;
27500 					n->objname = list_make1((yyvsp[-3].typnam));
27501 					n->objargs = list_make1((yyvsp[-1].typnam));
27502 					(yyval.node) = (Node *) n;
27503 				}
27504 #line 27505 "gram.c" /* yacc.c:1652  */
27505     break;
27506 
27507   case 591:
27508 #line 3973 "gram.y" /* yacc.c:1652  */
27509     {
27510 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27511 					n->extname = (yyvsp[-3].str);
27512 					n->action = (yyvsp[-2].ival);
27513 					n->objtype = OBJECT_COLLATION;
27514 					n->objname = (yyvsp[0].list);
27515 					(yyval.node) = (Node *)n;
27516 				}
27517 #line 27518 "gram.c" /* yacc.c:1652  */
27518     break;
27519 
27520   case 592:
27521 #line 3982 "gram.y" /* yacc.c:1652  */
27522     {
27523 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27524 					n->extname = (yyvsp[-3].str);
27525 					n->action = (yyvsp[-2].ival);
27526 					n->objtype = OBJECT_CONVERSION;
27527 					n->objname = (yyvsp[0].list);
27528 					(yyval.node) = (Node *)n;
27529 				}
27530 #line 27531 "gram.c" /* yacc.c:1652  */
27531     break;
27532 
27533   case 593:
27534 #line 3991 "gram.y" /* yacc.c:1652  */
27535     {
27536 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27537 					n->extname = (yyvsp[-3].str);
27538 					n->action = (yyvsp[-2].ival);
27539 					n->objtype = OBJECT_DOMAIN;
27540 					n->objname = list_make1((yyvsp[0].typnam));
27541 					(yyval.node) = (Node *)n;
27542 				}
27543 #line 27544 "gram.c" /* yacc.c:1652  */
27544     break;
27545 
27546   case 594:
27547 #line 4000 "gram.y" /* yacc.c:1652  */
27548     {
27549 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27550 					n->extname = (yyvsp[-3].str);
27551 					n->action = (yyvsp[-2].ival);
27552 					n->objtype = OBJECT_FUNCTION;
27553 					n->objname = (yyvsp[0].funwithargs)->funcname;
27554 					n->objargs = (yyvsp[0].funwithargs)->funcargs;
27555 					(yyval.node) = (Node *)n;
27556 				}
27557 #line 27558 "gram.c" /* yacc.c:1652  */
27558     break;
27559 
27560   case 595:
27561 #line 4010 "gram.y" /* yacc.c:1652  */
27562     {
27563 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27564 					n->extname = (yyvsp[-4].str);
27565 					n->action = (yyvsp[-3].ival);
27566 					n->objtype = OBJECT_LANGUAGE;
27567 					n->objname = list_make1(makeString((yyvsp[0].str)));
27568 					(yyval.node) = (Node *)n;
27569 				}
27570 #line 27571 "gram.c" /* yacc.c:1652  */
27571     break;
27572 
27573   case 596:
27574 #line 4019 "gram.y" /* yacc.c:1652  */
27575     {
27576 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27577 					n->extname = (yyvsp[-4].str);
27578 					n->action = (yyvsp[-3].ival);
27579 					n->objtype = OBJECT_OPERATOR;
27580 					n->objname = (yyvsp[-1].list);
27581 					n->objargs = (yyvsp[0].list);
27582 					(yyval.node) = (Node *)n;
27583 				}
27584 #line 27585 "gram.c" /* yacc.c:1652  */
27585     break;
27586 
27587   case 597:
27588 #line 4029 "gram.y" /* yacc.c:1652  */
27589     {
27590 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27591 					n->extname = (yyvsp[-6].str);
27592 					n->action = (yyvsp[-5].ival);
27593 					n->objtype = OBJECT_OPCLASS;
27594 					n->objname = lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
27595 					(yyval.node) = (Node *)n;
27596 				}
27597 #line 27598 "gram.c" /* yacc.c:1652  */
27598     break;
27599 
27600   case 598:
27601 #line 4038 "gram.y" /* yacc.c:1652  */
27602     {
27603 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27604 					n->extname = (yyvsp[-6].str);
27605 					n->action = (yyvsp[-5].ival);
27606 					n->objtype = OBJECT_OPFAMILY;
27607 					n->objname = lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
27608 					(yyval.node) = (Node *)n;
27609 				}
27610 #line 27611 "gram.c" /* yacc.c:1652  */
27611     break;
27612 
27613   case 599:
27614 #line 4047 "gram.y" /* yacc.c:1652  */
27615     {
27616 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27617 					n->extname = (yyvsp[-3].str);
27618 					n->action = (yyvsp[-2].ival);
27619 					n->objtype = OBJECT_SCHEMA;
27620 					n->objname = list_make1(makeString((yyvsp[0].str)));
27621 					(yyval.node) = (Node *)n;
27622 				}
27623 #line 27624 "gram.c" /* yacc.c:1652  */
27624     break;
27625 
27626   case 600:
27627 #line 4056 "gram.y" /* yacc.c:1652  */
27628     {
27629 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27630 					n->extname = (yyvsp[-4].str);
27631 					n->action = (yyvsp[-3].ival);
27632 					n->objtype = OBJECT_EVENT_TRIGGER;
27633 					n->objname = list_make1(makeString((yyvsp[0].str)));
27634 					(yyval.node) = (Node *)n;
27635 				}
27636 #line 27637 "gram.c" /* yacc.c:1652  */
27637     break;
27638 
27639   case 601:
27640 #line 4065 "gram.y" /* yacc.c:1652  */
27641     {
27642 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27643 					n->extname = (yyvsp[-3].str);
27644 					n->action = (yyvsp[-2].ival);
27645 					n->objtype = OBJECT_TABLE;
27646 					n->objname = (yyvsp[0].list);
27647 					(yyval.node) = (Node *)n;
27648 				}
27649 #line 27650 "gram.c" /* yacc.c:1652  */
27650     break;
27651 
27652   case 602:
27653 #line 4074 "gram.y" /* yacc.c:1652  */
27654     {
27655 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27656 					n->extname = (yyvsp[-5].str);
27657 					n->action = (yyvsp[-4].ival);
27658 					n->objtype = OBJECT_TSPARSER;
27659 					n->objname = (yyvsp[0].list);
27660 					(yyval.node) = (Node *)n;
27661 				}
27662 #line 27663 "gram.c" /* yacc.c:1652  */
27663     break;
27664 
27665   case 603:
27666 #line 4083 "gram.y" /* yacc.c:1652  */
27667     {
27668 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27669 					n->extname = (yyvsp[-5].str);
27670 					n->action = (yyvsp[-4].ival);
27671 					n->objtype = OBJECT_TSDICTIONARY;
27672 					n->objname = (yyvsp[0].list);
27673 					(yyval.node) = (Node *)n;
27674 				}
27675 #line 27676 "gram.c" /* yacc.c:1652  */
27676     break;
27677 
27678   case 604:
27679 #line 4092 "gram.y" /* yacc.c:1652  */
27680     {
27681 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27682 					n->extname = (yyvsp[-5].str);
27683 					n->action = (yyvsp[-4].ival);
27684 					n->objtype = OBJECT_TSTEMPLATE;
27685 					n->objname = (yyvsp[0].list);
27686 					(yyval.node) = (Node *)n;
27687 				}
27688 #line 27689 "gram.c" /* yacc.c:1652  */
27689     break;
27690 
27691   case 605:
27692 #line 4101 "gram.y" /* yacc.c:1652  */
27693     {
27694 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27695 					n->extname = (yyvsp[-5].str);
27696 					n->action = (yyvsp[-4].ival);
27697 					n->objtype = OBJECT_TSCONFIGURATION;
27698 					n->objname = (yyvsp[0].list);
27699 					(yyval.node) = (Node *)n;
27700 				}
27701 #line 27702 "gram.c" /* yacc.c:1652  */
27702     break;
27703 
27704   case 606:
27705 #line 4110 "gram.y" /* yacc.c:1652  */
27706     {
27707 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27708 					n->extname = (yyvsp[-3].str);
27709 					n->action = (yyvsp[-2].ival);
27710 					n->objtype = OBJECT_SEQUENCE;
27711 					n->objname = (yyvsp[0].list);
27712 					(yyval.node) = (Node *)n;
27713 				}
27714 #line 27715 "gram.c" /* yacc.c:1652  */
27715     break;
27716 
27717   case 607:
27718 #line 4119 "gram.y" /* yacc.c:1652  */
27719     {
27720 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27721 					n->extname = (yyvsp[-3].str);
27722 					n->action = (yyvsp[-2].ival);
27723 					n->objtype = OBJECT_VIEW;
27724 					n->objname = (yyvsp[0].list);
27725 					(yyval.node) = (Node *)n;
27726 				}
27727 #line 27728 "gram.c" /* yacc.c:1652  */
27728     break;
27729 
27730   case 608:
27731 #line 4128 "gram.y" /* yacc.c:1652  */
27732     {
27733 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27734 					n->extname = (yyvsp[-4].str);
27735 					n->action = (yyvsp[-3].ival);
27736 					n->objtype = OBJECT_MATVIEW;
27737 					n->objname = (yyvsp[0].list);
27738 					(yyval.node) = (Node *)n;
27739 				}
27740 #line 27741 "gram.c" /* yacc.c:1652  */
27741     break;
27742 
27743   case 609:
27744 #line 4137 "gram.y" /* yacc.c:1652  */
27745     {
27746 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27747 					n->extname = (yyvsp[-4].str);
27748 					n->action = (yyvsp[-3].ival);
27749 					n->objtype = OBJECT_FOREIGN_TABLE;
27750 					n->objname = (yyvsp[0].list);
27751 					(yyval.node) = (Node *)n;
27752 				}
27753 #line 27754 "gram.c" /* yacc.c:1652  */
27754     break;
27755 
27756   case 610:
27757 #line 4146 "gram.y" /* yacc.c:1652  */
27758     {
27759 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27760 					n->extname = (yyvsp[-5].str);
27761 					n->action = (yyvsp[-4].ival);
27762 					n->objtype = OBJECT_FDW;
27763 					n->objname = list_make1(makeString((yyvsp[0].str)));
27764 					(yyval.node) = (Node *)n;
27765 				}
27766 #line 27767 "gram.c" /* yacc.c:1652  */
27767     break;
27768 
27769   case 611:
27770 #line 4155 "gram.y" /* yacc.c:1652  */
27771     {
27772 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27773 					n->extname = (yyvsp[-3].str);
27774 					n->action = (yyvsp[-2].ival);
27775 					n->objtype = OBJECT_FOREIGN_SERVER;
27776 					n->objname = list_make1(makeString((yyvsp[0].str)));
27777 					(yyval.node) = (Node *)n;
27778 				}
27779 #line 27780 "gram.c" /* yacc.c:1652  */
27780     break;
27781 
27782   case 612:
27783 #line 4164 "gram.y" /* yacc.c:1652  */
27784     {
27785 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27786 					n->extname = (yyvsp[-6].str);
27787 					n->action = (yyvsp[-5].ival);
27788 					n->objtype = OBJECT_TRANSFORM;
27789 					n->objname = list_make1((yyvsp[-2].typnam));
27790 					n->objargs = list_make1(makeString((yyvsp[0].str)));
27791 					(yyval.node) = (Node *)n;
27792 				}
27793 #line 27794 "gram.c" /* yacc.c:1652  */
27794     break;
27795 
27796   case 613:
27797 #line 4174 "gram.y" /* yacc.c:1652  */
27798     {
27799 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
27800 					n->extname = (yyvsp[-3].str);
27801 					n->action = (yyvsp[-2].ival);
27802 					n->objtype = OBJECT_TYPE;
27803 					n->objname = list_make1((yyvsp[0].typnam));
27804 					(yyval.node) = (Node *)n;
27805 				}
27806 #line 27807 "gram.c" /* yacc.c:1652  */
27807     break;
27808 
27809   case 614:
27810 #line 4192 "gram.y" /* yacc.c:1652  */
27811     {
27812 					CreateFdwStmt *n = makeNode(CreateFdwStmt);
27813 					n->fdwname = (yyvsp[-2].str);
27814 					n->func_options = (yyvsp[-1].list);
27815 					n->options = (yyvsp[0].list);
27816 					(yyval.node) = (Node *) n;
27817 				}
27818 #line 27819 "gram.c" /* yacc.c:1652  */
27819     break;
27820 
27821   case 615:
27822 #line 4202 "gram.y" /* yacc.c:1652  */
27823     { (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[0].list)); }
27824 #line 27825 "gram.c" /* yacc.c:1652  */
27825     break;
27826 
27827   case 616:
27828 #line 4203 "gram.y" /* yacc.c:1652  */
27829     { (yyval.defelt) = makeDefElem("handler", NULL); }
27830 #line 27831 "gram.c" /* yacc.c:1652  */
27831     break;
27832 
27833   case 617:
27834 #line 4204 "gram.y" /* yacc.c:1652  */
27835     { (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[0].list)); }
27836 #line 27837 "gram.c" /* yacc.c:1652  */
27837     break;
27838 
27839   case 618:
27840 #line 4205 "gram.y" /* yacc.c:1652  */
27841     { (yyval.defelt) = makeDefElem("validator", NULL); }
27842 #line 27843 "gram.c" /* yacc.c:1652  */
27843     break;
27844 
27845   case 619:
27846 #line 4209 "gram.y" /* yacc.c:1652  */
27847     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
27848 #line 27849 "gram.c" /* yacc.c:1652  */
27849     break;
27850 
27851   case 620:
27852 #line 4210 "gram.y" /* yacc.c:1652  */
27853     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
27854 #line 27855 "gram.c" /* yacc.c:1652  */
27855     break;
27856 
27857   case 621:
27858 #line 4214 "gram.y" /* yacc.c:1652  */
27859     { (yyval.list) = (yyvsp[0].list); }
27860 #line 27861 "gram.c" /* yacc.c:1652  */
27861     break;
27862 
27863   case 622:
27864 #line 4215 "gram.y" /* yacc.c:1652  */
27865     { (yyval.list) = NIL; }
27866 #line 27867 "gram.c" /* yacc.c:1652  */
27867     break;
27868 
27869   case 623:
27870 #line 4226 "gram.y" /* yacc.c:1652  */
27871     {
27872 					DropStmt *n = makeNode(DropStmt);
27873 					n->removeType = OBJECT_FDW;
27874 					n->objects = list_make1(list_make1(makeString((yyvsp[-1].str))));
27875 					n->arguments = NIL;
27876 					n->missing_ok = false;
27877 					n->behavior = (yyvsp[0].dbehavior);
27878 					n->concurrent = false;
27879 					(yyval.node) = (Node *) n;
27880 				}
27881 #line 27882 "gram.c" /* yacc.c:1652  */
27882     break;
27883 
27884   case 624:
27885 #line 4237 "gram.y" /* yacc.c:1652  */
27886     {
27887 					DropStmt *n = makeNode(DropStmt);
27888 					n->removeType = OBJECT_FDW;
27889 					n->objects = list_make1(list_make1(makeString((yyvsp[-1].str))));
27890 					n->arguments = NIL;
27891 					n->missing_ok = true;
27892 					n->behavior = (yyvsp[0].dbehavior);
27893 					n->concurrent = false;
27894 					(yyval.node) = (Node *) n;
27895 				}
27896 #line 27897 "gram.c" /* yacc.c:1652  */
27897     break;
27898 
27899   case 625:
27900 #line 4257 "gram.y" /* yacc.c:1652  */
27901     {
27902 					AlterFdwStmt *n = makeNode(AlterFdwStmt);
27903 					n->fdwname = (yyvsp[-2].str);
27904 					n->func_options = (yyvsp[-1].list);
27905 					n->options = (yyvsp[0].list);
27906 					(yyval.node) = (Node *) n;
27907 				}
27908 #line 27909 "gram.c" /* yacc.c:1652  */
27909     break;
27910 
27911   case 626:
27912 #line 4265 "gram.y" /* yacc.c:1652  */
27913     {
27914 					AlterFdwStmt *n = makeNode(AlterFdwStmt);
27915 					n->fdwname = (yyvsp[-1].str);
27916 					n->func_options = (yyvsp[0].list);
27917 					n->options = NIL;
27918 					(yyval.node) = (Node *) n;
27919 				}
27920 #line 27921 "gram.c" /* yacc.c:1652  */
27921     break;
27922 
27923   case 627:
27924 #line 4276 "gram.y" /* yacc.c:1652  */
27925     { (yyval.list) = (yyvsp[-1].list); }
27926 #line 27927 "gram.c" /* yacc.c:1652  */
27927     break;
27928 
27929   case 628:
27930 #line 4277 "gram.y" /* yacc.c:1652  */
27931     { (yyval.list) = NIL; }
27932 #line 27933 "gram.c" /* yacc.c:1652  */
27933     break;
27934 
27935   case 629:
27936 #line 4282 "gram.y" /* yacc.c:1652  */
27937     {
27938 					(yyval.list) = list_make1((yyvsp[0].defelt));
27939 				}
27940 #line 27941 "gram.c" /* yacc.c:1652  */
27941     break;
27942 
27943   case 630:
27944 #line 4286 "gram.y" /* yacc.c:1652  */
27945     {
27946 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
27947 				}
27948 #line 27949 "gram.c" /* yacc.c:1652  */
27949     break;
27950 
27951   case 631:
27952 #line 4293 "gram.y" /* yacc.c:1652  */
27953     { (yyval.list) = (yyvsp[-1].list); }
27954 #line 27955 "gram.c" /* yacc.c:1652  */
27955     break;
27956 
27957   case 632:
27958 #line 4298 "gram.y" /* yacc.c:1652  */
27959     {
27960 					(yyval.list) = list_make1((yyvsp[0].defelt));
27961 				}
27962 #line 27963 "gram.c" /* yacc.c:1652  */
27963     break;
27964 
27965   case 633:
27966 #line 4302 "gram.y" /* yacc.c:1652  */
27967     {
27968 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
27969 				}
27970 #line 27971 "gram.c" /* yacc.c:1652  */
27971     break;
27972 
27973   case 634:
27974 #line 4309 "gram.y" /* yacc.c:1652  */
27975     {
27976 					(yyval.defelt) = (yyvsp[0].defelt);
27977 				}
27978 #line 27979 "gram.c" /* yacc.c:1652  */
27979     break;
27980 
27981   case 635:
27982 #line 4313 "gram.y" /* yacc.c:1652  */
27983     {
27984 					(yyval.defelt) = (yyvsp[0].defelt);
27985 					(yyval.defelt)->defaction = DEFELEM_SET;
27986 				}
27987 #line 27988 "gram.c" /* yacc.c:1652  */
27988     break;
27989 
27990   case 636:
27991 #line 4318 "gram.y" /* yacc.c:1652  */
27992     {
27993 					(yyval.defelt) = (yyvsp[0].defelt);
27994 					(yyval.defelt)->defaction = DEFELEM_ADD;
27995 				}
27996 #line 27997 "gram.c" /* yacc.c:1652  */
27997     break;
27998 
27999   case 637:
28000 #line 4323 "gram.y" /* yacc.c:1652  */
28001     {
28002 					(yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP);
28003 				}
28004 #line 28005 "gram.c" /* yacc.c:1652  */
28005     break;
28006 
28007   case 638:
28008 #line 4330 "gram.y" /* yacc.c:1652  */
28009     {
28010 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node));
28011 				}
28012 #line 28013 "gram.c" /* yacc.c:1652  */
28013     break;
28014 
28015   case 639:
28016 #line 4336 "gram.y" /* yacc.c:1652  */
28017     { (yyval.str) = (yyvsp[0].str); }
28018 #line 28019 "gram.c" /* yacc.c:1652  */
28019     break;
28020 
28021   case 640:
28022 #line 4341 "gram.y" /* yacc.c:1652  */
28023     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
28024 #line 28025 "gram.c" /* yacc.c:1652  */
28025     break;
28026 
28027   case 641:
28028 #line 4353 "gram.y" /* yacc.c:1652  */
28029     {
28030 					CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
28031 					n->servername = (yyvsp[-7].str);
28032 					n->servertype = (yyvsp[-6].str);
28033 					n->version = (yyvsp[-5].str);
28034 					n->fdwname = (yyvsp[-1].str);
28035 					n->options = (yyvsp[0].list);
28036 					(yyval.node) = (Node *) n;
28037 				}
28038 #line 28039 "gram.c" /* yacc.c:1652  */
28039     break;
28040 
28041   case 642:
28042 #line 4365 "gram.y" /* yacc.c:1652  */
28043     { (yyval.str) = (yyvsp[0].str); }
28044 #line 28045 "gram.c" /* yacc.c:1652  */
28045     break;
28046 
28047   case 643:
28048 #line 4366 "gram.y" /* yacc.c:1652  */
28049     { (yyval.str) = NULL; }
28050 #line 28051 "gram.c" /* yacc.c:1652  */
28051     break;
28052 
28053   case 644:
28054 #line 4371 "gram.y" /* yacc.c:1652  */
28055     { (yyval.str) = (yyvsp[0].str); }
28056 #line 28057 "gram.c" /* yacc.c:1652  */
28057     break;
28058 
28059   case 645:
28060 #line 4372 "gram.y" /* yacc.c:1652  */
28061     { (yyval.str) = NULL; }
28062 #line 28063 "gram.c" /* yacc.c:1652  */
28063     break;
28064 
28065   case 646:
28066 #line 4376 "gram.y" /* yacc.c:1652  */
28067     { (yyval.str) = (yyvsp[0].str); }
28068 #line 28069 "gram.c" /* yacc.c:1652  */
28069     break;
28070 
28071   case 647:
28072 #line 4377 "gram.y" /* yacc.c:1652  */
28073     { (yyval.str) = NULL; }
28074 #line 28075 "gram.c" /* yacc.c:1652  */
28075     break;
28076 
28077   case 648:
28078 #line 4388 "gram.y" /* yacc.c:1652  */
28079     {
28080 					DropStmt *n = makeNode(DropStmt);
28081 					n->removeType = OBJECT_FOREIGN_SERVER;
28082 					n->objects = list_make1(list_make1(makeString((yyvsp[-1].str))));
28083 					n->arguments = NIL;
28084 					n->missing_ok = false;
28085 					n->behavior = (yyvsp[0].dbehavior);
28086 					n->concurrent = false;
28087 					(yyval.node) = (Node *) n;
28088 				}
28089 #line 28090 "gram.c" /* yacc.c:1652  */
28090     break;
28091 
28092   case 649:
28093 #line 4399 "gram.y" /* yacc.c:1652  */
28094     {
28095 					DropStmt *n = makeNode(DropStmt);
28096 					n->removeType = OBJECT_FOREIGN_SERVER;
28097 					n->objects = list_make1(list_make1(makeString((yyvsp[-1].str))));
28098 					n->arguments = NIL;
28099 					n->missing_ok = true;
28100 					n->behavior = (yyvsp[0].dbehavior);
28101 					n->concurrent = false;
28102 					(yyval.node) = (Node *) n;
28103 				}
28104 #line 28105 "gram.c" /* yacc.c:1652  */
28105     break;
28106 
28107   case 650:
28108 #line 4419 "gram.y" /* yacc.c:1652  */
28109     {
28110 					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
28111 					n->servername = (yyvsp[-2].str);
28112 					n->version = (yyvsp[-1].str);
28113 					n->options = (yyvsp[0].list);
28114 					n->has_version = true;
28115 					(yyval.node) = (Node *) n;
28116 				}
28117 #line 28118 "gram.c" /* yacc.c:1652  */
28118     break;
28119 
28120   case 651:
28121 #line 4428 "gram.y" /* yacc.c:1652  */
28122     {
28123 					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
28124 					n->servername = (yyvsp[-1].str);
28125 					n->version = (yyvsp[0].str);
28126 					n->has_version = true;
28127 					(yyval.node) = (Node *) n;
28128 				}
28129 #line 28130 "gram.c" /* yacc.c:1652  */
28130     break;
28131 
28132   case 652:
28133 #line 4436 "gram.y" /* yacc.c:1652  */
28134     {
28135 					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
28136 					n->servername = (yyvsp[-1].str);
28137 					n->options = (yyvsp[0].list);
28138 					(yyval.node) = (Node *) n;
28139 				}
28140 #line 28141 "gram.c" /* yacc.c:1652  */
28141     break;
28142 
28143   case 653:
28144 #line 4455 "gram.y" /* yacc.c:1652  */
28145     {
28146 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
28147 					(yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
28148 					n->base.relation = (yyvsp[-7].range);
28149 					n->base.tableElts = (yyvsp[-5].list);
28150 					n->base.inhRelations = (yyvsp[-3].list);
28151 					n->base.ofTypename = NULL;
28152 					n->base.constraints = NIL;
28153 					n->base.options = NIL;
28154 					n->base.oncommit = ONCOMMIT_NOOP;
28155 					n->base.tablespacename = NULL;
28156 					n->base.if_not_exists = false;
28157 					/* FDW-specific data */
28158 					n->servername = (yyvsp[-1].str);
28159 					n->options = (yyvsp[0].list);
28160 					(yyval.node) = (Node *) n;
28161 				}
28162 #line 28163 "gram.c" /* yacc.c:1652  */
28163     break;
28164 
28165   case 654:
28166 #line 4475 "gram.y" /* yacc.c:1652  */
28167     {
28168 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
28169 					(yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
28170 					n->base.relation = (yyvsp[-7].range);
28171 					n->base.tableElts = (yyvsp[-5].list);
28172 					n->base.inhRelations = (yyvsp[-3].list);
28173 					n->base.ofTypename = NULL;
28174 					n->base.constraints = NIL;
28175 					n->base.options = NIL;
28176 					n->base.oncommit = ONCOMMIT_NOOP;
28177 					n->base.tablespacename = NULL;
28178 					n->base.if_not_exists = true;
28179 					/* FDW-specific data */
28180 					n->servername = (yyvsp[-1].str);
28181 					n->options = (yyvsp[0].list);
28182 					(yyval.node) = (Node *) n;
28183 				}
28184 #line 28185 "gram.c" /* yacc.c:1652  */
28185     break;
28186 
28187   case 655:
28188 #line 4503 "gram.y" /* yacc.c:1652  */
28189     {
28190 					AlterTableStmt *n = makeNode(AlterTableStmt);
28191 					n->relation = (yyvsp[-1].range);
28192 					n->cmds = (yyvsp[0].list);
28193 					n->relkind = OBJECT_FOREIGN_TABLE;
28194 					n->missing_ok = false;
28195 					(yyval.node) = (Node *)n;
28196 				}
28197 #line 28198 "gram.c" /* yacc.c:1652  */
28198     break;
28199 
28200   case 656:
28201 #line 4512 "gram.y" /* yacc.c:1652  */
28202     {
28203 					AlterTableStmt *n = makeNode(AlterTableStmt);
28204 					n->relation = (yyvsp[-1].range);
28205 					n->cmds = (yyvsp[0].list);
28206 					n->relkind = OBJECT_FOREIGN_TABLE;
28207 					n->missing_ok = true;
28208 					(yyval.node) = (Node *)n;
28209 				}
28210 #line 28211 "gram.c" /* yacc.c:1652  */
28211     break;
28212 
28213   case 657:
28214 #line 4534 "gram.y" /* yacc.c:1652  */
28215     {
28216 				ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt);
28217 				n->server_name = (yyvsp[-3].str);
28218 				n->remote_schema = (yyvsp[-7].str);
28219 				n->local_schema = (yyvsp[-1].str);
28220 				n->list_type = (yyvsp[-6].importqual)->type;
28221 				n->table_list = (yyvsp[-6].importqual)->table_names;
28222 				n->options = (yyvsp[0].list);
28223 				(yyval.node) = (Node *) n;
28224 			}
28225 #line 28226 "gram.c" /* yacc.c:1652  */
28226     break;
28227 
28228   case 658:
28229 #line 4547 "gram.y" /* yacc.c:1652  */
28230     { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
28231 #line 28232 "gram.c" /* yacc.c:1652  */
28232     break;
28233 
28234   case 659:
28235 #line 4548 "gram.y" /* yacc.c:1652  */
28236     { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
28237 #line 28238 "gram.c" /* yacc.c:1652  */
28238     break;
28239 
28240   case 660:
28241 #line 4553 "gram.y" /* yacc.c:1652  */
28242     {
28243 				ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
28244 				n->type = (yyvsp[-3].ival);
28245 				n->table_names = (yyvsp[-1].list);
28246 				(yyval.importqual) = n;
28247 			}
28248 #line 28249 "gram.c" /* yacc.c:1652  */
28249     break;
28250 
28251   case 661:
28252 #line 4560 "gram.y" /* yacc.c:1652  */
28253     {
28254 				ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
28255 				n->type = FDW_IMPORT_SCHEMA_ALL;
28256 				n->table_names = NIL;
28257 				(yyval.importqual) = n;
28258 			}
28259 #line 28260 "gram.c" /* yacc.c:1652  */
28260     break;
28261 
28262   case 662:
28263 #line 4576 "gram.y" /* yacc.c:1652  */
28264     {
28265 					CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
28266 					n->user = (yyvsp[-3].node);
28267 					n->servername = (yyvsp[-1].str);
28268 					n->options = (yyvsp[0].list);
28269 					(yyval.node) = (Node *) n;
28270 				}
28271 #line 28272 "gram.c" /* yacc.c:1652  */
28272     break;
28273 
28274   case 663:
28275 #line 4586 "gram.y" /* yacc.c:1652  */
28276     { (yyval.node) = (yyvsp[0].node); }
28277 #line 28278 "gram.c" /* yacc.c:1652  */
28278     break;
28279 
28280   case 664:
28281 #line 4587 "gram.y" /* yacc.c:1652  */
28282     { (yyval.node) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
28283 #line 28284 "gram.c" /* yacc.c:1652  */
28284     break;
28285 
28286   case 665:
28287 #line 4600 "gram.y" /* yacc.c:1652  */
28288     {
28289 					DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
28290 					n->user = (yyvsp[-2].node);
28291 					n->servername = (yyvsp[0].str);
28292 					n->missing_ok = false;
28293 					(yyval.node) = (Node *) n;
28294 				}
28295 #line 28296 "gram.c" /* yacc.c:1652  */
28296     break;
28297 
28298   case 666:
28299 #line 4608 "gram.y" /* yacc.c:1652  */
28300     {
28301 					DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
28302 					n->user = (yyvsp[-2].node);
28303 					n->servername = (yyvsp[0].str);
28304 					n->missing_ok = true;
28305 					(yyval.node) = (Node *) n;
28306 				}
28307 #line 28308 "gram.c" /* yacc.c:1652  */
28308     break;
28309 
28310   case 667:
28311 #line 4625 "gram.y" /* yacc.c:1652  */
28312     {
28313 					AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
28314 					n->user = (yyvsp[-3].node);
28315 					n->servername = (yyvsp[-1].str);
28316 					n->options = (yyvsp[0].list);
28317 					(yyval.node) = (Node *) n;
28318 				}
28319 #line 28320 "gram.c" /* yacc.c:1652  */
28320     break;
28321 
28322   case 668:
28323 #line 4649 "gram.y" /* yacc.c:1652  */
28324     {
28325 					CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
28326 					n->policy_name = (yyvsp[-6].str);
28327 					n->table = (yyvsp[-4].range);
28328 					n->cmd_name = (yyvsp[-3].str);
28329 					n->roles = (yyvsp[-2].list);
28330 					n->qual = (yyvsp[-1].node);
28331 					n->with_check = (yyvsp[0].node);
28332 					(yyval.node) = (Node *) n;
28333 				}
28334 #line 28335 "gram.c" /* yacc.c:1652  */
28335     break;
28336 
28337   case 669:
28338 #line 4664 "gram.y" /* yacc.c:1652  */
28339     {
28340 					AlterPolicyStmt *n = makeNode(AlterPolicyStmt);
28341 					n->policy_name = (yyvsp[-5].str);
28342 					n->table = (yyvsp[-3].range);
28343 					n->roles = (yyvsp[-2].list);
28344 					n->qual = (yyvsp[-1].node);
28345 					n->with_check = (yyvsp[0].node);
28346 					(yyval.node) = (Node *) n;
28347 				}
28348 #line 28349 "gram.c" /* yacc.c:1652  */
28349     break;
28350 
28351   case 670:
28352 #line 4677 "gram.y" /* yacc.c:1652  */
28353     {
28354 					DropStmt *n = makeNode(DropStmt);
28355 					n->removeType = OBJECT_POLICY;
28356 					n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
28357 					n->arguments = NIL;
28358 					n->behavior = (yyvsp[0].dbehavior);
28359 					n->missing_ok = false;
28360 					n->concurrent = false;
28361 					(yyval.node) = (Node *) n;
28362 				}
28363 #line 28364 "gram.c" /* yacc.c:1652  */
28364     break;
28365 
28366   case 671:
28367 #line 4688 "gram.y" /* yacc.c:1652  */
28368     {
28369 					DropStmt *n = makeNode(DropStmt);
28370 					n->removeType = OBJECT_POLICY;
28371 					n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
28372 					n->arguments = NIL;
28373 					n->behavior = (yyvsp[0].dbehavior);
28374 					n->missing_ok = true;
28375 					n->concurrent = false;
28376 					(yyval.node) = (Node *) n;
28377 				}
28378 #line 28379 "gram.c" /* yacc.c:1652  */
28379     break;
28380 
28381   case 672:
28382 #line 4701 "gram.y" /* yacc.c:1652  */
28383     { (yyval.node) = (yyvsp[-1].node); }
28384 #line 28385 "gram.c" /* yacc.c:1652  */
28385     break;
28386 
28387   case 673:
28388 #line 4702 "gram.y" /* yacc.c:1652  */
28389     { (yyval.node) = NULL; }
28390 #line 28391 "gram.c" /* yacc.c:1652  */
28391     break;
28392 
28393   case 674:
28394 #line 4706 "gram.y" /* yacc.c:1652  */
28395     { (yyval.node) = (yyvsp[-1].node); }
28396 #line 28397 "gram.c" /* yacc.c:1652  */
28397     break;
28398 
28399   case 675:
28400 #line 4707 "gram.y" /* yacc.c:1652  */
28401     { (yyval.node) = NULL; }
28402 #line 28403 "gram.c" /* yacc.c:1652  */
28403     break;
28404 
28405   case 676:
28406 #line 4711 "gram.y" /* yacc.c:1652  */
28407     { (yyval.list) = (yyvsp[0].list); }
28408 #line 28409 "gram.c" /* yacc.c:1652  */
28409     break;
28410 
28411   case 677:
28412 #line 4712 "gram.y" /* yacc.c:1652  */
28413     { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
28414 #line 28415 "gram.c" /* yacc.c:1652  */
28415     break;
28416 
28417   case 678:
28418 #line 4716 "gram.y" /* yacc.c:1652  */
28419     { (yyval.list) = (yyvsp[0].list); }
28420 #line 28421 "gram.c" /* yacc.c:1652  */
28421     break;
28422 
28423   case 679:
28424 #line 4717 "gram.y" /* yacc.c:1652  */
28425     { (yyval.list) = NULL; }
28426 #line 28427 "gram.c" /* yacc.c:1652  */
28427     break;
28428 
28429   case 680:
28430 #line 4721 "gram.y" /* yacc.c:1652  */
28431     { (yyval.str) = (yyvsp[0].str); }
28432 #line 28433 "gram.c" /* yacc.c:1652  */
28433     break;
28434 
28435   case 681:
28436 #line 4722 "gram.y" /* yacc.c:1652  */
28437     { (yyval.str) = "all"; }
28438 #line 28439 "gram.c" /* yacc.c:1652  */
28439     break;
28440 
28441   case 682:
28442 #line 4726 "gram.y" /* yacc.c:1652  */
28443     { (yyval.str) = "all"; }
28444 #line 28445 "gram.c" /* yacc.c:1652  */
28445     break;
28446 
28447   case 683:
28448 #line 4727 "gram.y" /* yacc.c:1652  */
28449     { (yyval.str) = "select"; }
28450 #line 28451 "gram.c" /* yacc.c:1652  */
28451     break;
28452 
28453   case 684:
28454 #line 4728 "gram.y" /* yacc.c:1652  */
28455     { (yyval.str) = "insert"; }
28456 #line 28457 "gram.c" /* yacc.c:1652  */
28457     break;
28458 
28459   case 685:
28460 #line 4729 "gram.y" /* yacc.c:1652  */
28461     { (yyval.str) = "update"; }
28462 #line 28463 "gram.c" /* yacc.c:1652  */
28463     break;
28464 
28465   case 686:
28466 #line 4730 "gram.y" /* yacc.c:1652  */
28467     { (yyval.str) = "delete"; }
28468 #line 28469 "gram.c" /* yacc.c:1652  */
28469     break;
28470 
28471   case 687:
28472 #line 4741 "gram.y" /* yacc.c:1652  */
28473     {
28474 					CreateAmStmt *n = makeNode(CreateAmStmt);
28475 					n->amname = (yyvsp[-4].str);
28476 					n->handler_name = (yyvsp[0].list);
28477 					n->amtype = AMTYPE_INDEX;
28478 					(yyval.node) = (Node *) n;
28479 				}
28480 #line 28481 "gram.c" /* yacc.c:1652  */
28481     break;
28482 
28483   case 688:
28484 #line 4762 "gram.y" /* yacc.c:1652  */
28485     {
28486 					CreateTrigStmt *n = makeNode(CreateTrigStmt);
28487 					n->trigname = (yyvsp[-12].str);
28488 					n->relation = (yyvsp[-8].range);
28489 					n->funcname = (yyvsp[-3].list);
28490 					n->args = (yyvsp[-1].list);
28491 					n->row = (yyvsp[-7].boolean);
28492 					n->timing = (yyvsp[-11].ival);
28493 					n->events = intVal(linitial((yyvsp[-10].list)));
28494 					n->columns = (List *) lsecond((yyvsp[-10].list));
28495 					n->whenClause = (yyvsp[-6].node);
28496 					n->isconstraint  = FALSE;
28497 					n->deferrable	 = FALSE;
28498 					n->initdeferred  = FALSE;
28499 					n->constrrel = NULL;
28500 					(yyval.node) = (Node *)n;
28501 				}
28502 #line 28503 "gram.c" /* yacc.c:1652  */
28503     break;
28504 
28505   case 689:
28506 #line 4783 "gram.y" /* yacc.c:1652  */
28507     {
28508 					CreateTrigStmt *n = makeNode(CreateTrigStmt);
28509 					n->trigname = (yyvsp[-16].str);
28510 					n->relation = (yyvsp[-12].range);
28511 					n->funcname = (yyvsp[-3].list);
28512 					n->args = (yyvsp[-1].list);
28513 					n->row = TRUE;
28514 					n->timing = TRIGGER_TYPE_AFTER;
28515 					n->events = intVal(linitial((yyvsp[-14].list)));
28516 					n->columns = (List *) lsecond((yyvsp[-14].list));
28517 					n->whenClause = (yyvsp[-6].node);
28518 					n->isconstraint  = TRUE;
28519 					processCASbits((yyvsp[-10].ival), (yylsp[-10]), "TRIGGER",
28520 								   &n->deferrable, &n->initdeferred, NULL,
28521 								   NULL, yyscanner);
28522 					n->constrrel = (yyvsp[-11].range);
28523 					(yyval.node) = (Node *)n;
28524 				}
28525 #line 28526 "gram.c" /* yacc.c:1652  */
28526     break;
28527 
28528   case 690:
28529 #line 4804 "gram.y" /* yacc.c:1652  */
28530     { (yyval.ival) = TRIGGER_TYPE_BEFORE; }
28531 #line 28532 "gram.c" /* yacc.c:1652  */
28532     break;
28533 
28534   case 691:
28535 #line 4805 "gram.y" /* yacc.c:1652  */
28536     { (yyval.ival) = TRIGGER_TYPE_AFTER; }
28537 #line 28538 "gram.c" /* yacc.c:1652  */
28538     break;
28539 
28540   case 692:
28541 #line 4806 "gram.y" /* yacc.c:1652  */
28542     { (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
28543 #line 28544 "gram.c" /* yacc.c:1652  */
28544     break;
28545 
28546   case 693:
28547 #line 4811 "gram.y" /* yacc.c:1652  */
28548     { (yyval.list) = (yyvsp[0].list); }
28549 #line 28550 "gram.c" /* yacc.c:1652  */
28550     break;
28551 
28552   case 694:
28553 #line 4813 "gram.y" /* yacc.c:1652  */
28554     {
28555 					int		events1 = intVal(linitial((yyvsp[-2].list)));
28556 					int		events2 = intVal(linitial((yyvsp[0].list)));
28557 					List   *columns1 = (List *) lsecond((yyvsp[-2].list));
28558 					List   *columns2 = (List *) lsecond((yyvsp[0].list));
28559 
28560 					if (events1 & events2)
28561 						parser_yyerror("duplicate trigger events specified");
28562 					/*
28563 					 * concat'ing the columns lists loses information about
28564 					 * which columns went with which event, but so long as
28565 					 * only UPDATE carries columns and we disallow multiple
28566 					 * UPDATE items, it doesn't matter.  Command execution
28567 					 * should just ignore the columns for non-UPDATE events.
28568 					 */
28569 					(yyval.list) = list_make2(makeInteger(events1 | events2),
28570 									list_concat(columns1, columns2));
28571 				}
28572 #line 28573 "gram.c" /* yacc.c:1652  */
28573     break;
28574 
28575   case 695:
28576 #line 4835 "gram.y" /* yacc.c:1652  */
28577     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
28578 #line 28579 "gram.c" /* yacc.c:1652  */
28579     break;
28580 
28581   case 696:
28582 #line 4837 "gram.y" /* yacc.c:1652  */
28583     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
28584 #line 28585 "gram.c" /* yacc.c:1652  */
28585     break;
28586 
28587   case 697:
28588 #line 4839 "gram.y" /* yacc.c:1652  */
28589     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
28590 #line 28591 "gram.c" /* yacc.c:1652  */
28591     break;
28592 
28593   case 698:
28594 #line 4841 "gram.y" /* yacc.c:1652  */
28595     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
28596 #line 28597 "gram.c" /* yacc.c:1652  */
28597     break;
28598 
28599   case 699:
28600 #line 4843 "gram.y" /* yacc.c:1652  */
28601     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
28602 #line 28603 "gram.c" /* yacc.c:1652  */
28603     break;
28604 
28605   case 700:
28606 #line 4848 "gram.y" /* yacc.c:1652  */
28607     {
28608 					(yyval.boolean) = (yyvsp[0].boolean);
28609 				}
28610 #line 28611 "gram.c" /* yacc.c:1652  */
28611     break;
28612 
28613   case 701:
28614 #line 4852 "gram.y" /* yacc.c:1652  */
28615     {
28616 					/*
28617 					 * If ROW/STATEMENT not specified, default to
28618 					 * STATEMENT, per SQL
28619 					 */
28620 					(yyval.boolean) = FALSE;
28621 				}
28622 #line 28623 "gram.c" /* yacc.c:1652  */
28623     break;
28624 
28625   case 702:
28626 #line 4862 "gram.y" /* yacc.c:1652  */
28627     {}
28628 #line 28629 "gram.c" /* yacc.c:1652  */
28629     break;
28630 
28631   case 703:
28632 #line 4863 "gram.y" /* yacc.c:1652  */
28633     {}
28634 #line 28635 "gram.c" /* yacc.c:1652  */
28635     break;
28636 
28637   case 704:
28638 #line 4867 "gram.y" /* yacc.c:1652  */
28639     { (yyval.boolean) = TRUE; }
28640 #line 28641 "gram.c" /* yacc.c:1652  */
28641     break;
28642 
28643   case 705:
28644 #line 4868 "gram.y" /* yacc.c:1652  */
28645     { (yyval.boolean) = FALSE; }
28646 #line 28647 "gram.c" /* yacc.c:1652  */
28647     break;
28648 
28649   case 706:
28650 #line 4872 "gram.y" /* yacc.c:1652  */
28651     { (yyval.node) = (yyvsp[-1].node); }
28652 #line 28653 "gram.c" /* yacc.c:1652  */
28653     break;
28654 
28655   case 707:
28656 #line 4873 "gram.y" /* yacc.c:1652  */
28657     { (yyval.node) = NULL; }
28658 #line 28659 "gram.c" /* yacc.c:1652  */
28659     break;
28660 
28661   case 708:
28662 #line 4877 "gram.y" /* yacc.c:1652  */
28663     { (yyval.list) = list_make1((yyvsp[0].value)); }
28664 #line 28665 "gram.c" /* yacc.c:1652  */
28665     break;
28666 
28667   case 709:
28668 #line 4878 "gram.y" /* yacc.c:1652  */
28669     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
28670 #line 28671 "gram.c" /* yacc.c:1652  */
28671     break;
28672 
28673   case 710:
28674 #line 4879 "gram.y" /* yacc.c:1652  */
28675     { (yyval.list) = NIL; }
28676 #line 28677 "gram.c" /* yacc.c:1652  */
28677     break;
28678 
28679   case 711:
28680 #line 4884 "gram.y" /* yacc.c:1652  */
28681     {
28682 					(yyval.value) = makeString(psprintf("%d", (yyvsp[0].ival)));
28683 				}
28684 #line 28685 "gram.c" /* yacc.c:1652  */
28685     break;
28686 
28687   case 712:
28688 #line 4887 "gram.y" /* yacc.c:1652  */
28689     { (yyval.value) = makeString((yyvsp[0].str)); }
28690 #line 28691 "gram.c" /* yacc.c:1652  */
28691     break;
28692 
28693   case 713:
28694 #line 4888 "gram.y" /* yacc.c:1652  */
28695     { (yyval.value) = makeString((yyvsp[0].str)); }
28696 #line 28697 "gram.c" /* yacc.c:1652  */
28697     break;
28698 
28699   case 714:
28700 #line 4889 "gram.y" /* yacc.c:1652  */
28701     { (yyval.value) = makeString((yyvsp[0].str)); }
28702 #line 28703 "gram.c" /* yacc.c:1652  */
28703     break;
28704 
28705   case 715:
28706 #line 4893 "gram.y" /* yacc.c:1652  */
28707     { (yyval.range) = (yyvsp[0].range); }
28708 #line 28709 "gram.c" /* yacc.c:1652  */
28709     break;
28710 
28711   case 716:
28712 #line 4894 "gram.y" /* yacc.c:1652  */
28713     { (yyval.range) = NULL; }
28714 #line 28715 "gram.c" /* yacc.c:1652  */
28715     break;
28716 
28717   case 717:
28718 #line 4899 "gram.y" /* yacc.c:1652  */
28719     { (yyval.ival) = 0; }
28720 #line 28721 "gram.c" /* yacc.c:1652  */
28721     break;
28722 
28723   case 718:
28724 #line 4901 "gram.y" /* yacc.c:1652  */
28725     {
28726 					/*
28727 					 * We must complain about conflicting options.
28728 					 * We could, but choose not to, complain about redundant
28729 					 * options (ie, where $2's bit is already set in $1).
28730 					 */
28731 					int		newspec = (yyvsp[-1].ival) | (yyvsp[0].ival);
28732 
28733 					/* special message for this case */
28734 					if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
28735 						ereport(ERROR,
28736 								(errcode(ERRCODE_SYNTAX_ERROR),
28737 								 errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
28738 								 parser_errposition((yylsp[0]))));
28739 					/* generic message for other conflicts */
28740 					if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
28741 						(newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED)) == (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED))
28742 						ereport(ERROR,
28743 								(errcode(ERRCODE_SYNTAX_ERROR),
28744 								 errmsg("conflicting constraint properties"),
28745 								 parser_errposition((yylsp[0]))));
28746 					(yyval.ival) = newspec;
28747 				}
28748 #line 28749 "gram.c" /* yacc.c:1652  */
28749     break;
28750 
28751   case 719:
28752 #line 4927 "gram.y" /* yacc.c:1652  */
28753     { (yyval.ival) = CAS_NOT_DEFERRABLE; }
28754 #line 28755 "gram.c" /* yacc.c:1652  */
28755     break;
28756 
28757   case 720:
28758 #line 4928 "gram.y" /* yacc.c:1652  */
28759     { (yyval.ival) = CAS_DEFERRABLE; }
28760 #line 28761 "gram.c" /* yacc.c:1652  */
28761     break;
28762 
28763   case 721:
28764 #line 4929 "gram.y" /* yacc.c:1652  */
28765     { (yyval.ival) = CAS_INITIALLY_IMMEDIATE; }
28766 #line 28767 "gram.c" /* yacc.c:1652  */
28767     break;
28768 
28769   case 722:
28770 #line 4930 "gram.y" /* yacc.c:1652  */
28771     { (yyval.ival) = CAS_INITIALLY_DEFERRED; }
28772 #line 28773 "gram.c" /* yacc.c:1652  */
28773     break;
28774 
28775   case 723:
28776 #line 4931 "gram.y" /* yacc.c:1652  */
28777     { (yyval.ival) = CAS_NOT_VALID; }
28778 #line 28779 "gram.c" /* yacc.c:1652  */
28779     break;
28780 
28781   case 724:
28782 #line 4932 "gram.y" /* yacc.c:1652  */
28783     { (yyval.ival) = CAS_NO_INHERIT; }
28784 #line 28785 "gram.c" /* yacc.c:1652  */
28785     break;
28786 
28787   case 725:
28788 #line 4938 "gram.y" /* yacc.c:1652  */
28789     {
28790 					DropStmt *n = makeNode(DropStmt);
28791 					n->removeType = OBJECT_TRIGGER;
28792 					n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
28793 					n->arguments = NIL;
28794 					n->behavior = (yyvsp[0].dbehavior);
28795 					n->missing_ok = false;
28796 					n->concurrent = false;
28797 					(yyval.node) = (Node *) n;
28798 				}
28799 #line 28800 "gram.c" /* yacc.c:1652  */
28800     break;
28801 
28802   case 726:
28803 #line 4949 "gram.y" /* yacc.c:1652  */
28804     {
28805 					DropStmt *n = makeNode(DropStmt);
28806 					n->removeType = OBJECT_TRIGGER;
28807 					n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
28808 					n->arguments = NIL;
28809 					n->behavior = (yyvsp[0].dbehavior);
28810 					n->missing_ok = true;
28811 					n->concurrent = false;
28812 					(yyval.node) = (Node *) n;
28813 				}
28814 #line 28815 "gram.c" /* yacc.c:1652  */
28815     break;
28816 
28817   case 727:
28818 #line 4973 "gram.y" /* yacc.c:1652  */
28819     {
28820 					CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
28821 					n->trigname = (yyvsp[-7].str);
28822 					n->eventname = (yyvsp[-5].str);
28823 					n->whenclause = NULL;
28824 					n->funcname = (yyvsp[-2].list);
28825 					(yyval.node) = (Node *)n;
28826 				}
28827 #line 28828 "gram.c" /* yacc.c:1652  */
28828     break;
28829 
28830   case 728:
28831 #line 4984 "gram.y" /* yacc.c:1652  */
28832     {
28833 					CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
28834 					n->trigname = (yyvsp[-9].str);
28835 					n->eventname = (yyvsp[-7].str);
28836 					n->whenclause = (yyvsp[-5].list);
28837 					n->funcname = (yyvsp[-2].list);
28838 					(yyval.node) = (Node *)n;
28839 				}
28840 #line 28841 "gram.c" /* yacc.c:1652  */
28841     break;
28842 
28843   case 729:
28844 #line 4996 "gram.y" /* yacc.c:1652  */
28845     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
28846 #line 28847 "gram.c" /* yacc.c:1652  */
28847     break;
28848 
28849   case 730:
28850 #line 4998 "gram.y" /* yacc.c:1652  */
28851     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
28852 #line 28853 "gram.c" /* yacc.c:1652  */
28853     break;
28854 
28855   case 731:
28856 #line 5003 "gram.y" /* yacc.c:1652  */
28857     { (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list)); }
28858 #line 28859 "gram.c" /* yacc.c:1652  */
28859     break;
28860 
28861   case 732:
28862 #line 5008 "gram.y" /* yacc.c:1652  */
28863     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
28864 #line 28865 "gram.c" /* yacc.c:1652  */
28865     break;
28866 
28867   case 733:
28868 #line 5010 "gram.y" /* yacc.c:1652  */
28869     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
28870 #line 28871 "gram.c" /* yacc.c:1652  */
28871     break;
28872 
28873   case 734:
28874 #line 5015 "gram.y" /* yacc.c:1652  */
28875     {
28876 					AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
28877 					n->trigname = (yyvsp[-1].str);
28878 					n->tgenabled = (yyvsp[0].chr);
28879 					(yyval.node) = (Node *) n;
28880 				}
28881 #line 28882 "gram.c" /* yacc.c:1652  */
28882     break;
28883 
28884   case 735:
28885 #line 5024 "gram.y" /* yacc.c:1652  */
28886     { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
28887 #line 28888 "gram.c" /* yacc.c:1652  */
28888     break;
28889 
28890   case 736:
28891 #line 5025 "gram.y" /* yacc.c:1652  */
28892     { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
28893 #line 28894 "gram.c" /* yacc.c:1652  */
28894     break;
28895 
28896   case 737:
28897 #line 5026 "gram.y" /* yacc.c:1652  */
28898     { (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
28899 #line 28900 "gram.c" /* yacc.c:1652  */
28900     break;
28901 
28902   case 738:
28903 #line 5027 "gram.y" /* yacc.c:1652  */
28904     { (yyval.chr) = TRIGGER_DISABLED; }
28905 #line 28906 "gram.c" /* yacc.c:1652  */
28906     break;
28907 
28908   case 739:
28909 #line 5041 "gram.y" /* yacc.c:1652  */
28910     {
28911 					CreateTrigStmt *n = makeNode(CreateTrigStmt);
28912 					n->trigname = (yyvsp[-5].str);
28913 					n->args = list_make1((yyvsp[-2].node));
28914 					n->isconstraint  = TRUE;
28915 					processCASbits((yyvsp[0].ival), (yylsp[0]), "ASSERTION",
28916 								   &n->deferrable, &n->initdeferred, NULL,
28917 								   NULL, yyscanner);
28918 
28919 					ereport(ERROR,
28920 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
28921 							 errmsg("CREATE ASSERTION is not yet implemented")));
28922 
28923 					(yyval.node) = (Node *)n;
28924 				}
28925 #line 28926 "gram.c" /* yacc.c:1652  */
28926     break;
28927 
28928   case 740:
28929 #line 5060 "gram.y" /* yacc.c:1652  */
28930     {
28931 					DropStmt *n = makeNode(DropStmt);
28932 					n->objects = NIL;
28933 					n->arguments = NIL;
28934 					n->behavior = (yyvsp[0].dbehavior);
28935 					n->removeType = OBJECT_TRIGGER; /* XXX */
28936 					ereport(ERROR,
28937 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
28938 							 errmsg("DROP ASSERTION is not yet implemented")));
28939 					(yyval.node) = (Node *) n;
28940 				}
28941 #line 28942 "gram.c" /* yacc.c:1652  */
28942     break;
28943 
28944   case 741:
28945 #line 5083 "gram.y" /* yacc.c:1652  */
28946     {
28947 					DefineStmt *n = makeNode(DefineStmt);
28948 					n->kind = OBJECT_AGGREGATE;
28949 					n->oldstyle = false;
28950 					n->defnames = (yyvsp[-2].list);
28951 					n->args = (yyvsp[-1].list);
28952 					n->definition = (yyvsp[0].list);
28953 					(yyval.node) = (Node *)n;
28954 				}
28955 #line 28956 "gram.c" /* yacc.c:1652  */
28956     break;
28957 
28958   case 742:
28959 #line 5093 "gram.y" /* yacc.c:1652  */
28960     {
28961 					/* old-style (pre-8.2) syntax for CREATE AGGREGATE */
28962 					DefineStmt *n = makeNode(DefineStmt);
28963 					n->kind = OBJECT_AGGREGATE;
28964 					n->oldstyle = true;
28965 					n->defnames = (yyvsp[-1].list);
28966 					n->args = NIL;
28967 					n->definition = (yyvsp[0].list);
28968 					(yyval.node) = (Node *)n;
28969 				}
28970 #line 28971 "gram.c" /* yacc.c:1652  */
28971     break;
28972 
28973   case 743:
28974 #line 5104 "gram.y" /* yacc.c:1652  */
28975     {
28976 					DefineStmt *n = makeNode(DefineStmt);
28977 					n->kind = OBJECT_OPERATOR;
28978 					n->oldstyle = false;
28979 					n->defnames = (yyvsp[-1].list);
28980 					n->args = NIL;
28981 					n->definition = (yyvsp[0].list);
28982 					(yyval.node) = (Node *)n;
28983 				}
28984 #line 28985 "gram.c" /* yacc.c:1652  */
28985     break;
28986 
28987   case 744:
28988 #line 5114 "gram.y" /* yacc.c:1652  */
28989     {
28990 					DefineStmt *n = makeNode(DefineStmt);
28991 					n->kind = OBJECT_TYPE;
28992 					n->oldstyle = false;
28993 					n->defnames = (yyvsp[-1].list);
28994 					n->args = NIL;
28995 					n->definition = (yyvsp[0].list);
28996 					(yyval.node) = (Node *)n;
28997 				}
28998 #line 28999 "gram.c" /* yacc.c:1652  */
28999     break;
29000 
29001   case 745:
29002 #line 5124 "gram.y" /* yacc.c:1652  */
29003     {
29004 					/* Shell type (identified by lack of definition) */
29005 					DefineStmt *n = makeNode(DefineStmt);
29006 					n->kind = OBJECT_TYPE;
29007 					n->oldstyle = false;
29008 					n->defnames = (yyvsp[0].list);
29009 					n->args = NIL;
29010 					n->definition = NIL;
29011 					(yyval.node) = (Node *)n;
29012 				}
29013 #line 29014 "gram.c" /* yacc.c:1652  */
29014     break;
29015 
29016   case 746:
29017 #line 5135 "gram.y" /* yacc.c:1652  */
29018     {
29019 					CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
29020 
29021 					/* can't use qualified_name, sigh */
29022 					n->typevar = makeRangeVarFromAnyName((yyvsp[-4].list), (yylsp[-4]), yyscanner);
29023 					n->coldeflist = (yyvsp[-1].list);
29024 					(yyval.node) = (Node *)n;
29025 				}
29026 #line 29027 "gram.c" /* yacc.c:1652  */
29027     break;
29028 
29029   case 747:
29030 #line 5144 "gram.y" /* yacc.c:1652  */
29031     {
29032 					CreateEnumStmt *n = makeNode(CreateEnumStmt);
29033 					n->typeName = (yyvsp[-5].list);
29034 					n->vals = (yyvsp[-1].list);
29035 					(yyval.node) = (Node *)n;
29036 				}
29037 #line 29038 "gram.c" /* yacc.c:1652  */
29038     break;
29039 
29040   case 748:
29041 #line 5151 "gram.y" /* yacc.c:1652  */
29042     {
29043 					CreateRangeStmt *n = makeNode(CreateRangeStmt);
29044 					n->typeName = (yyvsp[-3].list);
29045 					n->params	= (yyvsp[0].list);
29046 					(yyval.node) = (Node *)n;
29047 				}
29048 #line 29049 "gram.c" /* yacc.c:1652  */
29049     break;
29050 
29051   case 749:
29052 #line 5158 "gram.y" /* yacc.c:1652  */
29053     {
29054 					DefineStmt *n = makeNode(DefineStmt);
29055 					n->kind = OBJECT_TSPARSER;
29056 					n->args = NIL;
29057 					n->defnames = (yyvsp[-1].list);
29058 					n->definition = (yyvsp[0].list);
29059 					(yyval.node) = (Node *)n;
29060 				}
29061 #line 29062 "gram.c" /* yacc.c:1652  */
29062     break;
29063 
29064   case 750:
29065 #line 5167 "gram.y" /* yacc.c:1652  */
29066     {
29067 					DefineStmt *n = makeNode(DefineStmt);
29068 					n->kind = OBJECT_TSDICTIONARY;
29069 					n->args = NIL;
29070 					n->defnames = (yyvsp[-1].list);
29071 					n->definition = (yyvsp[0].list);
29072 					(yyval.node) = (Node *)n;
29073 				}
29074 #line 29075 "gram.c" /* yacc.c:1652  */
29075     break;
29076 
29077   case 751:
29078 #line 5176 "gram.y" /* yacc.c:1652  */
29079     {
29080 					DefineStmt *n = makeNode(DefineStmt);
29081 					n->kind = OBJECT_TSTEMPLATE;
29082 					n->args = NIL;
29083 					n->defnames = (yyvsp[-1].list);
29084 					n->definition = (yyvsp[0].list);
29085 					(yyval.node) = (Node *)n;
29086 				}
29087 #line 29088 "gram.c" /* yacc.c:1652  */
29088     break;
29089 
29090   case 752:
29091 #line 5185 "gram.y" /* yacc.c:1652  */
29092     {
29093 					DefineStmt *n = makeNode(DefineStmt);
29094 					n->kind = OBJECT_TSCONFIGURATION;
29095 					n->args = NIL;
29096 					n->defnames = (yyvsp[-1].list);
29097 					n->definition = (yyvsp[0].list);
29098 					(yyval.node) = (Node *)n;
29099 				}
29100 #line 29101 "gram.c" /* yacc.c:1652  */
29101     break;
29102 
29103   case 753:
29104 #line 5194 "gram.y" /* yacc.c:1652  */
29105     {
29106 					DefineStmt *n = makeNode(DefineStmt);
29107 					n->kind = OBJECT_COLLATION;
29108 					n->args = NIL;
29109 					n->defnames = (yyvsp[-1].list);
29110 					n->definition = (yyvsp[0].list);
29111 					(yyval.node) = (Node *)n;
29112 				}
29113 #line 29114 "gram.c" /* yacc.c:1652  */
29114     break;
29115 
29116   case 754:
29117 #line 5203 "gram.y" /* yacc.c:1652  */
29118     {
29119 					DefineStmt *n = makeNode(DefineStmt);
29120 					n->kind = OBJECT_COLLATION;
29121 					n->args = NIL;
29122 					n->defnames = (yyvsp[-2].list);
29123 					n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list)));
29124 					(yyval.node) = (Node *)n;
29125 				}
29126 #line 29127 "gram.c" /* yacc.c:1652  */
29127     break;
29128 
29129   case 755:
29130 #line 5213 "gram.y" /* yacc.c:1652  */
29131     { (yyval.list) = (yyvsp[-1].list); }
29132 #line 29133 "gram.c" /* yacc.c:1652  */
29133     break;
29134 
29135   case 756:
29136 #line 5216 "gram.y" /* yacc.c:1652  */
29137     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
29138 #line 29139 "gram.c" /* yacc.c:1652  */
29139     break;
29140 
29141   case 757:
29142 #line 5217 "gram.y" /* yacc.c:1652  */
29143     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
29144 #line 29145 "gram.c" /* yacc.c:1652  */
29145     break;
29146 
29147   case 758:
29148 #line 5221 "gram.y" /* yacc.c:1652  */
29149     {
29150 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node));
29151 				}
29152 #line 29153 "gram.c" /* yacc.c:1652  */
29153     break;
29154 
29155   case 759:
29156 #line 5225 "gram.y" /* yacc.c:1652  */
29157     {
29158 					(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL);
29159 				}
29160 #line 29161 "gram.c" /* yacc.c:1652  */
29161     break;
29162 
29163   case 760:
29164 #line 5231 "gram.y" /* yacc.c:1652  */
29165     { (yyval.node) = (Node *)(yyvsp[0].typnam); }
29166 #line 29167 "gram.c" /* yacc.c:1652  */
29167     break;
29168 
29169   case 761:
29170 #line 5232 "gram.y" /* yacc.c:1652  */
29171     { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
29172 #line 29173 "gram.c" /* yacc.c:1652  */
29173     break;
29174 
29175   case 762:
29176 #line 5233 "gram.y" /* yacc.c:1652  */
29177     { (yyval.node) = (Node *)(yyvsp[0].list); }
29178 #line 29179 "gram.c" /* yacc.c:1652  */
29179     break;
29180 
29181   case 763:
29182 #line 5234 "gram.y" /* yacc.c:1652  */
29183     { (yyval.node) = (Node *)(yyvsp[0].value); }
29184 #line 29185 "gram.c" /* yacc.c:1652  */
29185     break;
29186 
29187   case 764:
29188 #line 5235 "gram.y" /* yacc.c:1652  */
29189     { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
29190 #line 29191 "gram.c" /* yacc.c:1652  */
29191     break;
29192 
29193   case 765:
29194 #line 5238 "gram.y" /* yacc.c:1652  */
29195     { (yyval.list) = (yyvsp[-1].list); }
29196 #line 29197 "gram.c" /* yacc.c:1652  */
29197     break;
29198 
29199   case 766:
29200 #line 5241 "gram.y" /* yacc.c:1652  */
29201     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
29202 #line 29203 "gram.c" /* yacc.c:1652  */
29203     break;
29204 
29205   case 767:
29206 #line 5242 "gram.y" /* yacc.c:1652  */
29207     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
29208 #line 29209 "gram.c" /* yacc.c:1652  */
29209     break;
29210 
29211   case 768:
29212 #line 5251 "gram.y" /* yacc.c:1652  */
29213     {
29214 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)(yyvsp[0].node));
29215 				}
29216 #line 29217 "gram.c" /* yacc.c:1652  */
29217     break;
29218 
29219   case 769:
29220 #line 5257 "gram.y" /* yacc.c:1652  */
29221     { (yyval.list) = (yyvsp[0].list); }
29222 #line 29223 "gram.c" /* yacc.c:1652  */
29223     break;
29224 
29225   case 770:
29226 #line 5258 "gram.y" /* yacc.c:1652  */
29227     { (yyval.list) = NIL; }
29228 #line 29229 "gram.c" /* yacc.c:1652  */
29229     break;
29230 
29231   case 771:
29232 #line 5262 "gram.y" /* yacc.c:1652  */
29233     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
29234 #line 29235 "gram.c" /* yacc.c:1652  */
29235     break;
29236 
29237   case 772:
29238 #line 5264 "gram.y" /* yacc.c:1652  */
29239     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
29240 #line 29241 "gram.c" /* yacc.c:1652  */
29241     break;
29242 
29243   case 773:
29244 #line 5275 "gram.y" /* yacc.c:1652  */
29245     {
29246 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
29247 				n->typeName = (yyvsp[-4].list);
29248 				n->newVal = (yyvsp[0].str);
29249 				n->newValNeighbor = NULL;
29250 				n->newValIsAfter = true;
29251 				n->skipIfExists = (yyvsp[-1].boolean);
29252 				(yyval.node) = (Node *) n;
29253 			}
29254 #line 29255 "gram.c" /* yacc.c:1652  */
29255     break;
29256 
29257   case 774:
29258 #line 5285 "gram.y" /* yacc.c:1652  */
29259     {
29260 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
29261 				n->typeName = (yyvsp[-6].list);
29262 				n->newVal = (yyvsp[-2].str);
29263 				n->newValNeighbor = (yyvsp[0].str);
29264 				n->newValIsAfter = false;
29265 				n->skipIfExists = (yyvsp[-3].boolean);
29266 				(yyval.node) = (Node *) n;
29267 			}
29268 #line 29269 "gram.c" /* yacc.c:1652  */
29269     break;
29270 
29271   case 775:
29272 #line 5295 "gram.y" /* yacc.c:1652  */
29273     {
29274 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
29275 				n->typeName = (yyvsp[-6].list);
29276 				n->newVal = (yyvsp[-2].str);
29277 				n->newValNeighbor = (yyvsp[0].str);
29278 				n->newValIsAfter = true;
29279 				n->skipIfExists = (yyvsp[-3].boolean);
29280 				(yyval.node) = (Node *) n;
29281 			}
29282 #line 29283 "gram.c" /* yacc.c:1652  */
29283     break;
29284 
29285   case 776:
29286 #line 5306 "gram.y" /* yacc.c:1652  */
29287     { (yyval.boolean) = true; }
29288 #line 29289 "gram.c" /* yacc.c:1652  */
29289     break;
29290 
29291   case 777:
29292 #line 5307 "gram.y" /* yacc.c:1652  */
29293     { (yyval.boolean) = false; }
29294 #line 29295 "gram.c" /* yacc.c:1652  */
29295     break;
29296 
29297   case 778:
29298 #line 5325 "gram.y" /* yacc.c:1652  */
29299     {
29300 					CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
29301 					n->opclassname = (yyvsp[-9].list);
29302 					n->isDefault = (yyvsp[-8].boolean);
29303 					n->datatype = (yyvsp[-5].typnam);
29304 					n->amname = (yyvsp[-3].str);
29305 					n->opfamilyname = (yyvsp[-2].list);
29306 					n->items = (yyvsp[0].list);
29307 					(yyval.node) = (Node *) n;
29308 				}
29309 #line 29310 "gram.c" /* yacc.c:1652  */
29310     break;
29311 
29312   case 779:
29313 #line 5338 "gram.y" /* yacc.c:1652  */
29314     { (yyval.list) = list_make1((yyvsp[0].node)); }
29315 #line 29316 "gram.c" /* yacc.c:1652  */
29316     break;
29317 
29318   case 780:
29319 #line 5339 "gram.y" /* yacc.c:1652  */
29320     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
29321 #line 29322 "gram.c" /* yacc.c:1652  */
29322     break;
29323 
29324   case 781:
29325 #line 5344 "gram.y" /* yacc.c:1652  */
29326     {
29327 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
29328 					n->itemtype = OPCLASS_ITEM_OPERATOR;
29329 					n->name = (yyvsp[-2].list);
29330 					n->args = NIL;
29331 					n->number = (yyvsp[-3].ival);
29332 					n->order_family = (yyvsp[-1].list);
29333 					(yyval.node) = (Node *) n;
29334 				}
29335 #line 29336 "gram.c" /* yacc.c:1652  */
29336     break;
29337 
29338   case 782:
29339 #line 5355 "gram.y" /* yacc.c:1652  */
29340     {
29341 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
29342 					n->itemtype = OPCLASS_ITEM_OPERATOR;
29343 					n->name = (yyvsp[-3].list);
29344 					n->args = (yyvsp[-2].list);
29345 					n->number = (yyvsp[-4].ival);
29346 					n->order_family = (yyvsp[-1].list);
29347 					(yyval.node) = (Node *) n;
29348 				}
29349 #line 29350 "gram.c" /* yacc.c:1652  */
29350     break;
29351 
29352   case 783:
29353 #line 5365 "gram.y" /* yacc.c:1652  */
29354     {
29355 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
29356 					n->itemtype = OPCLASS_ITEM_FUNCTION;
29357 					n->name = (yyvsp[-1].list);
29358 					n->args = extractArgTypes((yyvsp[0].list));
29359 					n->number = (yyvsp[-2].ival);
29360 					(yyval.node) = (Node *) n;
29361 				}
29362 #line 29363 "gram.c" /* yacc.c:1652  */
29363     break;
29364 
29365   case 784:
29366 #line 5374 "gram.y" /* yacc.c:1652  */
29367     {
29368 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
29369 					n->itemtype = OPCLASS_ITEM_FUNCTION;
29370 					n->name = (yyvsp[-1].list);
29371 					n->args = extractArgTypes((yyvsp[0].list));
29372 					n->number = (yyvsp[-5].ival);
29373 					n->class_args = (yyvsp[-3].list);
29374 					(yyval.node) = (Node *) n;
29375 				}
29376 #line 29377 "gram.c" /* yacc.c:1652  */
29377     break;
29378 
29379   case 785:
29380 #line 5384 "gram.y" /* yacc.c:1652  */
29381     {
29382 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
29383 					n->itemtype = OPCLASS_ITEM_STORAGETYPE;
29384 					n->storedtype = (yyvsp[0].typnam);
29385 					(yyval.node) = (Node *) n;
29386 				}
29387 #line 29388 "gram.c" /* yacc.c:1652  */
29388     break;
29389 
29390   case 786:
29391 #line 5392 "gram.y" /* yacc.c:1652  */
29392     { (yyval.boolean) = TRUE; }
29393 #line 29394 "gram.c" /* yacc.c:1652  */
29394     break;
29395 
29396   case 787:
29397 #line 5393 "gram.y" /* yacc.c:1652  */
29398     { (yyval.boolean) = FALSE; }
29399 #line 29400 "gram.c" /* yacc.c:1652  */
29400     break;
29401 
29402   case 788:
29403 #line 5396 "gram.y" /* yacc.c:1652  */
29404     { (yyval.list) = (yyvsp[0].list); }
29405 #line 29406 "gram.c" /* yacc.c:1652  */
29406     break;
29407 
29408   case 789:
29409 #line 5397 "gram.y" /* yacc.c:1652  */
29410     { (yyval.list) = NIL; }
29411 #line 29412 "gram.c" /* yacc.c:1652  */
29412     break;
29413 
29414   case 790:
29415 #line 5400 "gram.y" /* yacc.c:1652  */
29416     { (yyval.list) = NIL; }
29417 #line 29418 "gram.c" /* yacc.c:1652  */
29418     break;
29419 
29420   case 791:
29421 #line 5401 "gram.y" /* yacc.c:1652  */
29422     { (yyval.list) = (yyvsp[0].list); }
29423 #line 29424 "gram.c" /* yacc.c:1652  */
29424     break;
29425 
29426   case 792:
29427 #line 5402 "gram.y" /* yacc.c:1652  */
29428     { (yyval.list) = NIL; }
29429 #line 29430 "gram.c" /* yacc.c:1652  */
29430     break;
29431 
29432   case 793:
29433 #line 5406 "gram.y" /* yacc.c:1652  */
29434     {
29435 					/*
29436 					 * RECHECK no longer does anything in opclass definitions,
29437 					 * but we still accept it to ease porting of old database
29438 					 * dumps.
29439 					 */
29440 					ereport(NOTICE,
29441 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
29442 							 errmsg("RECHECK is no longer required"),
29443 							 errhint("Update your data type."),
29444 							 parser_errposition((yylsp[0]))));
29445 					(yyval.boolean) = TRUE;
29446 				}
29447 #line 29448 "gram.c" /* yacc.c:1652  */
29448     break;
29449 
29450   case 794:
29451 #line 5419 "gram.y" /* yacc.c:1652  */
29452     { (yyval.boolean) = FALSE; }
29453 #line 29454 "gram.c" /* yacc.c:1652  */
29454     break;
29455 
29456   case 795:
29457 #line 5425 "gram.y" /* yacc.c:1652  */
29458     {
29459 					CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
29460 					n->opfamilyname = (yyvsp[-2].list);
29461 					n->amname = (yyvsp[0].str);
29462 					(yyval.node) = (Node *) n;
29463 				}
29464 #line 29465 "gram.c" /* yacc.c:1652  */
29465     break;
29466 
29467   case 796:
29468 #line 5435 "gram.y" /* yacc.c:1652  */
29469     {
29470 					AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
29471 					n->opfamilyname = (yyvsp[-4].list);
29472 					n->amname = (yyvsp[-2].str);
29473 					n->isDrop = false;
29474 					n->items = (yyvsp[0].list);
29475 					(yyval.node) = (Node *) n;
29476 				}
29477 #line 29478 "gram.c" /* yacc.c:1652  */
29478     break;
29479 
29480   case 797:
29481 #line 5444 "gram.y" /* yacc.c:1652  */
29482     {
29483 					AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
29484 					n->opfamilyname = (yyvsp[-4].list);
29485 					n->amname = (yyvsp[-2].str);
29486 					n->isDrop = true;
29487 					n->items = (yyvsp[0].list);
29488 					(yyval.node) = (Node *) n;
29489 				}
29490 #line 29491 "gram.c" /* yacc.c:1652  */
29491     break;
29492 
29493   case 798:
29494 #line 5455 "gram.y" /* yacc.c:1652  */
29495     { (yyval.list) = list_make1((yyvsp[0].node)); }
29496 #line 29497 "gram.c" /* yacc.c:1652  */
29497     break;
29498 
29499   case 799:
29500 #line 5456 "gram.y" /* yacc.c:1652  */
29501     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
29502 #line 29503 "gram.c" /* yacc.c:1652  */
29503     break;
29504 
29505   case 800:
29506 #line 5461 "gram.y" /* yacc.c:1652  */
29507     {
29508 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
29509 					n->itemtype = OPCLASS_ITEM_OPERATOR;
29510 					n->number = (yyvsp[-3].ival);
29511 					n->args = (yyvsp[-1].list);
29512 					(yyval.node) = (Node *) n;
29513 				}
29514 #line 29515 "gram.c" /* yacc.c:1652  */
29515     break;
29516 
29517   case 801:
29518 #line 5469 "gram.y" /* yacc.c:1652  */
29519     {
29520 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
29521 					n->itemtype = OPCLASS_ITEM_FUNCTION;
29522 					n->number = (yyvsp[-3].ival);
29523 					n->args = (yyvsp[-1].list);
29524 					(yyval.node) = (Node *) n;
29525 				}
29526 #line 29527 "gram.c" /* yacc.c:1652  */
29527     break;
29528 
29529   case 802:
29530 #line 5481 "gram.y" /* yacc.c:1652  */
29531     {
29532 					DropStmt *n = makeNode(DropStmt);
29533 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
29534 					n->removeType = OBJECT_OPCLASS;
29535 					n->behavior = (yyvsp[0].dbehavior);
29536 					n->missing_ok = false;
29537 					n->concurrent = false;
29538 					(yyval.node) = (Node *) n;
29539 				}
29540 #line 29541 "gram.c" /* yacc.c:1652  */
29541     break;
29542 
29543   case 803:
29544 #line 5491 "gram.y" /* yacc.c:1652  */
29545     {
29546 					DropStmt *n = makeNode(DropStmt);
29547 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
29548 					n->removeType = OBJECT_OPCLASS;
29549 					n->behavior = (yyvsp[0].dbehavior);
29550 					n->missing_ok = true;
29551 					n->concurrent = false;
29552 					(yyval.node) = (Node *) n;
29553 				}
29554 #line 29555 "gram.c" /* yacc.c:1652  */
29555     break;
29556 
29557   case 804:
29558 #line 5504 "gram.y" /* yacc.c:1652  */
29559     {
29560 					DropStmt *n = makeNode(DropStmt);
29561 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
29562 					n->removeType = OBJECT_OPFAMILY;
29563 					n->behavior = (yyvsp[0].dbehavior);
29564 					n->missing_ok = false;
29565 					n->concurrent = false;
29566 					(yyval.node) = (Node *) n;
29567 				}
29568 #line 29569 "gram.c" /* yacc.c:1652  */
29569     break;
29570 
29571   case 805:
29572 #line 5514 "gram.y" /* yacc.c:1652  */
29573     {
29574 					DropStmt *n = makeNode(DropStmt);
29575 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
29576 					n->removeType = OBJECT_OPFAMILY;
29577 					n->behavior = (yyvsp[0].dbehavior);
29578 					n->missing_ok = true;
29579 					n->concurrent = false;
29580 					(yyval.node) = (Node *) n;
29581 				}
29582 #line 29583 "gram.c" /* yacc.c:1652  */
29583     break;
29584 
29585   case 806:
29586 #line 5536 "gram.y" /* yacc.c:1652  */
29587     {
29588 					DropOwnedStmt *n = makeNode(DropOwnedStmt);
29589 					n->roles = (yyvsp[-1].list);
29590 					n->behavior = (yyvsp[0].dbehavior);
29591 					(yyval.node) = (Node *)n;
29592 				}
29593 #line 29594 "gram.c" /* yacc.c:1652  */
29594     break;
29595 
29596   case 807:
29597 #line 5546 "gram.y" /* yacc.c:1652  */
29598     {
29599 					ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
29600 					n->roles = (yyvsp[-2].list);
29601 					n->newrole = (yyvsp[0].node);
29602 					(yyval.node) = (Node *)n;
29603 				}
29604 #line 29605 "gram.c" /* yacc.c:1652  */
29605     break;
29606 
29607   case 808:
29608 #line 5564 "gram.y" /* yacc.c:1652  */
29609     {
29610 					DropStmt *n = makeNode(DropStmt);
29611 					n->removeType = (yyvsp[-4].objtype);
29612 					n->missing_ok = TRUE;
29613 					n->objects = (yyvsp[-1].list);
29614 					n->arguments = NIL;
29615 					n->behavior = (yyvsp[0].dbehavior);
29616 					n->concurrent = false;
29617 					(yyval.node) = (Node *)n;
29618 				}
29619 #line 29620 "gram.c" /* yacc.c:1652  */
29620     break;
29621 
29622   case 809:
29623 #line 5575 "gram.y" /* yacc.c:1652  */
29624     {
29625 					DropStmt *n = makeNode(DropStmt);
29626 					n->removeType = (yyvsp[-2].objtype);
29627 					n->missing_ok = FALSE;
29628 					n->objects = (yyvsp[-1].list);
29629 					n->arguments = NIL;
29630 					n->behavior = (yyvsp[0].dbehavior);
29631 					n->concurrent = false;
29632 					(yyval.node) = (Node *)n;
29633 				}
29634 #line 29635 "gram.c" /* yacc.c:1652  */
29635     break;
29636 
29637   case 810:
29638 #line 5586 "gram.y" /* yacc.c:1652  */
29639     {
29640 					DropStmt *n = makeNode(DropStmt);
29641 					n->removeType = OBJECT_TYPE;
29642 					n->missing_ok = FALSE;
29643 					n->objects = (yyvsp[-1].list);
29644 					n->behavior = (yyvsp[0].dbehavior);
29645 					n->concurrent = false;
29646 					(yyval.node) = (Node *) n;
29647 				}
29648 #line 29649 "gram.c" /* yacc.c:1652  */
29649     break;
29650 
29651   case 811:
29652 #line 5596 "gram.y" /* yacc.c:1652  */
29653     {
29654 					DropStmt *n = makeNode(DropStmt);
29655 					n->removeType = OBJECT_TYPE;
29656 					n->missing_ok = TRUE;
29657 					n->objects = (yyvsp[-1].list);
29658 					n->behavior = (yyvsp[0].dbehavior);
29659 					n->concurrent = false;
29660 					(yyval.node) = (Node *) n;
29661 				}
29662 #line 29663 "gram.c" /* yacc.c:1652  */
29663     break;
29664 
29665   case 812:
29666 #line 5606 "gram.y" /* yacc.c:1652  */
29667     {
29668 					DropStmt *n = makeNode(DropStmt);
29669 					n->removeType = OBJECT_DOMAIN;
29670 					n->missing_ok = FALSE;
29671 					n->objects = (yyvsp[-1].list);
29672 					n->behavior = (yyvsp[0].dbehavior);
29673 					n->concurrent = false;
29674 					(yyval.node) = (Node *) n;
29675 				}
29676 #line 29677 "gram.c" /* yacc.c:1652  */
29677     break;
29678 
29679   case 813:
29680 #line 5616 "gram.y" /* yacc.c:1652  */
29681     {
29682 					DropStmt *n = makeNode(DropStmt);
29683 					n->removeType = OBJECT_DOMAIN;
29684 					n->missing_ok = TRUE;
29685 					n->objects = (yyvsp[-1].list);
29686 					n->behavior = (yyvsp[0].dbehavior);
29687 					n->concurrent = false;
29688 					(yyval.node) = (Node *) n;
29689 				}
29690 #line 29691 "gram.c" /* yacc.c:1652  */
29691     break;
29692 
29693   case 814:
29694 #line 5626 "gram.y" /* yacc.c:1652  */
29695     {
29696 					DropStmt *n = makeNode(DropStmt);
29697 					n->removeType = OBJECT_INDEX;
29698 					n->missing_ok = FALSE;
29699 					n->objects = (yyvsp[-1].list);
29700 					n->arguments = NIL;
29701 					n->behavior = (yyvsp[0].dbehavior);
29702 					n->concurrent = true;
29703 					(yyval.node) = (Node *)n;
29704 				}
29705 #line 29706 "gram.c" /* yacc.c:1652  */
29706     break;
29707 
29708   case 815:
29709 #line 5637 "gram.y" /* yacc.c:1652  */
29710     {
29711 					DropStmt *n = makeNode(DropStmt);
29712 					n->removeType = OBJECT_INDEX;
29713 					n->missing_ok = TRUE;
29714 					n->objects = (yyvsp[-1].list);
29715 					n->arguments = NIL;
29716 					n->behavior = (yyvsp[0].dbehavior);
29717 					n->concurrent = true;
29718 					(yyval.node) = (Node *)n;
29719 				}
29720 #line 29721 "gram.c" /* yacc.c:1652  */
29721     break;
29722 
29723   case 816:
29724 #line 5650 "gram.y" /* yacc.c:1652  */
29725     { (yyval.objtype) = OBJECT_TABLE; }
29726 #line 29727 "gram.c" /* yacc.c:1652  */
29727     break;
29728 
29729   case 817:
29730 #line 5651 "gram.y" /* yacc.c:1652  */
29731     { (yyval.objtype) = OBJECT_SEQUENCE; }
29732 #line 29733 "gram.c" /* yacc.c:1652  */
29733     break;
29734 
29735   case 818:
29736 #line 5652 "gram.y" /* yacc.c:1652  */
29737     { (yyval.objtype) = OBJECT_VIEW; }
29738 #line 29739 "gram.c" /* yacc.c:1652  */
29739     break;
29740 
29741   case 819:
29742 #line 5653 "gram.y" /* yacc.c:1652  */
29743     { (yyval.objtype) = OBJECT_MATVIEW; }
29744 #line 29745 "gram.c" /* yacc.c:1652  */
29745     break;
29746 
29747   case 820:
29748 #line 5654 "gram.y" /* yacc.c:1652  */
29749     { (yyval.objtype) = OBJECT_INDEX; }
29750 #line 29751 "gram.c" /* yacc.c:1652  */
29751     break;
29752 
29753   case 821:
29754 #line 5655 "gram.y" /* yacc.c:1652  */
29755     { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
29756 #line 29757 "gram.c" /* yacc.c:1652  */
29757     break;
29758 
29759   case 822:
29760 #line 5656 "gram.y" /* yacc.c:1652  */
29761     { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
29762 #line 29763 "gram.c" /* yacc.c:1652  */
29763     break;
29764 
29765   case 823:
29766 #line 5657 "gram.y" /* yacc.c:1652  */
29767     { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
29768 #line 29769 "gram.c" /* yacc.c:1652  */
29769     break;
29770 
29771   case 824:
29772 #line 5658 "gram.y" /* yacc.c:1652  */
29773     { (yyval.objtype) = OBJECT_COLLATION; }
29774 #line 29775 "gram.c" /* yacc.c:1652  */
29775     break;
29776 
29777   case 825:
29778 #line 5659 "gram.y" /* yacc.c:1652  */
29779     { (yyval.objtype) = OBJECT_CONVERSION; }
29780 #line 29781 "gram.c" /* yacc.c:1652  */
29781     break;
29782 
29783   case 826:
29784 #line 5660 "gram.y" /* yacc.c:1652  */
29785     { (yyval.objtype) = OBJECT_SCHEMA; }
29786 #line 29787 "gram.c" /* yacc.c:1652  */
29787     break;
29788 
29789   case 827:
29790 #line 5661 "gram.y" /* yacc.c:1652  */
29791     { (yyval.objtype) = OBJECT_EXTENSION; }
29792 #line 29793 "gram.c" /* yacc.c:1652  */
29793     break;
29794 
29795   case 828:
29796 #line 5662 "gram.y" /* yacc.c:1652  */
29797     { (yyval.objtype) = OBJECT_TSPARSER; }
29798 #line 29799 "gram.c" /* yacc.c:1652  */
29799     break;
29800 
29801   case 829:
29802 #line 5663 "gram.y" /* yacc.c:1652  */
29803     { (yyval.objtype) = OBJECT_TSDICTIONARY; }
29804 #line 29805 "gram.c" /* yacc.c:1652  */
29805     break;
29806 
29807   case 830:
29808 #line 5664 "gram.y" /* yacc.c:1652  */
29809     { (yyval.objtype) = OBJECT_TSTEMPLATE; }
29810 #line 29811 "gram.c" /* yacc.c:1652  */
29811     break;
29812 
29813   case 831:
29814 #line 5665 "gram.y" /* yacc.c:1652  */
29815     { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
29816 #line 29817 "gram.c" /* yacc.c:1652  */
29817     break;
29818 
29819   case 832:
29820 #line 5669 "gram.y" /* yacc.c:1652  */
29821     { (yyval.list) = list_make1((yyvsp[0].list)); }
29822 #line 29823 "gram.c" /* yacc.c:1652  */
29823     break;
29824 
29825   case 833:
29826 #line 5670 "gram.y" /* yacc.c:1652  */
29827     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
29828 #line 29829 "gram.c" /* yacc.c:1652  */
29829     break;
29830 
29831   case 834:
29832 #line 5673 "gram.y" /* yacc.c:1652  */
29833     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
29834 #line 29835 "gram.c" /* yacc.c:1652  */
29835     break;
29836 
29837   case 835:
29838 #line 5674 "gram.y" /* yacc.c:1652  */
29839     { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
29840 #line 29841 "gram.c" /* yacc.c:1652  */
29841     break;
29842 
29843   case 836:
29844 #line 5678 "gram.y" /* yacc.c:1652  */
29845     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
29846 #line 29847 "gram.c" /* yacc.c:1652  */
29847     break;
29848 
29849   case 837:
29850 #line 5680 "gram.y" /* yacc.c:1652  */
29851     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
29852 #line 29853 "gram.c" /* yacc.c:1652  */
29853     break;
29854 
29855   case 838:
29856 #line 5684 "gram.y" /* yacc.c:1652  */
29857     { (yyval.list) = list_make1(list_make1((yyvsp[0].typnam))); }
29858 #line 29859 "gram.c" /* yacc.c:1652  */
29859     break;
29860 
29861   case 839:
29862 #line 5685 "gram.y" /* yacc.c:1652  */
29863     { (yyval.list) = lappend((yyvsp[-2].list), list_make1((yyvsp[0].typnam))); }
29864 #line 29865 "gram.c" /* yacc.c:1652  */
29865     break;
29866 
29867   case 840:
29868 #line 5697 "gram.y" /* yacc.c:1652  */
29869     {
29870 					TruncateStmt *n = makeNode(TruncateStmt);
29871 					n->relations = (yyvsp[-2].list);
29872 					n->restart_seqs = (yyvsp[-1].boolean);
29873 					n->behavior = (yyvsp[0].dbehavior);
29874 					(yyval.node) = (Node *)n;
29875 				}
29876 #line 29877 "gram.c" /* yacc.c:1652  */
29877     break;
29878 
29879   case 841:
29880 #line 5707 "gram.y" /* yacc.c:1652  */
29881     { (yyval.boolean) = false; }
29882 #line 29883 "gram.c" /* yacc.c:1652  */
29883     break;
29884 
29885   case 842:
29886 #line 5708 "gram.y" /* yacc.c:1652  */
29887     { (yyval.boolean) = true; }
29888 #line 29889 "gram.c" /* yacc.c:1652  */
29889     break;
29890 
29891   case 843:
29892 #line 5709 "gram.y" /* yacc.c:1652  */
29893     { (yyval.boolean) = false; }
29894 #line 29895 "gram.c" /* yacc.c:1652  */
29895     break;
29896 
29897   case 844:
29898 #line 5744 "gram.y" /* yacc.c:1652  */
29899     {
29900 					CommentStmt *n = makeNode(CommentStmt);
29901 					n->objtype = (yyvsp[-3].objtype);
29902 					n->objname = (yyvsp[-2].list);
29903 					n->objargs = NIL;
29904 					n->comment = (yyvsp[0].str);
29905 					(yyval.node) = (Node *) n;
29906 				}
29907 #line 29908 "gram.c" /* yacc.c:1652  */
29908     break;
29909 
29910   case 845:
29911 #line 5753 "gram.y" /* yacc.c:1652  */
29912     {
29913 					CommentStmt *n = makeNode(CommentStmt);
29914 					n->objtype = OBJECT_TYPE;
29915 					n->objname = list_make1((yyvsp[-2].typnam));
29916 					n->objargs = NIL;
29917 					n->comment = (yyvsp[0].str);
29918 					(yyval.node) = (Node *) n;
29919 				}
29920 #line 29921 "gram.c" /* yacc.c:1652  */
29921     break;
29922 
29923   case 846:
29924 #line 5762 "gram.y" /* yacc.c:1652  */
29925     {
29926 					CommentStmt *n = makeNode(CommentStmt);
29927 					n->objtype = OBJECT_DOMAIN;
29928 					n->objname = list_make1((yyvsp[-2].typnam));
29929 					n->objargs = NIL;
29930 					n->comment = (yyvsp[0].str);
29931 					(yyval.node) = (Node *) n;
29932 				}
29933 #line 29934 "gram.c" /* yacc.c:1652  */
29934     break;
29935 
29936   case 847:
29937 #line 5771 "gram.y" /* yacc.c:1652  */
29938     {
29939 					CommentStmt *n = makeNode(CommentStmt);
29940 					n->objtype = OBJECT_AGGREGATE;
29941 					n->objname = (yyvsp[-3].list);
29942 					n->objargs = extractAggrArgTypes((yyvsp[-2].list));
29943 					n->comment = (yyvsp[0].str);
29944 					(yyval.node) = (Node *) n;
29945 				}
29946 #line 29947 "gram.c" /* yacc.c:1652  */
29947     break;
29948 
29949   case 848:
29950 #line 5780 "gram.y" /* yacc.c:1652  */
29951     {
29952 					CommentStmt *n = makeNode(CommentStmt);
29953 					n->objtype = OBJECT_FUNCTION;
29954 					n->objname = (yyvsp[-3].list);
29955 					n->objargs = extractArgTypes((yyvsp[-2].list));
29956 					n->comment = (yyvsp[0].str);
29957 					(yyval.node) = (Node *) n;
29958 				}
29959 #line 29960 "gram.c" /* yacc.c:1652  */
29960     break;
29961 
29962   case 849:
29963 #line 5789 "gram.y" /* yacc.c:1652  */
29964     {
29965 					CommentStmt *n = makeNode(CommentStmt);
29966 					n->objtype = OBJECT_OPERATOR;
29967 					n->objname = (yyvsp[-3].list);
29968 					n->objargs = (yyvsp[-2].list);
29969 					n->comment = (yyvsp[0].str);
29970 					(yyval.node) = (Node *) n;
29971 				}
29972 #line 29973 "gram.c" /* yacc.c:1652  */
29973     break;
29974 
29975   case 850:
29976 #line 5798 "gram.y" /* yacc.c:1652  */
29977     {
29978 					CommentStmt *n = makeNode(CommentStmt);
29979 					n->objtype = OBJECT_TABCONSTRAINT;
29980 					n->objname = lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
29981 					n->objargs = NIL;
29982 					n->comment = (yyvsp[0].str);
29983 					(yyval.node) = (Node *) n;
29984 				}
29985 #line 29986 "gram.c" /* yacc.c:1652  */
29986     break;
29987 
29988   case 851:
29989 #line 5807 "gram.y" /* yacc.c:1652  */
29990     {
29991 					CommentStmt *n = makeNode(CommentStmt);
29992 					n->objtype = OBJECT_DOMCONSTRAINT;
29993 					/*
29994 					 * should use Typename not any_name in the production, but
29995 					 * there's a shift/reduce conflict if we do that, so fix it
29996 					 * up here.
29997 					 */
29998 					n->objname = list_make1(makeTypeNameFromNameList((yyvsp[-2].list)));
29999 					n->objargs = list_make1(makeString((yyvsp[-5].str)));
30000 					n->comment = (yyvsp[0].str);
30001 					(yyval.node) = (Node *) n;
30002 				}
30003 #line 30004 "gram.c" /* yacc.c:1652  */
30004     break;
30005 
30006   case 852:
30007 #line 5821 "gram.y" /* yacc.c:1652  */
30008     {
30009 					CommentStmt *n = makeNode(CommentStmt);
30010 					n->objtype = OBJECT_POLICY;
30011 					n->objname = lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
30012 					n->objargs = NIL;
30013 					n->comment = (yyvsp[0].str);
30014 					(yyval.node) = (Node *) n;
30015 				}
30016 #line 30017 "gram.c" /* yacc.c:1652  */
30017     break;
30018 
30019   case 853:
30020 #line 5830 "gram.y" /* yacc.c:1652  */
30021     {
30022 					CommentStmt *n = makeNode(CommentStmt);
30023 					n->objtype = OBJECT_RULE;
30024 					n->objname = lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
30025 					n->objargs = NIL;
30026 					n->comment = (yyvsp[0].str);
30027 					(yyval.node) = (Node *) n;
30028 				}
30029 #line 30030 "gram.c" /* yacc.c:1652  */
30030     break;
30031 
30032   case 854:
30033 #line 5839 "gram.y" /* yacc.c:1652  */
30034     {
30035 					/* Obsolete syntax supported for awhile for compatibility */
30036 					CommentStmt *n = makeNode(CommentStmt);
30037 					n->objtype = OBJECT_RULE;
30038 					n->objname = list_make1(makeString((yyvsp[-2].str)));
30039 					n->objargs = NIL;
30040 					n->comment = (yyvsp[0].str);
30041 					(yyval.node) = (Node *) n;
30042 				}
30043 #line 30044 "gram.c" /* yacc.c:1652  */
30044     break;
30045 
30046   case 855:
30047 #line 5849 "gram.y" /* yacc.c:1652  */
30048     {
30049 					CommentStmt *n = makeNode(CommentStmt);
30050 					n->objtype = OBJECT_TRANSFORM;
30051 					n->objname = list_make1((yyvsp[-4].typnam));
30052 					n->objargs = list_make1(makeString((yyvsp[-2].str)));
30053 					n->comment = (yyvsp[0].str);
30054 					(yyval.node) = (Node *) n;
30055 				}
30056 #line 30057 "gram.c" /* yacc.c:1652  */
30057     break;
30058 
30059   case 856:
30060 #line 5858 "gram.y" /* yacc.c:1652  */
30061     {
30062 					CommentStmt *n = makeNode(CommentStmt);
30063 					n->objtype = OBJECT_TRIGGER;
30064 					n->objname = lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
30065 					n->objargs = NIL;
30066 					n->comment = (yyvsp[0].str);
30067 					(yyval.node) = (Node *) n;
30068 				}
30069 #line 30070 "gram.c" /* yacc.c:1652  */
30070     break;
30071 
30072   case 857:
30073 #line 5867 "gram.y" /* yacc.c:1652  */
30074     {
30075 					CommentStmt *n = makeNode(CommentStmt);
30076 					n->objtype = OBJECT_OPCLASS;
30077 					n->objname = lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
30078 					n->comment = (yyvsp[0].str);
30079 					(yyval.node) = (Node *) n;
30080 				}
30081 #line 30082 "gram.c" /* yacc.c:1652  */
30082     break;
30083 
30084   case 858:
30085 #line 5875 "gram.y" /* yacc.c:1652  */
30086     {
30087 					CommentStmt *n = makeNode(CommentStmt);
30088 					n->objtype = OBJECT_OPFAMILY;
30089 					n->objname = lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
30090 					n->objargs = NIL;
30091 					n->comment = (yyvsp[0].str);
30092 					(yyval.node) = (Node *) n;
30093 				}
30094 #line 30095 "gram.c" /* yacc.c:1652  */
30095     break;
30096 
30097   case 859:
30098 #line 5884 "gram.y" /* yacc.c:1652  */
30099     {
30100 					CommentStmt *n = makeNode(CommentStmt);
30101 					n->objtype = OBJECT_LARGEOBJECT;
30102 					n->objname = list_make1((yyvsp[-2].value));
30103 					n->objargs = NIL;
30104 					n->comment = (yyvsp[0].str);
30105 					(yyval.node) = (Node *) n;
30106 				}
30107 #line 30108 "gram.c" /* yacc.c:1652  */
30108     break;
30109 
30110   case 860:
30111 #line 5893 "gram.y" /* yacc.c:1652  */
30112     {
30113 					CommentStmt *n = makeNode(CommentStmt);
30114 					n->objtype = OBJECT_CAST;
30115 					n->objname = list_make1((yyvsp[-5].typnam));
30116 					n->objargs = list_make1((yyvsp[-3].typnam));
30117 					n->comment = (yyvsp[0].str);
30118 					(yyval.node) = (Node *) n;
30119 				}
30120 #line 30121 "gram.c" /* yacc.c:1652  */
30121     break;
30122 
30123   case 861:
30124 #line 5902 "gram.y" /* yacc.c:1652  */
30125     {
30126 					CommentStmt *n = makeNode(CommentStmt);
30127 					n->objtype = OBJECT_LANGUAGE;
30128 					n->objname = (yyvsp[-2].list);
30129 					n->objargs = NIL;
30130 					n->comment = (yyvsp[0].str);
30131 					(yyval.node) = (Node *) n;
30132 				}
30133 #line 30134 "gram.c" /* yacc.c:1652  */
30134     break;
30135 
30136   case 862:
30137 #line 5913 "gram.y" /* yacc.c:1652  */
30138     { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
30139 #line 30140 "gram.c" /* yacc.c:1652  */
30140     break;
30141 
30142   case 863:
30143 #line 5914 "gram.y" /* yacc.c:1652  */
30144     { (yyval.objtype) = OBJECT_COLUMN; }
30145 #line 30146 "gram.c" /* yacc.c:1652  */
30146     break;
30147 
30148   case 864:
30149 #line 5915 "gram.y" /* yacc.c:1652  */
30150     { (yyval.objtype) = OBJECT_DATABASE; }
30151 #line 30152 "gram.c" /* yacc.c:1652  */
30152     break;
30153 
30154   case 865:
30155 #line 5916 "gram.y" /* yacc.c:1652  */
30156     { (yyval.objtype) = OBJECT_SCHEMA; }
30157 #line 30158 "gram.c" /* yacc.c:1652  */
30158     break;
30159 
30160   case 866:
30161 #line 5917 "gram.y" /* yacc.c:1652  */
30162     { (yyval.objtype) = OBJECT_INDEX; }
30163 #line 30164 "gram.c" /* yacc.c:1652  */
30164     break;
30165 
30166   case 867:
30167 #line 5918 "gram.y" /* yacc.c:1652  */
30168     { (yyval.objtype) = OBJECT_SEQUENCE; }
30169 #line 30170 "gram.c" /* yacc.c:1652  */
30170     break;
30171 
30172   case 868:
30173 #line 5919 "gram.y" /* yacc.c:1652  */
30174     { (yyval.objtype) = OBJECT_TABLE; }
30175 #line 30176 "gram.c" /* yacc.c:1652  */
30176     break;
30177 
30178   case 869:
30179 #line 5920 "gram.y" /* yacc.c:1652  */
30180     { (yyval.objtype) = OBJECT_VIEW; }
30181 #line 30182 "gram.c" /* yacc.c:1652  */
30182     break;
30183 
30184   case 870:
30185 #line 5921 "gram.y" /* yacc.c:1652  */
30186     { (yyval.objtype) = OBJECT_MATVIEW; }
30187 #line 30188 "gram.c" /* yacc.c:1652  */
30188     break;
30189 
30190   case 871:
30191 #line 5922 "gram.y" /* yacc.c:1652  */
30192     { (yyval.objtype) = OBJECT_COLLATION; }
30193 #line 30194 "gram.c" /* yacc.c:1652  */
30194     break;
30195 
30196   case 872:
30197 #line 5923 "gram.y" /* yacc.c:1652  */
30198     { (yyval.objtype) = OBJECT_CONVERSION; }
30199 #line 30200 "gram.c" /* yacc.c:1652  */
30200     break;
30201 
30202   case 873:
30203 #line 5924 "gram.y" /* yacc.c:1652  */
30204     { (yyval.objtype) = OBJECT_TABLESPACE; }
30205 #line 30206 "gram.c" /* yacc.c:1652  */
30206     break;
30207 
30208   case 874:
30209 #line 5925 "gram.y" /* yacc.c:1652  */
30210     { (yyval.objtype) = OBJECT_EXTENSION; }
30211 #line 30212 "gram.c" /* yacc.c:1652  */
30212     break;
30213 
30214   case 875:
30215 #line 5926 "gram.y" /* yacc.c:1652  */
30216     { (yyval.objtype) = OBJECT_ROLE; }
30217 #line 30218 "gram.c" /* yacc.c:1652  */
30218     break;
30219 
30220   case 876:
30221 #line 5927 "gram.y" /* yacc.c:1652  */
30222     { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
30223 #line 30224 "gram.c" /* yacc.c:1652  */
30224     break;
30225 
30226   case 877:
30227 #line 5928 "gram.y" /* yacc.c:1652  */
30228     { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
30229 #line 30230 "gram.c" /* yacc.c:1652  */
30230     break;
30231 
30232   case 878:
30233 #line 5929 "gram.y" /* yacc.c:1652  */
30234     { (yyval.objtype) = OBJECT_FDW; }
30235 #line 30236 "gram.c" /* yacc.c:1652  */
30236     break;
30237 
30238   case 879:
30239 #line 5930 "gram.y" /* yacc.c:1652  */
30240     { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
30241 #line 30242 "gram.c" /* yacc.c:1652  */
30242     break;
30243 
30244   case 880:
30245 #line 5931 "gram.y" /* yacc.c:1652  */
30246     { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
30247 #line 30248 "gram.c" /* yacc.c:1652  */
30248     break;
30249 
30250   case 881:
30251 #line 5932 "gram.y" /* yacc.c:1652  */
30252     { (yyval.objtype) = OBJECT_TSDICTIONARY; }
30253 #line 30254 "gram.c" /* yacc.c:1652  */
30254     break;
30255 
30256   case 882:
30257 #line 5933 "gram.y" /* yacc.c:1652  */
30258     { (yyval.objtype) = OBJECT_TSPARSER; }
30259 #line 30260 "gram.c" /* yacc.c:1652  */
30260     break;
30261 
30262   case 883:
30263 #line 5934 "gram.y" /* yacc.c:1652  */
30264     { (yyval.objtype) = OBJECT_TSTEMPLATE; }
30265 #line 30266 "gram.c" /* yacc.c:1652  */
30266     break;
30267 
30268   case 884:
30269 #line 5938 "gram.y" /* yacc.c:1652  */
30270     { (yyval.str) = (yyvsp[0].str); }
30271 #line 30272 "gram.c" /* yacc.c:1652  */
30272     break;
30273 
30274   case 885:
30275 #line 5939 "gram.y" /* yacc.c:1652  */
30276     { (yyval.str) = NULL; }
30277 #line 30278 "gram.c" /* yacc.c:1652  */
30278     break;
30279 
30280   case 886:
30281 #line 5955 "gram.y" /* yacc.c:1652  */
30282     {
30283 					SecLabelStmt *n = makeNode(SecLabelStmt);
30284 					n->provider = (yyvsp[-5].str);
30285 					n->objtype = (yyvsp[-3].objtype);
30286 					n->objname = (yyvsp[-2].list);
30287 					n->objargs = NIL;
30288 					n->label = (yyvsp[0].str);
30289 					(yyval.node) = (Node *) n;
30290 				}
30291 #line 30292 "gram.c" /* yacc.c:1652  */
30292     break;
30293 
30294   case 887:
30295 #line 5966 "gram.y" /* yacc.c:1652  */
30296     {
30297 					SecLabelStmt *n = makeNode(SecLabelStmt);
30298 					n->provider = (yyvsp[-5].str);
30299 					n->objtype = OBJECT_TYPE;
30300 					n->objname = list_make1((yyvsp[-2].typnam));
30301 					n->objargs = NIL;
30302 					n->label = (yyvsp[0].str);
30303 					(yyval.node) = (Node *) n;
30304 				}
30305 #line 30306 "gram.c" /* yacc.c:1652  */
30306     break;
30307 
30308   case 888:
30309 #line 5977 "gram.y" /* yacc.c:1652  */
30310     {
30311 					SecLabelStmt *n = makeNode(SecLabelStmt);
30312 					n->provider = (yyvsp[-5].str);
30313 					n->objtype = OBJECT_TYPE;
30314 					n->objname = list_make1((yyvsp[-2].typnam));
30315 					n->objargs = NIL;
30316 					n->label = (yyvsp[0].str);
30317 					(yyval.node) = (Node *) n;
30318 				}
30319 #line 30320 "gram.c" /* yacc.c:1652  */
30320     break;
30321 
30322   case 889:
30323 #line 5988 "gram.y" /* yacc.c:1652  */
30324     {
30325 					SecLabelStmt *n = makeNode(SecLabelStmt);
30326 					n->provider = (yyvsp[-6].str);
30327 					n->objtype = OBJECT_AGGREGATE;
30328 					n->objname = (yyvsp[-3].list);
30329 					n->objargs = extractAggrArgTypes((yyvsp[-2].list));
30330 					n->label = (yyvsp[0].str);
30331 					(yyval.node) = (Node *) n;
30332 				}
30333 #line 30334 "gram.c" /* yacc.c:1652  */
30334     break;
30335 
30336   case 890:
30337 #line 5999 "gram.y" /* yacc.c:1652  */
30338     {
30339 					SecLabelStmt *n = makeNode(SecLabelStmt);
30340 					n->provider = (yyvsp[-6].str);
30341 					n->objtype = OBJECT_FUNCTION;
30342 					n->objname = (yyvsp[-3].list);
30343 					n->objargs = extractArgTypes((yyvsp[-2].list));
30344 					n->label = (yyvsp[0].str);
30345 					(yyval.node) = (Node *) n;
30346 				}
30347 #line 30348 "gram.c" /* yacc.c:1652  */
30348     break;
30349 
30350   case 891:
30351 #line 6010 "gram.y" /* yacc.c:1652  */
30352     {
30353 					SecLabelStmt *n = makeNode(SecLabelStmt);
30354 					n->provider = (yyvsp[-6].str);
30355 					n->objtype = OBJECT_LARGEOBJECT;
30356 					n->objname = list_make1((yyvsp[-2].value));
30357 					n->objargs = NIL;
30358 					n->label = (yyvsp[0].str);
30359 					(yyval.node) = (Node *) n;
30360 				}
30361 #line 30362 "gram.c" /* yacc.c:1652  */
30362     break;
30363 
30364   case 892:
30365 #line 6021 "gram.y" /* yacc.c:1652  */
30366     {
30367 					SecLabelStmt *n = makeNode(SecLabelStmt);
30368 					n->provider = (yyvsp[-6].str);
30369 					n->objtype = OBJECT_LANGUAGE;
30370 					n->objname = (yyvsp[-2].list);
30371 					n->objargs = NIL;
30372 					n->label = (yyvsp[0].str);
30373 					(yyval.node) = (Node *) n;
30374 				}
30375 #line 30376 "gram.c" /* yacc.c:1652  */
30376     break;
30377 
30378   case 893:
30379 #line 6032 "gram.y" /* yacc.c:1652  */
30380     { (yyval.str) = (yyvsp[0].str); }
30381 #line 30382 "gram.c" /* yacc.c:1652  */
30382     break;
30383 
30384   case 894:
30385 #line 6033 "gram.y" /* yacc.c:1652  */
30386     { (yyval.str) = NULL; }
30387 #line 30388 "gram.c" /* yacc.c:1652  */
30388     break;
30389 
30390   case 895:
30391 #line 6037 "gram.y" /* yacc.c:1652  */
30392     { (yyval.objtype) = OBJECT_COLUMN; }
30393 #line 30394 "gram.c" /* yacc.c:1652  */
30394     break;
30395 
30396   case 896:
30397 #line 6038 "gram.y" /* yacc.c:1652  */
30398     { (yyval.objtype) = OBJECT_DATABASE; }
30399 #line 30400 "gram.c" /* yacc.c:1652  */
30400     break;
30401 
30402   case 897:
30403 #line 6039 "gram.y" /* yacc.c:1652  */
30404     { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
30405 #line 30406 "gram.c" /* yacc.c:1652  */
30406     break;
30407 
30408   case 898:
30409 #line 6040 "gram.y" /* yacc.c:1652  */
30410     { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
30411 #line 30412 "gram.c" /* yacc.c:1652  */
30412     break;
30413 
30414   case 899:
30415 #line 6041 "gram.y" /* yacc.c:1652  */
30416     { (yyval.objtype) = OBJECT_SCHEMA; }
30417 #line 30418 "gram.c" /* yacc.c:1652  */
30418     break;
30419 
30420   case 900:
30421 #line 6042 "gram.y" /* yacc.c:1652  */
30422     { (yyval.objtype) = OBJECT_SEQUENCE; }
30423 #line 30424 "gram.c" /* yacc.c:1652  */
30424     break;
30425 
30426   case 901:
30427 #line 6043 "gram.y" /* yacc.c:1652  */
30428     { (yyval.objtype) = OBJECT_TABLE; }
30429 #line 30430 "gram.c" /* yacc.c:1652  */
30430     break;
30431 
30432   case 902:
30433 #line 6044 "gram.y" /* yacc.c:1652  */
30434     { (yyval.objtype) = OBJECT_ROLE; }
30435 #line 30436 "gram.c" /* yacc.c:1652  */
30436     break;
30437 
30438   case 903:
30439 #line 6045 "gram.y" /* yacc.c:1652  */
30440     { (yyval.objtype) = OBJECT_TABLESPACE; }
30441 #line 30442 "gram.c" /* yacc.c:1652  */
30442     break;
30443 
30444   case 904:
30445 #line 6046 "gram.y" /* yacc.c:1652  */
30446     { (yyval.objtype) = OBJECT_VIEW; }
30447 #line 30448 "gram.c" /* yacc.c:1652  */
30448     break;
30449 
30450   case 905:
30451 #line 6047 "gram.y" /* yacc.c:1652  */
30452     { (yyval.objtype) = OBJECT_MATVIEW; }
30453 #line 30454 "gram.c" /* yacc.c:1652  */
30454     break;
30455 
30456   case 906:
30457 #line 6050 "gram.y" /* yacc.c:1652  */
30458     { (yyval.str) = (yyvsp[0].str); }
30459 #line 30460 "gram.c" /* yacc.c:1652  */
30460     break;
30461 
30462   case 907:
30463 #line 6051 "gram.y" /* yacc.c:1652  */
30464     { (yyval.str) = NULL; }
30465 #line 30466 "gram.c" /* yacc.c:1652  */
30466     break;
30467 
30468   case 908:
30469 #line 6062 "gram.y" /* yacc.c:1652  */
30470     {
30471 					FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
30472 					n->ismove = FALSE;
30473 					(yyval.node) = (Node *)n;
30474 				}
30475 #line 30476 "gram.c" /* yacc.c:1652  */
30476     break;
30477 
30478   case 909:
30479 #line 6068 "gram.y" /* yacc.c:1652  */
30480     {
30481 					FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
30482 					n->ismove = TRUE;
30483 					(yyval.node) = (Node *)n;
30484 				}
30485 #line 30486 "gram.c" /* yacc.c:1652  */
30486     break;
30487 
30488   case 910:
30489 #line 6076 "gram.y" /* yacc.c:1652  */
30490     {
30491 					FetchStmt *n = makeNode(FetchStmt);
30492 					n->portalname = (yyvsp[0].str);
30493 					n->direction = FETCH_FORWARD;
30494 					n->howMany = 1;
30495 					(yyval.node) = (Node *)n;
30496 				}
30497 #line 30498 "gram.c" /* yacc.c:1652  */
30498     break;
30499 
30500   case 911:
30501 #line 6084 "gram.y" /* yacc.c:1652  */
30502     {
30503 					FetchStmt *n = makeNode(FetchStmt);
30504 					n->portalname = (yyvsp[0].str);
30505 					n->direction = FETCH_FORWARD;
30506 					n->howMany = 1;
30507 					(yyval.node) = (Node *)n;
30508 				}
30509 #line 30510 "gram.c" /* yacc.c:1652  */
30510     break;
30511 
30512   case 912:
30513 #line 6092 "gram.y" /* yacc.c:1652  */
30514     {
30515 					FetchStmt *n = makeNode(FetchStmt);
30516 					n->portalname = (yyvsp[0].str);
30517 					n->direction = FETCH_FORWARD;
30518 					n->howMany = 1;
30519 					(yyval.node) = (Node *)n;
30520 				}
30521 #line 30522 "gram.c" /* yacc.c:1652  */
30522     break;
30523 
30524   case 913:
30525 #line 6100 "gram.y" /* yacc.c:1652  */
30526     {
30527 					FetchStmt *n = makeNode(FetchStmt);
30528 					n->portalname = (yyvsp[0].str);
30529 					n->direction = FETCH_BACKWARD;
30530 					n->howMany = 1;
30531 					(yyval.node) = (Node *)n;
30532 				}
30533 #line 30534 "gram.c" /* yacc.c:1652  */
30534     break;
30535 
30536   case 914:
30537 #line 6108 "gram.y" /* yacc.c:1652  */
30538     {
30539 					FetchStmt *n = makeNode(FetchStmt);
30540 					n->portalname = (yyvsp[0].str);
30541 					n->direction = FETCH_ABSOLUTE;
30542 					n->howMany = 1;
30543 					(yyval.node) = (Node *)n;
30544 				}
30545 #line 30546 "gram.c" /* yacc.c:1652  */
30546     break;
30547 
30548   case 915:
30549 #line 6116 "gram.y" /* yacc.c:1652  */
30550     {
30551 					FetchStmt *n = makeNode(FetchStmt);
30552 					n->portalname = (yyvsp[0].str);
30553 					n->direction = FETCH_ABSOLUTE;
30554 					n->howMany = -1;
30555 					(yyval.node) = (Node *)n;
30556 				}
30557 #line 30558 "gram.c" /* yacc.c:1652  */
30558     break;
30559 
30560   case 916:
30561 #line 6124 "gram.y" /* yacc.c:1652  */
30562     {
30563 					FetchStmt *n = makeNode(FetchStmt);
30564 					n->portalname = (yyvsp[0].str);
30565 					n->direction = FETCH_ABSOLUTE;
30566 					n->howMany = (yyvsp[-2].ival);
30567 					(yyval.node) = (Node *)n;
30568 				}
30569 #line 30570 "gram.c" /* yacc.c:1652  */
30570     break;
30571 
30572   case 917:
30573 #line 6132 "gram.y" /* yacc.c:1652  */
30574     {
30575 					FetchStmt *n = makeNode(FetchStmt);
30576 					n->portalname = (yyvsp[0].str);
30577 					n->direction = FETCH_RELATIVE;
30578 					n->howMany = (yyvsp[-2].ival);
30579 					(yyval.node) = (Node *)n;
30580 				}
30581 #line 30582 "gram.c" /* yacc.c:1652  */
30582     break;
30583 
30584   case 918:
30585 #line 6140 "gram.y" /* yacc.c:1652  */
30586     {
30587 					FetchStmt *n = makeNode(FetchStmt);
30588 					n->portalname = (yyvsp[0].str);
30589 					n->direction = FETCH_FORWARD;
30590 					n->howMany = (yyvsp[-2].ival);
30591 					(yyval.node) = (Node *)n;
30592 				}
30593 #line 30594 "gram.c" /* yacc.c:1652  */
30594     break;
30595 
30596   case 919:
30597 #line 6148 "gram.y" /* yacc.c:1652  */
30598     {
30599 					FetchStmt *n = makeNode(FetchStmt);
30600 					n->portalname = (yyvsp[0].str);
30601 					n->direction = FETCH_FORWARD;
30602 					n->howMany = FETCH_ALL;
30603 					(yyval.node) = (Node *)n;
30604 				}
30605 #line 30606 "gram.c" /* yacc.c:1652  */
30606     break;
30607 
30608   case 920:
30609 #line 6156 "gram.y" /* yacc.c:1652  */
30610     {
30611 					FetchStmt *n = makeNode(FetchStmt);
30612 					n->portalname = (yyvsp[0].str);
30613 					n->direction = FETCH_FORWARD;
30614 					n->howMany = 1;
30615 					(yyval.node) = (Node *)n;
30616 				}
30617 #line 30618 "gram.c" /* yacc.c:1652  */
30618     break;
30619 
30620   case 921:
30621 #line 6164 "gram.y" /* yacc.c:1652  */
30622     {
30623 					FetchStmt *n = makeNode(FetchStmt);
30624 					n->portalname = (yyvsp[0].str);
30625 					n->direction = FETCH_FORWARD;
30626 					n->howMany = (yyvsp[-2].ival);
30627 					(yyval.node) = (Node *)n;
30628 				}
30629 #line 30630 "gram.c" /* yacc.c:1652  */
30630     break;
30631 
30632   case 922:
30633 #line 6172 "gram.y" /* yacc.c:1652  */
30634     {
30635 					FetchStmt *n = makeNode(FetchStmt);
30636 					n->portalname = (yyvsp[0].str);
30637 					n->direction = FETCH_FORWARD;
30638 					n->howMany = FETCH_ALL;
30639 					(yyval.node) = (Node *)n;
30640 				}
30641 #line 30642 "gram.c" /* yacc.c:1652  */
30642     break;
30643 
30644   case 923:
30645 #line 6180 "gram.y" /* yacc.c:1652  */
30646     {
30647 					FetchStmt *n = makeNode(FetchStmt);
30648 					n->portalname = (yyvsp[0].str);
30649 					n->direction = FETCH_BACKWARD;
30650 					n->howMany = 1;
30651 					(yyval.node) = (Node *)n;
30652 				}
30653 #line 30654 "gram.c" /* yacc.c:1652  */
30654     break;
30655 
30656   case 924:
30657 #line 6188 "gram.y" /* yacc.c:1652  */
30658     {
30659 					FetchStmt *n = makeNode(FetchStmt);
30660 					n->portalname = (yyvsp[0].str);
30661 					n->direction = FETCH_BACKWARD;
30662 					n->howMany = (yyvsp[-2].ival);
30663 					(yyval.node) = (Node *)n;
30664 				}
30665 #line 30666 "gram.c" /* yacc.c:1652  */
30666     break;
30667 
30668   case 925:
30669 #line 6196 "gram.y" /* yacc.c:1652  */
30670     {
30671 					FetchStmt *n = makeNode(FetchStmt);
30672 					n->portalname = (yyvsp[0].str);
30673 					n->direction = FETCH_BACKWARD;
30674 					n->howMany = FETCH_ALL;
30675 					(yyval.node) = (Node *)n;
30676 				}
30677 #line 30678 "gram.c" /* yacc.c:1652  */
30678     break;
30679 
30680   case 926:
30681 #line 6205 "gram.y" /* yacc.c:1652  */
30682     {}
30683 #line 30684 "gram.c" /* yacc.c:1652  */
30684     break;
30685 
30686   case 927:
30687 #line 6206 "gram.y" /* yacc.c:1652  */
30688     {}
30689 #line 30690 "gram.c" /* yacc.c:1652  */
30690     break;
30691 
30692   case 928:
30693 #line 6209 "gram.y" /* yacc.c:1652  */
30694     {}
30695 #line 30696 "gram.c" /* yacc.c:1652  */
30696     break;
30697 
30698   case 929:
30699 #line 6210 "gram.y" /* yacc.c:1652  */
30700     {}
30701 #line 30702 "gram.c" /* yacc.c:1652  */
30702     break;
30703 
30704   case 930:
30705 #line 6222 "gram.y" /* yacc.c:1652  */
30706     {
30707 					GrantStmt *n = makeNode(GrantStmt);
30708 					n->is_grant = true;
30709 					n->privileges = (yyvsp[-5].list);
30710 					n->targtype = ((yyvsp[-3].privtarget))->targtype;
30711 					n->objtype = ((yyvsp[-3].privtarget))->objtype;
30712 					n->objects = ((yyvsp[-3].privtarget))->objs;
30713 					n->grantees = (yyvsp[-1].list);
30714 					n->grant_option = (yyvsp[0].boolean);
30715 					(yyval.node) = (Node*)n;
30716 				}
30717 #line 30718 "gram.c" /* yacc.c:1652  */
30718     break;
30719 
30720   case 931:
30721 #line 6238 "gram.y" /* yacc.c:1652  */
30722     {
30723 					GrantStmt *n = makeNode(GrantStmt);
30724 					n->is_grant = false;
30725 					n->grant_option = false;
30726 					n->privileges = (yyvsp[-5].list);
30727 					n->targtype = ((yyvsp[-3].privtarget))->targtype;
30728 					n->objtype = ((yyvsp[-3].privtarget))->objtype;
30729 					n->objects = ((yyvsp[-3].privtarget))->objs;
30730 					n->grantees = (yyvsp[-1].list);
30731 					n->behavior = (yyvsp[0].dbehavior);
30732 					(yyval.node) = (Node *)n;
30733 				}
30734 #line 30735 "gram.c" /* yacc.c:1652  */
30735     break;
30736 
30737   case 932:
30738 #line 6252 "gram.y" /* yacc.c:1652  */
30739     {
30740 					GrantStmt *n = makeNode(GrantStmt);
30741 					n->is_grant = false;
30742 					n->grant_option = true;
30743 					n->privileges = (yyvsp[-5].list);
30744 					n->targtype = ((yyvsp[-3].privtarget))->targtype;
30745 					n->objtype = ((yyvsp[-3].privtarget))->objtype;
30746 					n->objects = ((yyvsp[-3].privtarget))->objs;
30747 					n->grantees = (yyvsp[-1].list);
30748 					n->behavior = (yyvsp[0].dbehavior);
30749 					(yyval.node) = (Node *)n;
30750 				}
30751 #line 30752 "gram.c" /* yacc.c:1652  */
30752     break;
30753 
30754   case 933:
30755 #line 6277 "gram.y" /* yacc.c:1652  */
30756     { (yyval.list) = (yyvsp[0].list); }
30757 #line 30758 "gram.c" /* yacc.c:1652  */
30758     break;
30759 
30760   case 934:
30761 #line 6279 "gram.y" /* yacc.c:1652  */
30762     { (yyval.list) = NIL; }
30763 #line 30764 "gram.c" /* yacc.c:1652  */
30764     break;
30765 
30766   case 935:
30767 #line 6281 "gram.y" /* yacc.c:1652  */
30768     { (yyval.list) = NIL; }
30769 #line 30770 "gram.c" /* yacc.c:1652  */
30770     break;
30771 
30772   case 936:
30773 #line 6283 "gram.y" /* yacc.c:1652  */
30774     {
30775 					AccessPriv *n = makeNode(AccessPriv);
30776 					n->priv_name = NULL;
30777 					n->cols = (yyvsp[-1].list);
30778 					(yyval.list) = list_make1(n);
30779 				}
30780 #line 30781 "gram.c" /* yacc.c:1652  */
30781     break;
30782 
30783   case 937:
30784 #line 6290 "gram.y" /* yacc.c:1652  */
30785     {
30786 					AccessPriv *n = makeNode(AccessPriv);
30787 					n->priv_name = NULL;
30788 					n->cols = (yyvsp[-1].list);
30789 					(yyval.list) = list_make1(n);
30790 				}
30791 #line 30792 "gram.c" /* yacc.c:1652  */
30792     break;
30793 
30794   case 938:
30795 #line 6298 "gram.y" /* yacc.c:1652  */
30796     { (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
30797 #line 30798 "gram.c" /* yacc.c:1652  */
30798     break;
30799 
30800   case 939:
30801 #line 6299 "gram.y" /* yacc.c:1652  */
30802     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
30803 #line 30804 "gram.c" /* yacc.c:1652  */
30804     break;
30805 
30806   case 940:
30807 #line 6303 "gram.y" /* yacc.c:1652  */
30808     {
30809 				AccessPriv *n = makeNode(AccessPriv);
30810 				n->priv_name = pstrdup((yyvsp[-1].keyword));
30811 				n->cols = (yyvsp[0].list);
30812 				(yyval.accesspriv) = n;
30813 			}
30814 #line 30815 "gram.c" /* yacc.c:1652  */
30815     break;
30816 
30817   case 941:
30818 #line 6310 "gram.y" /* yacc.c:1652  */
30819     {
30820 				AccessPriv *n = makeNode(AccessPriv);
30821 				n->priv_name = pstrdup((yyvsp[-1].keyword));
30822 				n->cols = (yyvsp[0].list);
30823 				(yyval.accesspriv) = n;
30824 			}
30825 #line 30826 "gram.c" /* yacc.c:1652  */
30826     break;
30827 
30828   case 942:
30829 #line 6317 "gram.y" /* yacc.c:1652  */
30830     {
30831 				AccessPriv *n = makeNode(AccessPriv);
30832 				n->priv_name = pstrdup((yyvsp[-1].keyword));
30833 				n->cols = (yyvsp[0].list);
30834 				(yyval.accesspriv) = n;
30835 			}
30836 #line 30837 "gram.c" /* yacc.c:1652  */
30837     break;
30838 
30839   case 943:
30840 #line 6324 "gram.y" /* yacc.c:1652  */
30841     {
30842 				AccessPriv *n = makeNode(AccessPriv);
30843 				n->priv_name = (yyvsp[-1].str);
30844 				n->cols = (yyvsp[0].list);
30845 				(yyval.accesspriv) = n;
30846 			}
30847 #line 30848 "gram.c" /* yacc.c:1652  */
30848     break;
30849 
30850   case 944:
30851 #line 6338 "gram.y" /* yacc.c:1652  */
30852     {
30853 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
30854 					n->targtype = ACL_TARGET_OBJECT;
30855 					n->objtype = ACL_OBJECT_RELATION;
30856 					n->objs = (yyvsp[0].list);
30857 					(yyval.privtarget) = n;
30858 				}
30859 #line 30860 "gram.c" /* yacc.c:1652  */
30860     break;
30861 
30862   case 945:
30863 #line 6346 "gram.y" /* yacc.c:1652  */
30864     {
30865 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
30866 					n->targtype = ACL_TARGET_OBJECT;
30867 					n->objtype = ACL_OBJECT_RELATION;
30868 					n->objs = (yyvsp[0].list);
30869 					(yyval.privtarget) = n;
30870 				}
30871 #line 30872 "gram.c" /* yacc.c:1652  */
30872     break;
30873 
30874   case 946:
30875 #line 6354 "gram.y" /* yacc.c:1652  */
30876     {
30877 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
30878 					n->targtype = ACL_TARGET_OBJECT;
30879 					n->objtype = ACL_OBJECT_SEQUENCE;
30880 					n->objs = (yyvsp[0].list);
30881 					(yyval.privtarget) = n;
30882 				}
30883 #line 30884 "gram.c" /* yacc.c:1652  */
30884     break;
30885 
30886   case 947:
30887 #line 6362 "gram.y" /* yacc.c:1652  */
30888     {
30889 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
30890 					n->targtype = ACL_TARGET_OBJECT;
30891 					n->objtype = ACL_OBJECT_FDW;
30892 					n->objs = (yyvsp[0].list);
30893 					(yyval.privtarget) = n;
30894 				}
30895 #line 30896 "gram.c" /* yacc.c:1652  */
30896     break;
30897 
30898   case 948:
30899 #line 6370 "gram.y" /* yacc.c:1652  */
30900     {
30901 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
30902 					n->targtype = ACL_TARGET_OBJECT;
30903 					n->objtype = ACL_OBJECT_FOREIGN_SERVER;
30904 					n->objs = (yyvsp[0].list);
30905 					(yyval.privtarget) = n;
30906 				}
30907 #line 30908 "gram.c" /* yacc.c:1652  */
30908     break;
30909 
30910   case 949:
30911 #line 6378 "gram.y" /* yacc.c:1652  */
30912     {
30913 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
30914 					n->targtype = ACL_TARGET_OBJECT;
30915 					n->objtype = ACL_OBJECT_FUNCTION;
30916 					n->objs = (yyvsp[0].list);
30917 					(yyval.privtarget) = n;
30918 				}
30919 #line 30920 "gram.c" /* yacc.c:1652  */
30920     break;
30921 
30922   case 950:
30923 #line 6386 "gram.y" /* yacc.c:1652  */
30924     {
30925 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
30926 					n->targtype = ACL_TARGET_OBJECT;
30927 					n->objtype = ACL_OBJECT_DATABASE;
30928 					n->objs = (yyvsp[0].list);
30929 					(yyval.privtarget) = n;
30930 				}
30931 #line 30932 "gram.c" /* yacc.c:1652  */
30932     break;
30933 
30934   case 951:
30935 #line 6394 "gram.y" /* yacc.c:1652  */
30936     {
30937 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
30938 					n->targtype = ACL_TARGET_OBJECT;
30939 					n->objtype = ACL_OBJECT_DOMAIN;
30940 					n->objs = (yyvsp[0].list);
30941 					(yyval.privtarget) = n;
30942 				}
30943 #line 30944 "gram.c" /* yacc.c:1652  */
30944     break;
30945 
30946   case 952:
30947 #line 6402 "gram.y" /* yacc.c:1652  */
30948     {
30949 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
30950 					n->targtype = ACL_TARGET_OBJECT;
30951 					n->objtype = ACL_OBJECT_LANGUAGE;
30952 					n->objs = (yyvsp[0].list);
30953 					(yyval.privtarget) = n;
30954 				}
30955 #line 30956 "gram.c" /* yacc.c:1652  */
30956     break;
30957 
30958   case 953:
30959 #line 6410 "gram.y" /* yacc.c:1652  */
30960     {
30961 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
30962 					n->targtype = ACL_TARGET_OBJECT;
30963 					n->objtype = ACL_OBJECT_LARGEOBJECT;
30964 					n->objs = (yyvsp[0].list);
30965 					(yyval.privtarget) = n;
30966 				}
30967 #line 30968 "gram.c" /* yacc.c:1652  */
30968     break;
30969 
30970   case 954:
30971 #line 6418 "gram.y" /* yacc.c:1652  */
30972     {
30973 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
30974 					n->targtype = ACL_TARGET_OBJECT;
30975 					n->objtype = ACL_OBJECT_NAMESPACE;
30976 					n->objs = (yyvsp[0].list);
30977 					(yyval.privtarget) = n;
30978 				}
30979 #line 30980 "gram.c" /* yacc.c:1652  */
30980     break;
30981 
30982   case 955:
30983 #line 6426 "gram.y" /* yacc.c:1652  */
30984     {
30985 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
30986 					n->targtype = ACL_TARGET_OBJECT;
30987 					n->objtype = ACL_OBJECT_TABLESPACE;
30988 					n->objs = (yyvsp[0].list);
30989 					(yyval.privtarget) = n;
30990 				}
30991 #line 30992 "gram.c" /* yacc.c:1652  */
30992     break;
30993 
30994   case 956:
30995 #line 6434 "gram.y" /* yacc.c:1652  */
30996     {
30997 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
30998 					n->targtype = ACL_TARGET_OBJECT;
30999 					n->objtype = ACL_OBJECT_TYPE;
31000 					n->objs = (yyvsp[0].list);
31001 					(yyval.privtarget) = n;
31002 				}
31003 #line 31004 "gram.c" /* yacc.c:1652  */
31004     break;
31005 
31006   case 957:
31007 #line 6442 "gram.y" /* yacc.c:1652  */
31008     {
31009 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
31010 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
31011 					n->objtype = ACL_OBJECT_RELATION;
31012 					n->objs = (yyvsp[0].list);
31013 					(yyval.privtarget) = n;
31014 				}
31015 #line 31016 "gram.c" /* yacc.c:1652  */
31016     break;
31017 
31018   case 958:
31019 #line 6450 "gram.y" /* yacc.c:1652  */
31020     {
31021 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
31022 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
31023 					n->objtype = ACL_OBJECT_SEQUENCE;
31024 					n->objs = (yyvsp[0].list);
31025 					(yyval.privtarget) = n;
31026 				}
31027 #line 31028 "gram.c" /* yacc.c:1652  */
31028     break;
31029 
31030   case 959:
31031 #line 6458 "gram.y" /* yacc.c:1652  */
31032     {
31033 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
31034 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
31035 					n->objtype = ACL_OBJECT_FUNCTION;
31036 					n->objs = (yyvsp[0].list);
31037 					(yyval.privtarget) = n;
31038 				}
31039 #line 31040 "gram.c" /* yacc.c:1652  */
31040     break;
31041 
31042   case 960:
31043 #line 6469 "gram.y" /* yacc.c:1652  */
31044     { (yyval.list) = list_make1((yyvsp[0].node)); }
31045 #line 31046 "gram.c" /* yacc.c:1652  */
31046     break;
31047 
31048   case 961:
31049 #line 6470 "gram.y" /* yacc.c:1652  */
31050     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
31051 #line 31052 "gram.c" /* yacc.c:1652  */
31052     break;
31053 
31054   case 962:
31055 #line 6474 "gram.y" /* yacc.c:1652  */
31056     { (yyval.node) = (yyvsp[0].node); }
31057 #line 31058 "gram.c" /* yacc.c:1652  */
31058     break;
31059 
31060   case 963:
31061 #line 6475 "gram.y" /* yacc.c:1652  */
31062     { (yyval.node) = (yyvsp[0].node); }
31063 #line 31064 "gram.c" /* yacc.c:1652  */
31064     break;
31065 
31066   case 964:
31067 #line 6480 "gram.y" /* yacc.c:1652  */
31068     { (yyval.boolean) = TRUE; }
31069 #line 31070 "gram.c" /* yacc.c:1652  */
31070     break;
31071 
31072   case 965:
31073 #line 6481 "gram.y" /* yacc.c:1652  */
31074     { (yyval.boolean) = FALSE; }
31075 #line 31076 "gram.c" /* yacc.c:1652  */
31076     break;
31077 
31078   case 966:
31079 #line 6485 "gram.y" /* yacc.c:1652  */
31080     { (yyval.list) = list_make1((yyvsp[0].funwithargs)); }
31081 #line 31082 "gram.c" /* yacc.c:1652  */
31082     break;
31083 
31084   case 967:
31085 #line 6487 "gram.y" /* yacc.c:1652  */
31086     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].funwithargs)); }
31087 #line 31088 "gram.c" /* yacc.c:1652  */
31088     break;
31089 
31090   case 968:
31091 #line 6492 "gram.y" /* yacc.c:1652  */
31092     {
31093 					FuncWithArgs *n = makeNode(FuncWithArgs);
31094 					n->funcname = (yyvsp[-1].list);
31095 					n->funcargs = extractArgTypes((yyvsp[0].list));
31096 					(yyval.funwithargs) = n;
31097 				}
31098 #line 31099 "gram.c" /* yacc.c:1652  */
31099     break;
31100 
31101   case 969:
31102 #line 6508 "gram.y" /* yacc.c:1652  */
31103     {
31104 					GrantRoleStmt *n = makeNode(GrantRoleStmt);
31105 					n->is_grant = true;
31106 					n->granted_roles = (yyvsp[-4].list);
31107 					n->grantee_roles = (yyvsp[-2].list);
31108 					n->admin_opt = (yyvsp[-1].boolean);
31109 					n->grantor = (yyvsp[0].node);
31110 					(yyval.node) = (Node*)n;
31111 				}
31112 #line 31113 "gram.c" /* yacc.c:1652  */
31113     break;
31114 
31115   case 970:
31116 #line 6521 "gram.y" /* yacc.c:1652  */
31117     {
31118 					GrantRoleStmt *n = makeNode(GrantRoleStmt);
31119 					n->is_grant = false;
31120 					n->admin_opt = false;
31121 					n->granted_roles = (yyvsp[-4].list);
31122 					n->grantee_roles = (yyvsp[-2].list);
31123 					n->behavior = (yyvsp[0].dbehavior);
31124 					(yyval.node) = (Node*)n;
31125 				}
31126 #line 31127 "gram.c" /* yacc.c:1652  */
31127     break;
31128 
31129   case 971:
31130 #line 6531 "gram.y" /* yacc.c:1652  */
31131     {
31132 					GrantRoleStmt *n = makeNode(GrantRoleStmt);
31133 					n->is_grant = false;
31134 					n->admin_opt = true;
31135 					n->granted_roles = (yyvsp[-4].list);
31136 					n->grantee_roles = (yyvsp[-2].list);
31137 					n->behavior = (yyvsp[0].dbehavior);
31138 					(yyval.node) = (Node*)n;
31139 				}
31140 #line 31141 "gram.c" /* yacc.c:1652  */
31141     break;
31142 
31143   case 972:
31144 #line 6542 "gram.y" /* yacc.c:1652  */
31145     { (yyval.boolean) = TRUE; }
31146 #line 31147 "gram.c" /* yacc.c:1652  */
31147     break;
31148 
31149   case 973:
31150 #line 6543 "gram.y" /* yacc.c:1652  */
31151     { (yyval.boolean) = FALSE; }
31152 #line 31153 "gram.c" /* yacc.c:1652  */
31153     break;
31154 
31155   case 974:
31156 #line 6546 "gram.y" /* yacc.c:1652  */
31157     { (yyval.node) = (yyvsp[0].node); }
31158 #line 31159 "gram.c" /* yacc.c:1652  */
31159     break;
31160 
31161   case 975:
31162 #line 6547 "gram.y" /* yacc.c:1652  */
31163     { (yyval.node) = NULL; }
31164 #line 31165 "gram.c" /* yacc.c:1652  */
31165     break;
31166 
31167   case 976:
31168 #line 6558 "gram.y" /* yacc.c:1652  */
31169     {
31170 					AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
31171 					n->options = (yyvsp[-1].list);
31172 					n->action = (GrantStmt *) (yyvsp[0].node);
31173 					(yyval.node) = (Node*)n;
31174 				}
31175 #line 31176 "gram.c" /* yacc.c:1652  */
31176     break;
31177 
31178   case 977:
31179 #line 6567 "gram.y" /* yacc.c:1652  */
31180     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31181 #line 31182 "gram.c" /* yacc.c:1652  */
31182     break;
31183 
31184   case 978:
31185 #line 6568 "gram.y" /* yacc.c:1652  */
31186     { (yyval.list) = NIL; }
31187 #line 31188 "gram.c" /* yacc.c:1652  */
31188     break;
31189 
31190   case 979:
31191 #line 6573 "gram.y" /* yacc.c:1652  */
31192     {
31193 					(yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[0].list));
31194 				}
31195 #line 31196 "gram.c" /* yacc.c:1652  */
31196     break;
31197 
31198   case 980:
31199 #line 6577 "gram.y" /* yacc.c:1652  */
31200     {
31201 					(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list));
31202 				}
31203 #line 31204 "gram.c" /* yacc.c:1652  */
31204     break;
31205 
31206   case 981:
31207 #line 6581 "gram.y" /* yacc.c:1652  */
31208     {
31209 					(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list));
31210 				}
31211 #line 31212 "gram.c" /* yacc.c:1652  */
31212     break;
31213 
31214   case 982:
31215 #line 6593 "gram.y" /* yacc.c:1652  */
31216     {
31217 					GrantStmt *n = makeNode(GrantStmt);
31218 					n->is_grant = true;
31219 					n->privileges = (yyvsp[-5].list);
31220 					n->targtype = ACL_TARGET_DEFAULTS;
31221 					n->objtype = (yyvsp[-3].ival);
31222 					n->objects = NIL;
31223 					n->grantees = (yyvsp[-1].list);
31224 					n->grant_option = (yyvsp[0].boolean);
31225 					(yyval.node) = (Node*)n;
31226 				}
31227 #line 31228 "gram.c" /* yacc.c:1652  */
31228     break;
31229 
31230   case 983:
31231 #line 6606 "gram.y" /* yacc.c:1652  */
31232     {
31233 					GrantStmt *n = makeNode(GrantStmt);
31234 					n->is_grant = false;
31235 					n->grant_option = false;
31236 					n->privileges = (yyvsp[-5].list);
31237 					n->targtype = ACL_TARGET_DEFAULTS;
31238 					n->objtype = (yyvsp[-3].ival);
31239 					n->objects = NIL;
31240 					n->grantees = (yyvsp[-1].list);
31241 					n->behavior = (yyvsp[0].dbehavior);
31242 					(yyval.node) = (Node *)n;
31243 				}
31244 #line 31245 "gram.c" /* yacc.c:1652  */
31245     break;
31246 
31247   case 984:
31248 #line 6620 "gram.y" /* yacc.c:1652  */
31249     {
31250 					GrantStmt *n = makeNode(GrantStmt);
31251 					n->is_grant = false;
31252 					n->grant_option = true;
31253 					n->privileges = (yyvsp[-5].list);
31254 					n->targtype = ACL_TARGET_DEFAULTS;
31255 					n->objtype = (yyvsp[-3].ival);
31256 					n->objects = NIL;
31257 					n->grantees = (yyvsp[-1].list);
31258 					n->behavior = (yyvsp[0].dbehavior);
31259 					(yyval.node) = (Node *)n;
31260 				}
31261 #line 31262 "gram.c" /* yacc.c:1652  */
31262     break;
31263 
31264   case 985:
31265 #line 6635 "gram.y" /* yacc.c:1652  */
31266     { (yyval.ival) = ACL_OBJECT_RELATION; }
31267 #line 31268 "gram.c" /* yacc.c:1652  */
31268     break;
31269 
31270   case 986:
31271 #line 6636 "gram.y" /* yacc.c:1652  */
31272     { (yyval.ival) = ACL_OBJECT_FUNCTION; }
31273 #line 31274 "gram.c" /* yacc.c:1652  */
31274     break;
31275 
31276   case 987:
31277 #line 6637 "gram.y" /* yacc.c:1652  */
31278     { (yyval.ival) = ACL_OBJECT_SEQUENCE; }
31279 #line 31280 "gram.c" /* yacc.c:1652  */
31280     break;
31281 
31282   case 988:
31283 #line 6638 "gram.y" /* yacc.c:1652  */
31284     { (yyval.ival) = ACL_OBJECT_TYPE; }
31285 #line 31286 "gram.c" /* yacc.c:1652  */
31286     break;
31287 
31288   case 989:
31289 #line 6653 "gram.y" /* yacc.c:1652  */
31290     {
31291 					IndexStmt *n = makeNode(IndexStmt);
31292 					n->unique = (yyvsp[-12].boolean);
31293 					n->concurrent = (yyvsp[-10].boolean);
31294 					n->idxname = (yyvsp[-9].str);
31295 					n->relation = (yyvsp[-7].range);
31296 					n->accessMethod = (yyvsp[-6].str);
31297 					n->indexParams = (yyvsp[-4].list);
31298 					n->options = (yyvsp[-2].list);
31299 					n->tableSpace = (yyvsp[-1].str);
31300 					n->whereClause = (yyvsp[0].node);
31301 					n->excludeOpNames = NIL;
31302 					n->idxcomment = NULL;
31303 					n->indexOid = InvalidOid;
31304 					n->oldNode = InvalidOid;
31305 					n->primary = false;
31306 					n->isconstraint = false;
31307 					n->deferrable = false;
31308 					n->initdeferred = false;
31309 					n->transformed = false;
31310 					n->if_not_exists = false;
31311 					(yyval.node) = (Node *)n;
31312 				}
31313 #line 31314 "gram.c" /* yacc.c:1652  */
31314     break;
31315 
31316   case 990:
31317 #line 6679 "gram.y" /* yacc.c:1652  */
31318     {
31319 					IndexStmt *n = makeNode(IndexStmt);
31320 					n->unique = (yyvsp[-15].boolean);
31321 					n->concurrent = (yyvsp[-13].boolean);
31322 					n->idxname = (yyvsp[-9].str);
31323 					n->relation = (yyvsp[-7].range);
31324 					n->accessMethod = (yyvsp[-6].str);
31325 					n->indexParams = (yyvsp[-4].list);
31326 					n->options = (yyvsp[-2].list);
31327 					n->tableSpace = (yyvsp[-1].str);
31328 					n->whereClause = (yyvsp[0].node);
31329 					n->excludeOpNames = NIL;
31330 					n->idxcomment = NULL;
31331 					n->indexOid = InvalidOid;
31332 					n->oldNode = InvalidOid;
31333 					n->primary = false;
31334 					n->isconstraint = false;
31335 					n->deferrable = false;
31336 					n->initdeferred = false;
31337 					n->transformed = false;
31338 					n->if_not_exists = true;
31339 					(yyval.node) = (Node *)n;
31340 				}
31341 #line 31342 "gram.c" /* yacc.c:1652  */
31342     break;
31343 
31344   case 991:
31345 #line 6705 "gram.y" /* yacc.c:1652  */
31346     { (yyval.boolean) = TRUE; }
31347 #line 31348 "gram.c" /* yacc.c:1652  */
31348     break;
31349 
31350   case 992:
31351 #line 6706 "gram.y" /* yacc.c:1652  */
31352     { (yyval.boolean) = FALSE; }
31353 #line 31354 "gram.c" /* yacc.c:1652  */
31354     break;
31355 
31356   case 993:
31357 #line 6710 "gram.y" /* yacc.c:1652  */
31358     { (yyval.boolean) = TRUE; }
31359 #line 31360 "gram.c" /* yacc.c:1652  */
31360     break;
31361 
31362   case 994:
31363 #line 6711 "gram.y" /* yacc.c:1652  */
31364     { (yyval.boolean) = FALSE; }
31365 #line 31366 "gram.c" /* yacc.c:1652  */
31366     break;
31367 
31368   case 995:
31369 #line 6715 "gram.y" /* yacc.c:1652  */
31370     { (yyval.str) = (yyvsp[0].str); }
31371 #line 31372 "gram.c" /* yacc.c:1652  */
31372     break;
31373 
31374   case 996:
31375 #line 6716 "gram.y" /* yacc.c:1652  */
31376     { (yyval.str) = NULL; }
31377 #line 31378 "gram.c" /* yacc.c:1652  */
31378     break;
31379 
31380   case 997:
31381 #line 6720 "gram.y" /* yacc.c:1652  */
31382     { (yyval.str) = (yyvsp[0].str); }
31383 #line 31384 "gram.c" /* yacc.c:1652  */
31384     break;
31385 
31386   case 998:
31387 #line 6721 "gram.y" /* yacc.c:1652  */
31388     { (yyval.str) = DEFAULT_INDEX_TYPE; }
31389 #line 31390 "gram.c" /* yacc.c:1652  */
31390     break;
31391 
31392   case 999:
31393 #line 6724 "gram.y" /* yacc.c:1652  */
31394     { (yyval.list) = list_make1((yyvsp[0].ielem)); }
31395 #line 31396 "gram.c" /* yacc.c:1652  */
31396     break;
31397 
31398   case 1000:
31399 #line 6725 "gram.y" /* yacc.c:1652  */
31400     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
31401 #line 31402 "gram.c" /* yacc.c:1652  */
31402     break;
31403 
31404   case 1001:
31405 #line 6734 "gram.y" /* yacc.c:1652  */
31406     {
31407 					(yyval.ielem) = makeNode(IndexElem);
31408 					(yyval.ielem)->name = (yyvsp[-4].str);
31409 					(yyval.ielem)->expr = NULL;
31410 					(yyval.ielem)->indexcolname = NULL;
31411 					(yyval.ielem)->collation = (yyvsp[-3].list);
31412 					(yyval.ielem)->opclass = (yyvsp[-2].list);
31413 					(yyval.ielem)->ordering = (yyvsp[-1].ival);
31414 					(yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
31415 				}
31416 #line 31417 "gram.c" /* yacc.c:1652  */
31417     break;
31418 
31419   case 1002:
31420 #line 6745 "gram.y" /* yacc.c:1652  */
31421     {
31422 					(yyval.ielem) = makeNode(IndexElem);
31423 					(yyval.ielem)->name = NULL;
31424 					(yyval.ielem)->expr = (yyvsp[-4].node);
31425 					(yyval.ielem)->indexcolname = NULL;
31426 					(yyval.ielem)->collation = (yyvsp[-3].list);
31427 					(yyval.ielem)->opclass = (yyvsp[-2].list);
31428 					(yyval.ielem)->ordering = (yyvsp[-1].ival);
31429 					(yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
31430 				}
31431 #line 31432 "gram.c" /* yacc.c:1652  */
31432     break;
31433 
31434   case 1003:
31435 #line 6756 "gram.y" /* yacc.c:1652  */
31436     {
31437 					(yyval.ielem) = makeNode(IndexElem);
31438 					(yyval.ielem)->name = NULL;
31439 					(yyval.ielem)->expr = (yyvsp[-5].node);
31440 					(yyval.ielem)->indexcolname = NULL;
31441 					(yyval.ielem)->collation = (yyvsp[-3].list);
31442 					(yyval.ielem)->opclass = (yyvsp[-2].list);
31443 					(yyval.ielem)->ordering = (yyvsp[-1].ival);
31444 					(yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
31445 				}
31446 #line 31447 "gram.c" /* yacc.c:1652  */
31447     break;
31448 
31449   case 1004:
31450 #line 6768 "gram.y" /* yacc.c:1652  */
31451     { (yyval.list) = (yyvsp[0].list); }
31452 #line 31453 "gram.c" /* yacc.c:1652  */
31453     break;
31454 
31455   case 1005:
31456 #line 6769 "gram.y" /* yacc.c:1652  */
31457     { (yyval.list) = NIL; }
31458 #line 31459 "gram.c" /* yacc.c:1652  */
31459     break;
31460 
31461   case 1006:
31462 #line 6772 "gram.y" /* yacc.c:1652  */
31463     { (yyval.list) = (yyvsp[0].list); }
31464 #line 31465 "gram.c" /* yacc.c:1652  */
31465     break;
31466 
31467   case 1007:
31468 #line 6773 "gram.y" /* yacc.c:1652  */
31469     { (yyval.list) = NIL; }
31470 #line 31471 "gram.c" /* yacc.c:1652  */
31471     break;
31472 
31473   case 1008:
31474 #line 6776 "gram.y" /* yacc.c:1652  */
31475     { (yyval.ival) = SORTBY_ASC; }
31476 #line 31477 "gram.c" /* yacc.c:1652  */
31477     break;
31478 
31479   case 1009:
31480 #line 6777 "gram.y" /* yacc.c:1652  */
31481     { (yyval.ival) = SORTBY_DESC; }
31482 #line 31483 "gram.c" /* yacc.c:1652  */
31483     break;
31484 
31485   case 1010:
31486 #line 6778 "gram.y" /* yacc.c:1652  */
31487     { (yyval.ival) = SORTBY_DEFAULT; }
31488 #line 31489 "gram.c" /* yacc.c:1652  */
31489     break;
31490 
31491   case 1011:
31492 #line 6781 "gram.y" /* yacc.c:1652  */
31493     { (yyval.ival) = SORTBY_NULLS_FIRST; }
31494 #line 31495 "gram.c" /* yacc.c:1652  */
31495     break;
31496 
31497   case 1012:
31498 #line 6782 "gram.y" /* yacc.c:1652  */
31499     { (yyval.ival) = SORTBY_NULLS_LAST; }
31500 #line 31501 "gram.c" /* yacc.c:1652  */
31501     break;
31502 
31503   case 1013:
31504 #line 6783 "gram.y" /* yacc.c:1652  */
31505     { (yyval.ival) = SORTBY_NULLS_DEFAULT; }
31506 #line 31507 "gram.c" /* yacc.c:1652  */
31507     break;
31508 
31509   case 1014:
31510 #line 6801 "gram.y" /* yacc.c:1652  */
31511     {
31512 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
31513 					n->replace = (yyvsp[-7].boolean);
31514 					n->funcname = (yyvsp[-5].list);
31515 					n->parameters = (yyvsp[-4].list);
31516 					n->returnType = (yyvsp[-2].typnam);
31517 					n->options = (yyvsp[-1].list);
31518 					n->withClause = (yyvsp[0].list);
31519 					(yyval.node) = (Node *)n;
31520 				}
31521 #line 31522 "gram.c" /* yacc.c:1652  */
31522     break;
31523 
31524   case 1015:
31525 #line 6813 "gram.y" /* yacc.c:1652  */
31526     {
31527 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
31528 					n->replace = (yyvsp[-10].boolean);
31529 					n->funcname = (yyvsp[-8].list);
31530 					n->parameters = mergeTableFuncParameters((yyvsp[-7].list), (yyvsp[-3].list));
31531 					n->returnType = TableFuncTypeName((yyvsp[-3].list));
31532 					n->returnType->location = (yylsp[-5]);
31533 					n->options = (yyvsp[-1].list);
31534 					n->withClause = (yyvsp[0].list);
31535 					(yyval.node) = (Node *)n;
31536 				}
31537 #line 31538 "gram.c" /* yacc.c:1652  */
31538     break;
31539 
31540   case 1016:
31541 #line 6826 "gram.y" /* yacc.c:1652  */
31542     {
31543 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
31544 					n->replace = (yyvsp[-5].boolean);
31545 					n->funcname = (yyvsp[-3].list);
31546 					n->parameters = (yyvsp[-2].list);
31547 					n->returnType = NULL;
31548 					n->options = (yyvsp[-1].list);
31549 					n->withClause = (yyvsp[0].list);
31550 					(yyval.node) = (Node *)n;
31551 				}
31552 #line 31553 "gram.c" /* yacc.c:1652  */
31553     break;
31554 
31555   case 1017:
31556 #line 6839 "gram.y" /* yacc.c:1652  */
31557     { (yyval.boolean) = TRUE; }
31558 #line 31559 "gram.c" /* yacc.c:1652  */
31559     break;
31560 
31561   case 1018:
31562 #line 6840 "gram.y" /* yacc.c:1652  */
31563     { (yyval.boolean) = FALSE; }
31564 #line 31565 "gram.c" /* yacc.c:1652  */
31565     break;
31566 
31567   case 1019:
31568 #line 6843 "gram.y" /* yacc.c:1652  */
31569     { (yyval.list) = (yyvsp[-1].list); }
31570 #line 31571 "gram.c" /* yacc.c:1652  */
31571     break;
31572 
31573   case 1020:
31574 #line 6844 "gram.y" /* yacc.c:1652  */
31575     { (yyval.list) = NIL; }
31576 #line 31577 "gram.c" /* yacc.c:1652  */
31577     break;
31578 
31579   case 1021:
31580 #line 6848 "gram.y" /* yacc.c:1652  */
31581     { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
31582 #line 31583 "gram.c" /* yacc.c:1652  */
31583     break;
31584 
31585   case 1022:
31586 #line 6849 "gram.y" /* yacc.c:1652  */
31587     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
31588 #line 31589 "gram.c" /* yacc.c:1652  */
31589     break;
31590 
31591   case 1023:
31592 #line 6857 "gram.y" /* yacc.c:1652  */
31593     { (yyval.list) = (yyvsp[-1].list); }
31594 #line 31595 "gram.c" /* yacc.c:1652  */
31595     break;
31596 
31597   case 1024:
31598 #line 6858 "gram.y" /* yacc.c:1652  */
31599     { (yyval.list) = NIL; }
31600 #line 31601 "gram.c" /* yacc.c:1652  */
31601     break;
31602 
31603   case 1025:
31604 #line 6862 "gram.y" /* yacc.c:1652  */
31605     { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
31606 #line 31607 "gram.c" /* yacc.c:1652  */
31607     break;
31608 
31609   case 1026:
31610 #line 6864 "gram.y" /* yacc.c:1652  */
31611     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
31612 #line 31613 "gram.c" /* yacc.c:1652  */
31613     break;
31614 
31615   case 1027:
31616 #line 6879 "gram.y" /* yacc.c:1652  */
31617     {
31618 					FunctionParameter *n = makeNode(FunctionParameter);
31619 					n->name = (yyvsp[-1].str);
31620 					n->argType = (yyvsp[0].typnam);
31621 					n->mode = (yyvsp[-2].fun_param_mode);
31622 					n->defexpr = NULL;
31623 					(yyval.fun_param) = n;
31624 				}
31625 #line 31626 "gram.c" /* yacc.c:1652  */
31626     break;
31627 
31628   case 1028:
31629 #line 6888 "gram.y" /* yacc.c:1652  */
31630     {
31631 					FunctionParameter *n = makeNode(FunctionParameter);
31632 					n->name = (yyvsp[-2].str);
31633 					n->argType = (yyvsp[0].typnam);
31634 					n->mode = (yyvsp[-1].fun_param_mode);
31635 					n->defexpr = NULL;
31636 					(yyval.fun_param) = n;
31637 				}
31638 #line 31639 "gram.c" /* yacc.c:1652  */
31639     break;
31640 
31641   case 1029:
31642 #line 6897 "gram.y" /* yacc.c:1652  */
31643     {
31644 					FunctionParameter *n = makeNode(FunctionParameter);
31645 					n->name = (yyvsp[-1].str);
31646 					n->argType = (yyvsp[0].typnam);
31647 					n->mode = FUNC_PARAM_IN;
31648 					n->defexpr = NULL;
31649 					(yyval.fun_param) = n;
31650 				}
31651 #line 31652 "gram.c" /* yacc.c:1652  */
31652     break;
31653 
31654   case 1030:
31655 #line 6906 "gram.y" /* yacc.c:1652  */
31656     {
31657 					FunctionParameter *n = makeNode(FunctionParameter);
31658 					n->name = NULL;
31659 					n->argType = (yyvsp[0].typnam);
31660 					n->mode = (yyvsp[-1].fun_param_mode);
31661 					n->defexpr = NULL;
31662 					(yyval.fun_param) = n;
31663 				}
31664 #line 31665 "gram.c" /* yacc.c:1652  */
31665     break;
31666 
31667   case 1031:
31668 #line 6915 "gram.y" /* yacc.c:1652  */
31669     {
31670 					FunctionParameter *n = makeNode(FunctionParameter);
31671 					n->name = NULL;
31672 					n->argType = (yyvsp[0].typnam);
31673 					n->mode = FUNC_PARAM_IN;
31674 					n->defexpr = NULL;
31675 					(yyval.fun_param) = n;
31676 				}
31677 #line 31678 "gram.c" /* yacc.c:1652  */
31678     break;
31679 
31680   case 1032:
31681 #line 6926 "gram.y" /* yacc.c:1652  */
31682     { (yyval.fun_param_mode) = FUNC_PARAM_IN; }
31683 #line 31684 "gram.c" /* yacc.c:1652  */
31684     break;
31685 
31686   case 1033:
31687 #line 6927 "gram.y" /* yacc.c:1652  */
31688     { (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
31689 #line 31690 "gram.c" /* yacc.c:1652  */
31690     break;
31691 
31692   case 1034:
31693 #line 6928 "gram.y" /* yacc.c:1652  */
31694     { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
31695 #line 31696 "gram.c" /* yacc.c:1652  */
31696     break;
31697 
31698   case 1035:
31699 #line 6929 "gram.y" /* yacc.c:1652  */
31700     { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
31701 #line 31702 "gram.c" /* yacc.c:1652  */
31702     break;
31703 
31704   case 1036:
31705 #line 6930 "gram.y" /* yacc.c:1652  */
31706     { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
31707 #line 31708 "gram.c" /* yacc.c:1652  */
31708     break;
31709 
31710   case 1038:
31711 #line 6941 "gram.y" /* yacc.c:1652  */
31712     {
31713 					/* We can catch over-specified results here if we want to,
31714 					 * but for now better to silently swallow typmod, etc.
31715 					 * - thomas 2000-03-22
31716 					 */
31717 					(yyval.typnam) = (yyvsp[0].typnam);
31718 				}
31719 #line 31720 "gram.c" /* yacc.c:1652  */
31720     break;
31721 
31722   case 1039:
31723 #line 6955 "gram.y" /* yacc.c:1652  */
31724     { (yyval.typnam) = (yyvsp[0].typnam); }
31725 #line 31726 "gram.c" /* yacc.c:1652  */
31726     break;
31727 
31728   case 1040:
31729 #line 6957 "gram.y" /* yacc.c:1652  */
31730     {
31731 					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
31732 					(yyval.typnam)->pct_type = true;
31733 					(yyval.typnam)->location = (yylsp[-3]);
31734 				}
31735 #line 31736 "gram.c" /* yacc.c:1652  */
31736     break;
31737 
31738   case 1041:
31739 #line 6963 "gram.y" /* yacc.c:1652  */
31740     {
31741 					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
31742 					(yyval.typnam)->pct_type = true;
31743 					(yyval.typnam)->setof = TRUE;
31744 					(yyval.typnam)->location = (yylsp[-3]);
31745 				}
31746 #line 31747 "gram.c" /* yacc.c:1652  */
31747     break;
31748 
31749   case 1042:
31750 #line 6973 "gram.y" /* yacc.c:1652  */
31751     {
31752 					(yyval.fun_param) = (yyvsp[0].fun_param);
31753 				}
31754 #line 31755 "gram.c" /* yacc.c:1652  */
31755     break;
31756 
31757   case 1043:
31758 #line 6977 "gram.y" /* yacc.c:1652  */
31759     {
31760 					(yyval.fun_param) = (yyvsp[-2].fun_param);
31761 					(yyval.fun_param)->defexpr = (yyvsp[0].node);
31762 				}
31763 #line 31764 "gram.c" /* yacc.c:1652  */
31764     break;
31765 
31766   case 1044:
31767 #line 6982 "gram.y" /* yacc.c:1652  */
31768     {
31769 					(yyval.fun_param) = (yyvsp[-2].fun_param);
31770 					(yyval.fun_param)->defexpr = (yyvsp[0].node);
31771 				}
31772 #line 31773 "gram.c" /* yacc.c:1652  */
31773     break;
31774 
31775   case 1045:
31776 #line 6990 "gram.y" /* yacc.c:1652  */
31777     {
31778 					if (!((yyvsp[0].fun_param)->mode == FUNC_PARAM_IN ||
31779 						  (yyvsp[0].fun_param)->mode == FUNC_PARAM_VARIADIC))
31780 						ereport(ERROR,
31781 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
31782 								 errmsg("aggregates cannot have output arguments"),
31783 								 parser_errposition((yylsp[0]))));
31784 					(yyval.fun_param) = (yyvsp[0].fun_param);
31785 				}
31786 #line 31787 "gram.c" /* yacc.c:1652  */
31787     break;
31788 
31789   case 1046:
31790 #line 7031 "gram.y" /* yacc.c:1652  */
31791     {
31792 					(yyval.list) = list_make2(NIL, makeInteger(-1));
31793 				}
31794 #line 31795 "gram.c" /* yacc.c:1652  */
31795     break;
31796 
31797   case 1047:
31798 #line 7035 "gram.y" /* yacc.c:1652  */
31799     {
31800 					(yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
31801 				}
31802 #line 31803 "gram.c" /* yacc.c:1652  */
31803     break;
31804 
31805   case 1048:
31806 #line 7039 "gram.y" /* yacc.c:1652  */
31807     {
31808 					(yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
31809 				}
31810 #line 31811 "gram.c" /* yacc.c:1652  */
31811     break;
31812 
31813   case 1049:
31814 #line 7043 "gram.y" /* yacc.c:1652  */
31815     {
31816 					/* this is the only case requiring consistency checking */
31817 					(yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
31818 				}
31819 #line 31820 "gram.c" /* yacc.c:1652  */
31820     break;
31821 
31822   case 1050:
31823 #line 7050 "gram.y" /* yacc.c:1652  */
31824     { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
31825 #line 31826 "gram.c" /* yacc.c:1652  */
31826     break;
31827 
31828   case 1051:
31829 #line 7051 "gram.y" /* yacc.c:1652  */
31830     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
31831 #line 31832 "gram.c" /* yacc.c:1652  */
31832     break;
31833 
31834   case 1052:
31835 #line 7056 "gram.y" /* yacc.c:1652  */
31836     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
31837 #line 31838 "gram.c" /* yacc.c:1652  */
31838     break;
31839 
31840   case 1053:
31841 #line 7057 "gram.y" /* yacc.c:1652  */
31842     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31843 #line 31844 "gram.c" /* yacc.c:1652  */
31844     break;
31845 
31846   case 1054:
31847 #line 7065 "gram.y" /* yacc.c:1652  */
31848     {
31849 					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(FALSE));
31850 				}
31851 #line 31852 "gram.c" /* yacc.c:1652  */
31852     break;
31853 
31854   case 1055:
31855 #line 7069 "gram.y" /* yacc.c:1652  */
31856     {
31857 					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(TRUE));
31858 				}
31859 #line 31860 "gram.c" /* yacc.c:1652  */
31860     break;
31861 
31862   case 1056:
31863 #line 7073 "gram.y" /* yacc.c:1652  */
31864     {
31865 					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(TRUE));
31866 				}
31867 #line 31868 "gram.c" /* yacc.c:1652  */
31868     break;
31869 
31870   case 1057:
31871 #line 7077 "gram.y" /* yacc.c:1652  */
31872     {
31873 					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"));
31874 				}
31875 #line 31876 "gram.c" /* yacc.c:1652  */
31876     break;
31877 
31878   case 1058:
31879 #line 7081 "gram.y" /* yacc.c:1652  */
31880     {
31881 					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"));
31882 				}
31883 #line 31884 "gram.c" /* yacc.c:1652  */
31884     break;
31885 
31886   case 1059:
31887 #line 7085 "gram.y" /* yacc.c:1652  */
31888     {
31889 					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"));
31890 				}
31891 #line 31892 "gram.c" /* yacc.c:1652  */
31892     break;
31893 
31894   case 1060:
31895 #line 7089 "gram.y" /* yacc.c:1652  */
31896     {
31897 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(TRUE));
31898 				}
31899 #line 31900 "gram.c" /* yacc.c:1652  */
31900     break;
31901 
31902   case 1061:
31903 #line 7093 "gram.y" /* yacc.c:1652  */
31904     {
31905 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(FALSE));
31906 				}
31907 #line 31908 "gram.c" /* yacc.c:1652  */
31908     break;
31909 
31910   case 1062:
31911 #line 7097 "gram.y" /* yacc.c:1652  */
31912     {
31913 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(TRUE));
31914 				}
31915 #line 31916 "gram.c" /* yacc.c:1652  */
31916     break;
31917 
31918   case 1063:
31919 #line 7101 "gram.y" /* yacc.c:1652  */
31920     {
31921 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(FALSE));
31922 				}
31923 #line 31924 "gram.c" /* yacc.c:1652  */
31924     break;
31925 
31926   case 1064:
31927 #line 7105 "gram.y" /* yacc.c:1652  */
31928     {
31929 					(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(TRUE));
31930 				}
31931 #line 31932 "gram.c" /* yacc.c:1652  */
31932     break;
31933 
31934   case 1065:
31935 #line 7109 "gram.y" /* yacc.c:1652  */
31936     {
31937 					(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(FALSE));
31938 				}
31939 #line 31940 "gram.c" /* yacc.c:1652  */
31940     break;
31941 
31942   case 1066:
31943 #line 7113 "gram.y" /* yacc.c:1652  */
31944     {
31945 					(yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[0].value));
31946 				}
31947 #line 31948 "gram.c" /* yacc.c:1652  */
31948     break;
31949 
31950   case 1067:
31951 #line 7117 "gram.y" /* yacc.c:1652  */
31952     {
31953 					(yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[0].value));
31954 				}
31955 #line 31956 "gram.c" /* yacc.c:1652  */
31956     break;
31957 
31958   case 1068:
31959 #line 7121 "gram.y" /* yacc.c:1652  */
31960     {
31961 					/* we abuse the normal content of a DefElem here */
31962 					(yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[0].vsetstmt));
31963 				}
31964 #line 31965 "gram.c" /* yacc.c:1652  */
31965     break;
31966 
31967   case 1069:
31968 #line 7126 "gram.y" /* yacc.c:1652  */
31969     {
31970 					(yyval.defelt) = makeDefElem("parallel", (Node *)makeString((yyvsp[0].str)));
31971 				}
31972 #line 31973 "gram.c" /* yacc.c:1652  */
31973     break;
31974 
31975   case 1070:
31976 #line 7133 "gram.y" /* yacc.c:1652  */
31977     {
31978 					(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].list));
31979 				}
31980 #line 31981 "gram.c" /* yacc.c:1652  */
31981     break;
31982 
31983   case 1071:
31984 #line 7137 "gram.y" /* yacc.c:1652  */
31985     {
31986 					(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)));
31987 				}
31988 #line 31989 "gram.c" /* yacc.c:1652  */
31989     break;
31990 
31991   case 1072:
31992 #line 7141 "gram.y" /* yacc.c:1652  */
31993     {
31994 					(yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[0].list));
31995 				}
31996 #line 31997 "gram.c" /* yacc.c:1652  */
31997     break;
31998 
31999   case 1073:
32000 #line 7145 "gram.y" /* yacc.c:1652  */
32001     {
32002 					(yyval.defelt) = makeDefElem("window", (Node *)makeInteger(TRUE));
32003 				}
32004 #line 32005 "gram.c" /* yacc.c:1652  */
32005     break;
32006 
32007   case 1074:
32008 #line 7149 "gram.y" /* yacc.c:1652  */
32009     {
32010 					(yyval.defelt) = (yyvsp[0].defelt);
32011 				}
32012 #line 32013 "gram.c" /* yacc.c:1652  */
32013     break;
32014 
32015   case 1075:
32016 #line 7154 "gram.y" /* yacc.c:1652  */
32017     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
32018 #line 32019 "gram.c" /* yacc.c:1652  */
32019     break;
32020 
32021   case 1076:
32022 #line 7156 "gram.y" /* yacc.c:1652  */
32023     {
32024 					(yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
32025 				}
32026 #line 32027 "gram.c" /* yacc.c:1652  */
32027     break;
32028 
32029   case 1077:
32030 #line 7162 "gram.y" /* yacc.c:1652  */
32031     { (yyval.list) = list_make1((yyvsp[0].typnam)); }
32032 #line 32033 "gram.c" /* yacc.c:1652  */
32033     break;
32034 
32035   case 1078:
32036 #line 7163 "gram.y" /* yacc.c:1652  */
32037     { (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
32038 #line 32039 "gram.c" /* yacc.c:1652  */
32039     break;
32040 
32041   case 1079:
32042 #line 7167 "gram.y" /* yacc.c:1652  */
32043     { (yyval.list) = (yyvsp[0].list); }
32044 #line 32045 "gram.c" /* yacc.c:1652  */
32045     break;
32046 
32047   case 1080:
32048 #line 7168 "gram.y" /* yacc.c:1652  */
32049     { (yyval.list) = NIL; }
32050 #line 32051 "gram.c" /* yacc.c:1652  */
32051     break;
32052 
32053   case 1081:
32054 #line 7172 "gram.y" /* yacc.c:1652  */
32055     {
32056 					FunctionParameter *n = makeNode(FunctionParameter);
32057 					n->name = (yyvsp[-1].str);
32058 					n->argType = (yyvsp[0].typnam);
32059 					n->mode = FUNC_PARAM_TABLE;
32060 					n->defexpr = NULL;
32061 					(yyval.fun_param) = n;
32062 				}
32063 #line 32064 "gram.c" /* yacc.c:1652  */
32064     break;
32065 
32066   case 1082:
32067 #line 7184 "gram.y" /* yacc.c:1652  */
32068     {
32069 					(yyval.list) = list_make1((yyvsp[0].fun_param));
32070 				}
32071 #line 32072 "gram.c" /* yacc.c:1652  */
32072     break;
32073 
32074   case 1083:
32075 #line 7188 "gram.y" /* yacc.c:1652  */
32076     {
32077 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
32078 				}
32079 #line 32080 "gram.c" /* yacc.c:1652  */
32080     break;
32081 
32082   case 1084:
32083 #line 7203 "gram.y" /* yacc.c:1652  */
32084     {
32085 					AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
32086 					n->func = (yyvsp[-2].funwithargs);
32087 					n->actions = (yyvsp[-1].list);
32088 					(yyval.node) = (Node *) n;
32089 				}
32090 #line 32091 "gram.c" /* yacc.c:1652  */
32091     break;
32092 
32093   case 1085:
32094 #line 7213 "gram.y" /* yacc.c:1652  */
32095     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
32096 #line 32097 "gram.c" /* yacc.c:1652  */
32097     break;
32098 
32099   case 1086:
32100 #line 7214 "gram.y" /* yacc.c:1652  */
32101     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
32102 #line 32103 "gram.c" /* yacc.c:1652  */
32103     break;
32104 
32105   case 1089:
32106 #line 7236 "gram.y" /* yacc.c:1652  */
32107     {
32108 					DropStmt *n = makeNode(DropStmt);
32109 					n->removeType = OBJECT_FUNCTION;
32110 					n->objects = list_make1((yyvsp[-2].list));
32111 					n->arguments = list_make1(extractArgTypes((yyvsp[-1].list)));
32112 					n->behavior = (yyvsp[0].dbehavior);
32113 					n->missing_ok = false;
32114 					n->concurrent = false;
32115 					(yyval.node) = (Node *)n;
32116 				}
32117 #line 32118 "gram.c" /* yacc.c:1652  */
32118     break;
32119 
32120   case 1090:
32121 #line 7247 "gram.y" /* yacc.c:1652  */
32122     {
32123 					DropStmt *n = makeNode(DropStmt);
32124 					n->removeType = OBJECT_FUNCTION;
32125 					n->objects = list_make1((yyvsp[-2].list));
32126 					n->arguments = list_make1(extractArgTypes((yyvsp[-1].list)));
32127 					n->behavior = (yyvsp[0].dbehavior);
32128 					n->missing_ok = true;
32129 					n->concurrent = false;
32130 					(yyval.node) = (Node *)n;
32131 				}
32132 #line 32133 "gram.c" /* yacc.c:1652  */
32133     break;
32134 
32135   case 1091:
32136 #line 7261 "gram.y" /* yacc.c:1652  */
32137     {
32138 					DropStmt *n = makeNode(DropStmt);
32139 					n->removeType = OBJECT_AGGREGATE;
32140 					n->objects = list_make1((yyvsp[-2].list));
32141 					n->arguments = list_make1(extractAggrArgTypes((yyvsp[-1].list)));
32142 					n->behavior = (yyvsp[0].dbehavior);
32143 					n->missing_ok = false;
32144 					n->concurrent = false;
32145 					(yyval.node) = (Node *)n;
32146 				}
32147 #line 32148 "gram.c" /* yacc.c:1652  */
32148     break;
32149 
32150   case 1092:
32151 #line 7272 "gram.y" /* yacc.c:1652  */
32152     {
32153 					DropStmt *n = makeNode(DropStmt);
32154 					n->removeType = OBJECT_AGGREGATE;
32155 					n->objects = list_make1((yyvsp[-2].list));
32156 					n->arguments = list_make1(extractAggrArgTypes((yyvsp[-1].list)));
32157 					n->behavior = (yyvsp[0].dbehavior);
32158 					n->missing_ok = true;
32159 					n->concurrent = false;
32160 					(yyval.node) = (Node *)n;
32161 				}
32162 #line 32163 "gram.c" /* yacc.c:1652  */
32163     break;
32164 
32165   case 1093:
32166 #line 7286 "gram.y" /* yacc.c:1652  */
32167     {
32168 					DropStmt *n = makeNode(DropStmt);
32169 					n->removeType = OBJECT_OPERATOR;
32170 					n->objects = list_make1((yyvsp[-2].list));
32171 					n->arguments = list_make1((yyvsp[-1].list));
32172 					n->behavior = (yyvsp[0].dbehavior);
32173 					n->missing_ok = false;
32174 					n->concurrent = false;
32175 					(yyval.node) = (Node *)n;
32176 				}
32177 #line 32178 "gram.c" /* yacc.c:1652  */
32178     break;
32179 
32180   case 1094:
32181 #line 7297 "gram.y" /* yacc.c:1652  */
32182     {
32183 					DropStmt *n = makeNode(DropStmt);
32184 					n->removeType = OBJECT_OPERATOR;
32185 					n->objects = list_make1((yyvsp[-2].list));
32186 					n->arguments = list_make1((yyvsp[-1].list));
32187 					n->behavior = (yyvsp[0].dbehavior);
32188 					n->missing_ok = true;
32189 					n->concurrent = false;
32190 					(yyval.node) = (Node *)n;
32191 				}
32192 #line 32193 "gram.c" /* yacc.c:1652  */
32193     break;
32194 
32195   case 1095:
32196 #line 7311 "gram.y" /* yacc.c:1652  */
32197     {
32198 				   ereport(ERROR,
32199 						   (errcode(ERRCODE_SYNTAX_ERROR),
32200 							errmsg("missing argument"),
32201 							errhint("Use NONE to denote the missing argument of a unary operator."),
32202 							parser_errposition((yylsp[0]))));
32203 				}
32204 #line 32205 "gram.c" /* yacc.c:1652  */
32205     break;
32206 
32207   case 1096:
32208 #line 7319 "gram.y" /* yacc.c:1652  */
32209     { (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
32210 #line 32211 "gram.c" /* yacc.c:1652  */
32211     break;
32212 
32213   case 1097:
32214 #line 7321 "gram.y" /* yacc.c:1652  */
32215     { (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
32216 #line 32217 "gram.c" /* yacc.c:1652  */
32217     break;
32218 
32219   case 1098:
32220 #line 7323 "gram.y" /* yacc.c:1652  */
32221     { (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
32222 #line 32223 "gram.c" /* yacc.c:1652  */
32223     break;
32224 
32225   case 1099:
32226 #line 7328 "gram.y" /* yacc.c:1652  */
32227     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
32228 #line 32229 "gram.c" /* yacc.c:1652  */
32229     break;
32230 
32231   case 1100:
32232 #line 7330 "gram.y" /* yacc.c:1652  */
32233     { (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
32234 #line 32235 "gram.c" /* yacc.c:1652  */
32235     break;
32236 
32237   case 1101:
32238 #line 7343 "gram.y" /* yacc.c:1652  */
32239     {
32240 					DoStmt *n = makeNode(DoStmt);
32241 					n->args = (yyvsp[0].list);
32242 					(yyval.node) = (Node *)n;
32243 				}
32244 #line 32245 "gram.c" /* yacc.c:1652  */
32245     break;
32246 
32247   case 1102:
32248 #line 7351 "gram.y" /* yacc.c:1652  */
32249     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
32250 #line 32251 "gram.c" /* yacc.c:1652  */
32251     break;
32252 
32253   case 1103:
32254 #line 7352 "gram.y" /* yacc.c:1652  */
32255     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
32256 #line 32257 "gram.c" /* yacc.c:1652  */
32257     break;
32258 
32259   case 1104:
32260 #line 7357 "gram.y" /* yacc.c:1652  */
32261     {
32262 					(yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[0].str)));
32263 				}
32264 #line 32265 "gram.c" /* yacc.c:1652  */
32265     break;
32266 
32267   case 1105:
32268 #line 7361 "gram.y" /* yacc.c:1652  */
32269     {
32270 					(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)));
32271 				}
32272 #line 32273 "gram.c" /* yacc.c:1652  */
32273     break;
32274 
32275   case 1106:
32276 #line 7374 "gram.y" /* yacc.c:1652  */
32277     {
32278 					CreateCastStmt *n = makeNode(CreateCastStmt);
32279 					n->sourcetype = (yyvsp[-7].typnam);
32280 					n->targettype = (yyvsp[-5].typnam);
32281 					n->func = (yyvsp[-1].funwithargs);
32282 					n->context = (CoercionContext) (yyvsp[0].ival);
32283 					n->inout = false;
32284 					(yyval.node) = (Node *)n;
32285 				}
32286 #line 32287 "gram.c" /* yacc.c:1652  */
32287     break;
32288 
32289   case 1107:
32290 #line 7385 "gram.y" /* yacc.c:1652  */
32291     {
32292 					CreateCastStmt *n = makeNode(CreateCastStmt);
32293 					n->sourcetype = (yyvsp[-6].typnam);
32294 					n->targettype = (yyvsp[-4].typnam);
32295 					n->func = NULL;
32296 					n->context = (CoercionContext) (yyvsp[0].ival);
32297 					n->inout = false;
32298 					(yyval.node) = (Node *)n;
32299 				}
32300 #line 32301 "gram.c" /* yacc.c:1652  */
32301     break;
32302 
32303   case 1108:
32304 #line 7396 "gram.y" /* yacc.c:1652  */
32305     {
32306 					CreateCastStmt *n = makeNode(CreateCastStmt);
32307 					n->sourcetype = (yyvsp[-6].typnam);
32308 					n->targettype = (yyvsp[-4].typnam);
32309 					n->func = NULL;
32310 					n->context = (CoercionContext) (yyvsp[0].ival);
32311 					n->inout = true;
32312 					(yyval.node) = (Node *)n;
32313 				}
32314 #line 32315 "gram.c" /* yacc.c:1652  */
32315     break;
32316 
32317   case 1109:
32318 #line 7407 "gram.y" /* yacc.c:1652  */
32319     { (yyval.ival) = COERCION_IMPLICIT; }
32320 #line 32321 "gram.c" /* yacc.c:1652  */
32321     break;
32322 
32323   case 1110:
32324 #line 7408 "gram.y" /* yacc.c:1652  */
32325     { (yyval.ival) = COERCION_ASSIGNMENT; }
32326 #line 32327 "gram.c" /* yacc.c:1652  */
32327     break;
32328 
32329   case 1111:
32330 #line 7409 "gram.y" /* yacc.c:1652  */
32331     { (yyval.ival) = COERCION_EXPLICIT; }
32332 #line 32333 "gram.c" /* yacc.c:1652  */
32333     break;
32334 
32335   case 1112:
32336 #line 7414 "gram.y" /* yacc.c:1652  */
32337     {
32338 					DropStmt *n = makeNode(DropStmt);
32339 					n->removeType = OBJECT_CAST;
32340 					n->objects = list_make1(list_make1((yyvsp[-4].typnam)));
32341 					n->arguments = list_make1(list_make1((yyvsp[-2].typnam)));
32342 					n->behavior = (yyvsp[0].dbehavior);
32343 					n->missing_ok = (yyvsp[-6].boolean);
32344 					n->concurrent = false;
32345 					(yyval.node) = (Node *)n;
32346 				}
32347 #line 32348 "gram.c" /* yacc.c:1652  */
32348     break;
32349 
32350   case 1113:
32351 #line 7426 "gram.y" /* yacc.c:1652  */
32352     { (yyval.boolean) = TRUE; }
32353 #line 32354 "gram.c" /* yacc.c:1652  */
32354     break;
32355 
32356   case 1114:
32357 #line 7427 "gram.y" /* yacc.c:1652  */
32358     { (yyval.boolean) = FALSE; }
32359 #line 32360 "gram.c" /* yacc.c:1652  */
32360     break;
32361 
32362   case 1115:
32363 #line 7438 "gram.y" /* yacc.c:1652  */
32364     {
32365 					CreateTransformStmt *n = makeNode(CreateTransformStmt);
32366 					n->replace = (yyvsp[-8].boolean);
32367 					n->type_name = (yyvsp[-5].typnam);
32368 					n->lang = (yyvsp[-3].str);
32369 					n->fromsql = linitial((yyvsp[-1].list));
32370 					n->tosql = lsecond((yyvsp[-1].list));
32371 					(yyval.node) = (Node *)n;
32372 				}
32373 #line 32374 "gram.c" /* yacc.c:1652  */
32374     break;
32375 
32376   case 1116:
32377 #line 7450 "gram.y" /* yacc.c:1652  */
32378     {
32379 					(yyval.list) = list_make2((yyvsp[-6].funwithargs), (yyvsp[0].funwithargs));
32380 				}
32381 #line 32382 "gram.c" /* yacc.c:1652  */
32382     break;
32383 
32384   case 1117:
32385 #line 7454 "gram.y" /* yacc.c:1652  */
32386     {
32387 					(yyval.list) = list_make2((yyvsp[0].funwithargs), (yyvsp[-6].funwithargs));
32388 				}
32389 #line 32390 "gram.c" /* yacc.c:1652  */
32390     break;
32391 
32392   case 1118:
32393 #line 7458 "gram.y" /* yacc.c:1652  */
32394     {
32395 					(yyval.list) = list_make2((yyvsp[0].funwithargs), NULL);
32396 				}
32397 #line 32398 "gram.c" /* yacc.c:1652  */
32398     break;
32399 
32400   case 1119:
32401 #line 7462 "gram.y" /* yacc.c:1652  */
32402     {
32403 					(yyval.list) = list_make2(NULL, (yyvsp[0].funwithargs));
32404 				}
32405 #line 32406 "gram.c" /* yacc.c:1652  */
32406     break;
32407 
32408   case 1120:
32409 #line 7469 "gram.y" /* yacc.c:1652  */
32410     {
32411 					DropStmt *n = makeNode(DropStmt);
32412 					n->removeType = OBJECT_TRANSFORM;
32413 					n->objects = list_make1(list_make1((yyvsp[-3].typnam)));
32414 					n->arguments = list_make1(list_make1(makeString((yyvsp[-1].str))));
32415 					n->behavior = (yyvsp[0].dbehavior);
32416 					n->missing_ok = (yyvsp[-5].boolean);
32417 					(yyval.node) = (Node *)n;
32418 				}
32419 #line 32420 "gram.c" /* yacc.c:1652  */
32420     break;
32421 
32422   case 1121:
32423 #line 7490 "gram.y" /* yacc.c:1652  */
32424     {
32425 					ReindexStmt *n = makeNode(ReindexStmt);
32426 					n->kind = (yyvsp[-1].ival);
32427 					n->relation = (yyvsp[0].range);
32428 					n->name = NULL;
32429 					n->options = 0;
32430 					(yyval.node) = (Node *)n;
32431 				}
32432 #line 32433 "gram.c" /* yacc.c:1652  */
32433     break;
32434 
32435   case 1122:
32436 #line 7499 "gram.y" /* yacc.c:1652  */
32437     {
32438 					ReindexStmt *n = makeNode(ReindexStmt);
32439 					n->kind = (yyvsp[-1].ival);
32440 					n->name = (yyvsp[0].str);
32441 					n->relation = NULL;
32442 					n->options = 0;
32443 					(yyval.node) = (Node *)n;
32444 				}
32445 #line 32446 "gram.c" /* yacc.c:1652  */
32446     break;
32447 
32448   case 1123:
32449 #line 7508 "gram.y" /* yacc.c:1652  */
32450     {
32451 					ReindexStmt *n = makeNode(ReindexStmt);
32452 					n->kind = (yyvsp[-1].ival);
32453 					n->relation = (yyvsp[0].range);
32454 					n->name = NULL;
32455 					n->options = (yyvsp[-3].ival);
32456 					(yyval.node) = (Node *)n;
32457 				}
32458 #line 32459 "gram.c" /* yacc.c:1652  */
32459     break;
32460 
32461   case 1124:
32462 #line 7517 "gram.y" /* yacc.c:1652  */
32463     {
32464 					ReindexStmt *n = makeNode(ReindexStmt);
32465 					n->kind = (yyvsp[-1].ival);
32466 					n->name = (yyvsp[0].str);
32467 					n->relation = NULL;
32468 					n->options = (yyvsp[-3].ival);
32469 					(yyval.node) = (Node *)n;
32470 				}
32471 #line 32472 "gram.c" /* yacc.c:1652  */
32472     break;
32473 
32474   case 1125:
32475 #line 7527 "gram.y" /* yacc.c:1652  */
32476     { (yyval.ival) = REINDEX_OBJECT_INDEX; }
32477 #line 32478 "gram.c" /* yacc.c:1652  */
32478     break;
32479 
32480   case 1126:
32481 #line 7528 "gram.y" /* yacc.c:1652  */
32482     { (yyval.ival) = REINDEX_OBJECT_TABLE; }
32483 #line 32484 "gram.c" /* yacc.c:1652  */
32484     break;
32485 
32486   case 1127:
32487 #line 7531 "gram.y" /* yacc.c:1652  */
32488     { (yyval.ival) = REINDEX_OBJECT_SCHEMA; }
32489 #line 32490 "gram.c" /* yacc.c:1652  */
32490     break;
32491 
32492   case 1128:
32493 #line 7532 "gram.y" /* yacc.c:1652  */
32494     { (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
32495 #line 32496 "gram.c" /* yacc.c:1652  */
32496     break;
32497 
32498   case 1129:
32499 #line 7533 "gram.y" /* yacc.c:1652  */
32500     { (yyval.ival) = REINDEX_OBJECT_DATABASE; }
32501 #line 32502 "gram.c" /* yacc.c:1652  */
32502     break;
32503 
32504   case 1130:
32505 #line 7536 "gram.y" /* yacc.c:1652  */
32506     { (yyval.ival) = (yyvsp[0].ival); }
32507 #line 32508 "gram.c" /* yacc.c:1652  */
32508     break;
32509 
32510   case 1131:
32511 #line 7537 "gram.y" /* yacc.c:1652  */
32512     { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
32513 #line 32514 "gram.c" /* yacc.c:1652  */
32514     break;
32515 
32516   case 1132:
32517 #line 7540 "gram.y" /* yacc.c:1652  */
32518     { (yyval.ival) = REINDEXOPT_VERBOSE; }
32519 #line 32520 "gram.c" /* yacc.c:1652  */
32520     break;
32521 
32522   case 1133:
32523 #line 7551 "gram.y" /* yacc.c:1652  */
32524     {
32525 					AlterTableSpaceOptionsStmt *n =
32526 						makeNode(AlterTableSpaceOptionsStmt);
32527 					n->tablespacename = (yyvsp[-2].str);
32528 					n->options = (yyvsp[0].list);
32529 					n->isReset = FALSE;
32530 					(yyval.node) = (Node *)n;
32531 				}
32532 #line 32533 "gram.c" /* yacc.c:1652  */
32533     break;
32534 
32535   case 1134:
32536 #line 7560 "gram.y" /* yacc.c:1652  */
32537     {
32538 					AlterTableSpaceOptionsStmt *n =
32539 						makeNode(AlterTableSpaceOptionsStmt);
32540 					n->tablespacename = (yyvsp[-2].str);
32541 					n->options = (yyvsp[0].list);
32542 					n->isReset = TRUE;
32543 					(yyval.node) = (Node *)n;
32544 				}
32545 #line 32546 "gram.c" /* yacc.c:1652  */
32546     break;
32547 
32548   case 1135:
32549 #line 7577 "gram.y" /* yacc.c:1652  */
32550     {
32551 					RenameStmt *n = makeNode(RenameStmt);
32552 					n->renameType = OBJECT_AGGREGATE;
32553 					n->object = (yyvsp[-4].list);
32554 					n->objarg = extractAggrArgTypes((yyvsp[-3].list));
32555 					n->newname = (yyvsp[0].str);
32556 					n->missing_ok = false;
32557 					(yyval.node) = (Node *)n;
32558 				}
32559 #line 32560 "gram.c" /* yacc.c:1652  */
32560     break;
32561 
32562   case 1136:
32563 #line 7587 "gram.y" /* yacc.c:1652  */
32564     {
32565 					RenameStmt *n = makeNode(RenameStmt);
32566 					n->renameType = OBJECT_COLLATION;
32567 					n->object = (yyvsp[-3].list);
32568 					n->newname = (yyvsp[0].str);
32569 					n->missing_ok = false;
32570 					(yyval.node) = (Node *)n;
32571 				}
32572 #line 32573 "gram.c" /* yacc.c:1652  */
32573     break;
32574 
32575   case 1137:
32576 #line 7596 "gram.y" /* yacc.c:1652  */
32577     {
32578 					RenameStmt *n = makeNode(RenameStmt);
32579 					n->renameType = OBJECT_CONVERSION;
32580 					n->object = (yyvsp[-3].list);
32581 					n->newname = (yyvsp[0].str);
32582 					n->missing_ok = false;
32583 					(yyval.node) = (Node *)n;
32584 				}
32585 #line 32586 "gram.c" /* yacc.c:1652  */
32586     break;
32587 
32588   case 1138:
32589 #line 7605 "gram.y" /* yacc.c:1652  */
32590     {
32591 					RenameStmt *n = makeNode(RenameStmt);
32592 					n->renameType = OBJECT_DATABASE;
32593 					n->subname = (yyvsp[-3].str);
32594 					n->newname = (yyvsp[0].str);
32595 					n->missing_ok = false;
32596 					(yyval.node) = (Node *)n;
32597 				}
32598 #line 32599 "gram.c" /* yacc.c:1652  */
32599     break;
32600 
32601   case 1139:
32602 #line 7614 "gram.y" /* yacc.c:1652  */
32603     {
32604 					RenameStmt *n = makeNode(RenameStmt);
32605 					n->renameType = OBJECT_DOMAIN;
32606 					n->object = (yyvsp[-3].list);
32607 					n->newname = (yyvsp[0].str);
32608 					n->missing_ok = false;
32609 					(yyval.node) = (Node *)n;
32610 				}
32611 #line 32612 "gram.c" /* yacc.c:1652  */
32612     break;
32613 
32614   case 1140:
32615 #line 7623 "gram.y" /* yacc.c:1652  */
32616     {
32617 					RenameStmt *n = makeNode(RenameStmt);
32618 					n->renameType = OBJECT_DOMCONSTRAINT;
32619 					n->object = (yyvsp[-5].list);
32620 					n->subname = (yyvsp[-2].str);
32621 					n->newname = (yyvsp[0].str);
32622 					(yyval.node) = (Node *)n;
32623 				}
32624 #line 32625 "gram.c" /* yacc.c:1652  */
32625     break;
32626 
32627   case 1141:
32628 #line 7632 "gram.y" /* yacc.c:1652  */
32629     {
32630 					RenameStmt *n = makeNode(RenameStmt);
32631 					n->renameType = OBJECT_FDW;
32632 					n->object = list_make1(makeString((yyvsp[-3].str)));
32633 					n->newname = (yyvsp[0].str);
32634 					n->missing_ok = false;
32635 					(yyval.node) = (Node *)n;
32636 				}
32637 #line 32638 "gram.c" /* yacc.c:1652  */
32638     break;
32639 
32640   case 1142:
32641 #line 7641 "gram.y" /* yacc.c:1652  */
32642     {
32643 					RenameStmt *n = makeNode(RenameStmt);
32644 					n->renameType = OBJECT_FUNCTION;
32645 					n->object = (yyvsp[-3].funwithargs)->funcname;
32646 					n->objarg = (yyvsp[-3].funwithargs)->funcargs;
32647 					n->newname = (yyvsp[0].str);
32648 					n->missing_ok = false;
32649 					(yyval.node) = (Node *)n;
32650 				}
32651 #line 32652 "gram.c" /* yacc.c:1652  */
32652     break;
32653 
32654   case 1143:
32655 #line 7651 "gram.y" /* yacc.c:1652  */
32656     {
32657 					RenameStmt *n = makeNode(RenameStmt);
32658 					n->renameType = OBJECT_ROLE;
32659 					n->subname = (yyvsp[-3].str);
32660 					n->newname = (yyvsp[0].str);
32661 					n->missing_ok = false;
32662 					(yyval.node) = (Node *)n;
32663 				}
32664 #line 32665 "gram.c" /* yacc.c:1652  */
32665     break;
32666 
32667   case 1144:
32668 #line 7660 "gram.y" /* yacc.c:1652  */
32669     {
32670 					RenameStmt *n = makeNode(RenameStmt);
32671 					n->renameType = OBJECT_LANGUAGE;
32672 					n->object = list_make1(makeString((yyvsp[-3].str)));
32673 					n->newname = (yyvsp[0].str);
32674 					n->missing_ok = false;
32675 					(yyval.node) = (Node *)n;
32676 				}
32677 #line 32678 "gram.c" /* yacc.c:1652  */
32678     break;
32679 
32680   case 1145:
32681 #line 7669 "gram.y" /* yacc.c:1652  */
32682     {
32683 					RenameStmt *n = makeNode(RenameStmt);
32684 					n->renameType = OBJECT_OPCLASS;
32685 					n->object = lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
32686 					n->newname = (yyvsp[0].str);
32687 					n->missing_ok = false;
32688 					(yyval.node) = (Node *)n;
32689 				}
32690 #line 32691 "gram.c" /* yacc.c:1652  */
32691     break;
32692 
32693   case 1146:
32694 #line 7678 "gram.y" /* yacc.c:1652  */
32695     {
32696 					RenameStmt *n = makeNode(RenameStmt);
32697 					n->renameType = OBJECT_OPFAMILY;
32698 					n->object = lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
32699 					n->newname = (yyvsp[0].str);
32700 					n->missing_ok = false;
32701 					(yyval.node) = (Node *)n;
32702 				}
32703 #line 32704 "gram.c" /* yacc.c:1652  */
32704     break;
32705 
32706   case 1147:
32707 #line 7687 "gram.y" /* yacc.c:1652  */
32708     {
32709 					RenameStmt *n = makeNode(RenameStmt);
32710 					n->renameType = OBJECT_POLICY;
32711 					n->relation = (yyvsp[-3].range);
32712 					n->subname = (yyvsp[-5].str);
32713 					n->newname = (yyvsp[0].str);
32714 					n->missing_ok = false;
32715 					(yyval.node) = (Node *)n;
32716 				}
32717 #line 32718 "gram.c" /* yacc.c:1652  */
32718     break;
32719 
32720   case 1148:
32721 #line 7697 "gram.y" /* yacc.c:1652  */
32722     {
32723 					RenameStmt *n = makeNode(RenameStmt);
32724 					n->renameType = OBJECT_POLICY;
32725 					n->relation = (yyvsp[-3].range);
32726 					n->subname = (yyvsp[-5].str);
32727 					n->newname = (yyvsp[0].str);
32728 					n->missing_ok = true;
32729 					(yyval.node) = (Node *)n;
32730 				}
32731 #line 32732 "gram.c" /* yacc.c:1652  */
32732     break;
32733 
32734   case 1149:
32735 #line 7707 "gram.y" /* yacc.c:1652  */
32736     {
32737 					RenameStmt *n = makeNode(RenameStmt);
32738 					n->renameType = OBJECT_SCHEMA;
32739 					n->subname = (yyvsp[-3].str);
32740 					n->newname = (yyvsp[0].str);
32741 					n->missing_ok = false;
32742 					(yyval.node) = (Node *)n;
32743 				}
32744 #line 32745 "gram.c" /* yacc.c:1652  */
32745     break;
32746 
32747   case 1150:
32748 #line 7716 "gram.y" /* yacc.c:1652  */
32749     {
32750 					RenameStmt *n = makeNode(RenameStmt);
32751 					n->renameType = OBJECT_FOREIGN_SERVER;
32752 					n->object = list_make1(makeString((yyvsp[-3].str)));
32753 					n->newname = (yyvsp[0].str);
32754 					n->missing_ok = false;
32755 					(yyval.node) = (Node *)n;
32756 				}
32757 #line 32758 "gram.c" /* yacc.c:1652  */
32758     break;
32759 
32760   case 1151:
32761 #line 7725 "gram.y" /* yacc.c:1652  */
32762     {
32763 					RenameStmt *n = makeNode(RenameStmt);
32764 					n->renameType = OBJECT_TABLE;
32765 					n->relation = (yyvsp[-3].range);
32766 					n->subname = NULL;
32767 					n->newname = (yyvsp[0].str);
32768 					n->missing_ok = false;
32769 					(yyval.node) = (Node *)n;
32770 				}
32771 #line 32772 "gram.c" /* yacc.c:1652  */
32772     break;
32773 
32774   case 1152:
32775 #line 7735 "gram.y" /* yacc.c:1652  */
32776     {
32777 					RenameStmt *n = makeNode(RenameStmt);
32778 					n->renameType = OBJECT_TABLE;
32779 					n->relation = (yyvsp[-3].range);
32780 					n->subname = NULL;
32781 					n->newname = (yyvsp[0].str);
32782 					n->missing_ok = true;
32783 					(yyval.node) = (Node *)n;
32784 				}
32785 #line 32786 "gram.c" /* yacc.c:1652  */
32786     break;
32787 
32788   case 1153:
32789 #line 7745 "gram.y" /* yacc.c:1652  */
32790     {
32791 					RenameStmt *n = makeNode(RenameStmt);
32792 					n->renameType = OBJECT_SEQUENCE;
32793 					n->relation = (yyvsp[-3].range);
32794 					n->subname = NULL;
32795 					n->newname = (yyvsp[0].str);
32796 					n->missing_ok = false;
32797 					(yyval.node) = (Node *)n;
32798 				}
32799 #line 32800 "gram.c" /* yacc.c:1652  */
32800     break;
32801 
32802   case 1154:
32803 #line 7755 "gram.y" /* yacc.c:1652  */
32804     {
32805 					RenameStmt *n = makeNode(RenameStmt);
32806 					n->renameType = OBJECT_SEQUENCE;
32807 					n->relation = (yyvsp[-3].range);
32808 					n->subname = NULL;
32809 					n->newname = (yyvsp[0].str);
32810 					n->missing_ok = true;
32811 					(yyval.node) = (Node *)n;
32812 				}
32813 #line 32814 "gram.c" /* yacc.c:1652  */
32814     break;
32815 
32816   case 1155:
32817 #line 7765 "gram.y" /* yacc.c:1652  */
32818     {
32819 					RenameStmt *n = makeNode(RenameStmt);
32820 					n->renameType = OBJECT_VIEW;
32821 					n->relation = (yyvsp[-3].range);
32822 					n->subname = NULL;
32823 					n->newname = (yyvsp[0].str);
32824 					n->missing_ok = false;
32825 					(yyval.node) = (Node *)n;
32826 				}
32827 #line 32828 "gram.c" /* yacc.c:1652  */
32828     break;
32829 
32830   case 1156:
32831 #line 7775 "gram.y" /* yacc.c:1652  */
32832     {
32833 					RenameStmt *n = makeNode(RenameStmt);
32834 					n->renameType = OBJECT_VIEW;
32835 					n->relation = (yyvsp[-3].range);
32836 					n->subname = NULL;
32837 					n->newname = (yyvsp[0].str);
32838 					n->missing_ok = true;
32839 					(yyval.node) = (Node *)n;
32840 				}
32841 #line 32842 "gram.c" /* yacc.c:1652  */
32842     break;
32843 
32844   case 1157:
32845 #line 7785 "gram.y" /* yacc.c:1652  */
32846     {
32847 					RenameStmt *n = makeNode(RenameStmt);
32848 					n->renameType = OBJECT_MATVIEW;
32849 					n->relation = (yyvsp[-3].range);
32850 					n->subname = NULL;
32851 					n->newname = (yyvsp[0].str);
32852 					n->missing_ok = false;
32853 					(yyval.node) = (Node *)n;
32854 				}
32855 #line 32856 "gram.c" /* yacc.c:1652  */
32856     break;
32857 
32858   case 1158:
32859 #line 7795 "gram.y" /* yacc.c:1652  */
32860     {
32861 					RenameStmt *n = makeNode(RenameStmt);
32862 					n->renameType = OBJECT_MATVIEW;
32863 					n->relation = (yyvsp[-3].range);
32864 					n->subname = NULL;
32865 					n->newname = (yyvsp[0].str);
32866 					n->missing_ok = true;
32867 					(yyval.node) = (Node *)n;
32868 				}
32869 #line 32870 "gram.c" /* yacc.c:1652  */
32870     break;
32871 
32872   case 1159:
32873 #line 7805 "gram.y" /* yacc.c:1652  */
32874     {
32875 					RenameStmt *n = makeNode(RenameStmt);
32876 					n->renameType = OBJECT_INDEX;
32877 					n->relation = (yyvsp[-3].range);
32878 					n->subname = NULL;
32879 					n->newname = (yyvsp[0].str);
32880 					n->missing_ok = false;
32881 					(yyval.node) = (Node *)n;
32882 				}
32883 #line 32884 "gram.c" /* yacc.c:1652  */
32884     break;
32885 
32886   case 1160:
32887 #line 7815 "gram.y" /* yacc.c:1652  */
32888     {
32889 					RenameStmt *n = makeNode(RenameStmt);
32890 					n->renameType = OBJECT_INDEX;
32891 					n->relation = (yyvsp[-3].range);
32892 					n->subname = NULL;
32893 					n->newname = (yyvsp[0].str);
32894 					n->missing_ok = true;
32895 					(yyval.node) = (Node *)n;
32896 				}
32897 #line 32898 "gram.c" /* yacc.c:1652  */
32898     break;
32899 
32900   case 1161:
32901 #line 7825 "gram.y" /* yacc.c:1652  */
32902     {
32903 					RenameStmt *n = makeNode(RenameStmt);
32904 					n->renameType = OBJECT_FOREIGN_TABLE;
32905 					n->relation = (yyvsp[-3].range);
32906 					n->subname = NULL;
32907 					n->newname = (yyvsp[0].str);
32908 					n->missing_ok = false;
32909 					(yyval.node) = (Node *)n;
32910 				}
32911 #line 32912 "gram.c" /* yacc.c:1652  */
32912     break;
32913 
32914   case 1162:
32915 #line 7835 "gram.y" /* yacc.c:1652  */
32916     {
32917 					RenameStmt *n = makeNode(RenameStmt);
32918 					n->renameType = OBJECT_FOREIGN_TABLE;
32919 					n->relation = (yyvsp[-3].range);
32920 					n->subname = NULL;
32921 					n->newname = (yyvsp[0].str);
32922 					n->missing_ok = true;
32923 					(yyval.node) = (Node *)n;
32924 				}
32925 #line 32926 "gram.c" /* yacc.c:1652  */
32926     break;
32927 
32928   case 1163:
32929 #line 7845 "gram.y" /* yacc.c:1652  */
32930     {
32931 					RenameStmt *n = makeNode(RenameStmt);
32932 					n->renameType = OBJECT_COLUMN;
32933 					n->relationType = OBJECT_TABLE;
32934 					n->relation = (yyvsp[-5].range);
32935 					n->subname = (yyvsp[-2].str);
32936 					n->newname = (yyvsp[0].str);
32937 					n->missing_ok = false;
32938 					(yyval.node) = (Node *)n;
32939 				}
32940 #line 32941 "gram.c" /* yacc.c:1652  */
32941     break;
32942 
32943   case 1164:
32944 #line 7856 "gram.y" /* yacc.c:1652  */
32945     {
32946 					RenameStmt *n = makeNode(RenameStmt);
32947 					n->renameType = OBJECT_COLUMN;
32948 					n->relationType = OBJECT_TABLE;
32949 					n->relation = (yyvsp[-5].range);
32950 					n->subname = (yyvsp[-2].str);
32951 					n->newname = (yyvsp[0].str);
32952 					n->missing_ok = true;
32953 					(yyval.node) = (Node *)n;
32954 				}
32955 #line 32956 "gram.c" /* yacc.c:1652  */
32956     break;
32957 
32958   case 1165:
32959 #line 7867 "gram.y" /* yacc.c:1652  */
32960     {
32961 					RenameStmt *n = makeNode(RenameStmt);
32962 					n->renameType = OBJECT_COLUMN;
32963 					n->relationType = OBJECT_MATVIEW;
32964 					n->relation = (yyvsp[-5].range);
32965 					n->subname = (yyvsp[-2].str);
32966 					n->newname = (yyvsp[0].str);
32967 					n->missing_ok = false;
32968 					(yyval.node) = (Node *)n;
32969 				}
32970 #line 32971 "gram.c" /* yacc.c:1652  */
32971     break;
32972 
32973   case 1166:
32974 #line 7878 "gram.y" /* yacc.c:1652  */
32975     {
32976 					RenameStmt *n = makeNode(RenameStmt);
32977 					n->renameType = OBJECT_COLUMN;
32978 					n->relationType = OBJECT_MATVIEW;
32979 					n->relation = (yyvsp[-5].range);
32980 					n->subname = (yyvsp[-2].str);
32981 					n->newname = (yyvsp[0].str);
32982 					n->missing_ok = true;
32983 					(yyval.node) = (Node *)n;
32984 				}
32985 #line 32986 "gram.c" /* yacc.c:1652  */
32986     break;
32987 
32988   case 1167:
32989 #line 7889 "gram.y" /* yacc.c:1652  */
32990     {
32991 					RenameStmt *n = makeNode(RenameStmt);
32992 					n->renameType = OBJECT_TABCONSTRAINT;
32993 					n->relation = (yyvsp[-5].range);
32994 					n->subname = (yyvsp[-2].str);
32995 					n->newname = (yyvsp[0].str);
32996 					n->missing_ok = false;
32997 					(yyval.node) = (Node *)n;
32998 				}
32999 #line 33000 "gram.c" /* yacc.c:1652  */
33000     break;
33001 
33002   case 1168:
33003 #line 7899 "gram.y" /* yacc.c:1652  */
33004     {
33005 					RenameStmt *n = makeNode(RenameStmt);
33006 					n->renameType = OBJECT_TABCONSTRAINT;
33007 					n->relation = (yyvsp[-5].range);
33008 					n->subname = (yyvsp[-2].str);
33009 					n->newname = (yyvsp[0].str);
33010 					n->missing_ok = true;
33011 					(yyval.node) = (Node *)n;
33012 				}
33013 #line 33014 "gram.c" /* yacc.c:1652  */
33014     break;
33015 
33016   case 1169:
33017 #line 7909 "gram.y" /* yacc.c:1652  */
33018     {
33019 					RenameStmt *n = makeNode(RenameStmt);
33020 					n->renameType = OBJECT_COLUMN;
33021 					n->relationType = OBJECT_FOREIGN_TABLE;
33022 					n->relation = (yyvsp[-5].range);
33023 					n->subname = (yyvsp[-2].str);
33024 					n->newname = (yyvsp[0].str);
33025 					n->missing_ok = false;
33026 					(yyval.node) = (Node *)n;
33027 				}
33028 #line 33029 "gram.c" /* yacc.c:1652  */
33029     break;
33030 
33031   case 1170:
33032 #line 7920 "gram.y" /* yacc.c:1652  */
33033     {
33034 					RenameStmt *n = makeNode(RenameStmt);
33035 					n->renameType = OBJECT_COLUMN;
33036 					n->relationType = OBJECT_FOREIGN_TABLE;
33037 					n->relation = (yyvsp[-5].range);
33038 					n->subname = (yyvsp[-2].str);
33039 					n->newname = (yyvsp[0].str);
33040 					n->missing_ok = true;
33041 					(yyval.node) = (Node *)n;
33042 				}
33043 #line 33044 "gram.c" /* yacc.c:1652  */
33044     break;
33045 
33046   case 1171:
33047 #line 7931 "gram.y" /* yacc.c:1652  */
33048     {
33049 					RenameStmt *n = makeNode(RenameStmt);
33050 					n->renameType = OBJECT_RULE;
33051 					n->relation = (yyvsp[-3].range);
33052 					n->subname = (yyvsp[-5].str);
33053 					n->newname = (yyvsp[0].str);
33054 					n->missing_ok = false;
33055 					(yyval.node) = (Node *)n;
33056 				}
33057 #line 33058 "gram.c" /* yacc.c:1652  */
33058     break;
33059 
33060   case 1172:
33061 #line 7941 "gram.y" /* yacc.c:1652  */
33062     {
33063 					RenameStmt *n = makeNode(RenameStmt);
33064 					n->renameType = OBJECT_TRIGGER;
33065 					n->relation = (yyvsp[-3].range);
33066 					n->subname = (yyvsp[-5].str);
33067 					n->newname = (yyvsp[0].str);
33068 					n->missing_ok = false;
33069 					(yyval.node) = (Node *)n;
33070 				}
33071 #line 33072 "gram.c" /* yacc.c:1652  */
33072     break;
33073 
33074   case 1173:
33075 #line 7951 "gram.y" /* yacc.c:1652  */
33076     {
33077 					RenameStmt *n = makeNode(RenameStmt);
33078 					n->renameType = OBJECT_EVENT_TRIGGER;
33079 					n->object = list_make1(makeString((yyvsp[-3].str)));
33080 					n->newname = (yyvsp[0].str);
33081 					(yyval.node) = (Node *)n;
33082 				}
33083 #line 33084 "gram.c" /* yacc.c:1652  */
33084     break;
33085 
33086   case 1174:
33087 #line 7959 "gram.y" /* yacc.c:1652  */
33088     {
33089 					RenameStmt *n = makeNode(RenameStmt);
33090 					n->renameType = OBJECT_ROLE;
33091 					n->subname = (yyvsp[-3].str);
33092 					n->newname = (yyvsp[0].str);
33093 					n->missing_ok = false;
33094 					(yyval.node) = (Node *)n;
33095 				}
33096 #line 33097 "gram.c" /* yacc.c:1652  */
33097     break;
33098 
33099   case 1175:
33100 #line 7968 "gram.y" /* yacc.c:1652  */
33101     {
33102 					RenameStmt *n = makeNode(RenameStmt);
33103 					n->renameType = OBJECT_ROLE;
33104 					n->subname = (yyvsp[-3].str);
33105 					n->newname = (yyvsp[0].str);
33106 					n->missing_ok = false;
33107 					(yyval.node) = (Node *)n;
33108 				}
33109 #line 33110 "gram.c" /* yacc.c:1652  */
33110     break;
33111 
33112   case 1176:
33113 #line 7977 "gram.y" /* yacc.c:1652  */
33114     {
33115 					RenameStmt *n = makeNode(RenameStmt);
33116 					n->renameType = OBJECT_TABLESPACE;
33117 					n->subname = (yyvsp[-3].str);
33118 					n->newname = (yyvsp[0].str);
33119 					n->missing_ok = false;
33120 					(yyval.node) = (Node *)n;
33121 				}
33122 #line 33123 "gram.c" /* yacc.c:1652  */
33123     break;
33124 
33125   case 1177:
33126 #line 7986 "gram.y" /* yacc.c:1652  */
33127     {
33128 					RenameStmt *n = makeNode(RenameStmt);
33129 					n->renameType = OBJECT_TSPARSER;
33130 					n->object = (yyvsp[-3].list);
33131 					n->newname = (yyvsp[0].str);
33132 					n->missing_ok = false;
33133 					(yyval.node) = (Node *)n;
33134 				}
33135 #line 33136 "gram.c" /* yacc.c:1652  */
33136     break;
33137 
33138   case 1178:
33139 #line 7995 "gram.y" /* yacc.c:1652  */
33140     {
33141 					RenameStmt *n = makeNode(RenameStmt);
33142 					n->renameType = OBJECT_TSDICTIONARY;
33143 					n->object = (yyvsp[-3].list);
33144 					n->newname = (yyvsp[0].str);
33145 					n->missing_ok = false;
33146 					(yyval.node) = (Node *)n;
33147 				}
33148 #line 33149 "gram.c" /* yacc.c:1652  */
33149     break;
33150 
33151   case 1179:
33152 #line 8004 "gram.y" /* yacc.c:1652  */
33153     {
33154 					RenameStmt *n = makeNode(RenameStmt);
33155 					n->renameType = OBJECT_TSTEMPLATE;
33156 					n->object = (yyvsp[-3].list);
33157 					n->newname = (yyvsp[0].str);
33158 					n->missing_ok = false;
33159 					(yyval.node) = (Node *)n;
33160 				}
33161 #line 33162 "gram.c" /* yacc.c:1652  */
33162     break;
33163 
33164   case 1180:
33165 #line 8013 "gram.y" /* yacc.c:1652  */
33166     {
33167 					RenameStmt *n = makeNode(RenameStmt);
33168 					n->renameType = OBJECT_TSCONFIGURATION;
33169 					n->object = (yyvsp[-3].list);
33170 					n->newname = (yyvsp[0].str);
33171 					n->missing_ok = false;
33172 					(yyval.node) = (Node *)n;
33173 				}
33174 #line 33175 "gram.c" /* yacc.c:1652  */
33175     break;
33176 
33177   case 1181:
33178 #line 8022 "gram.y" /* yacc.c:1652  */
33179     {
33180 					RenameStmt *n = makeNode(RenameStmt);
33181 					n->renameType = OBJECT_TYPE;
33182 					n->object = (yyvsp[-3].list);
33183 					n->newname = (yyvsp[0].str);
33184 					n->missing_ok = false;
33185 					(yyval.node) = (Node *)n;
33186 				}
33187 #line 33188 "gram.c" /* yacc.c:1652  */
33188     break;
33189 
33190   case 1182:
33191 #line 8031 "gram.y" /* yacc.c:1652  */
33192     {
33193 					RenameStmt *n = makeNode(RenameStmt);
33194 					n->renameType = OBJECT_ATTRIBUTE;
33195 					n->relationType = OBJECT_TYPE;
33196 					n->relation = makeRangeVarFromAnyName((yyvsp[-6].list), (yylsp[-6]), yyscanner);
33197 					n->subname = (yyvsp[-3].str);
33198 					n->newname = (yyvsp[-1].str);
33199 					n->behavior = (yyvsp[0].dbehavior);
33200 					n->missing_ok = false;
33201 					(yyval.node) = (Node *)n;
33202 				}
33203 #line 33204 "gram.c" /* yacc.c:1652  */
33204     break;
33205 
33206   case 1183:
33207 #line 8044 "gram.y" /* yacc.c:1652  */
33208     { (yyval.ival) = COLUMN; }
33209 #line 33210 "gram.c" /* yacc.c:1652  */
33210     break;
33211 
33212   case 1184:
33213 #line 8045 "gram.y" /* yacc.c:1652  */
33214     { (yyval.ival) = 0; }
33215 #line 33216 "gram.c" /* yacc.c:1652  */
33216     break;
33217 
33218   case 1185:
33219 #line 8048 "gram.y" /* yacc.c:1652  */
33220     { (yyval.ival) = 1; }
33221 #line 33222 "gram.c" /* yacc.c:1652  */
33222     break;
33223 
33224   case 1186:
33225 #line 8049 "gram.y" /* yacc.c:1652  */
33226     { (yyval.ival) = 0; }
33227 #line 33228 "gram.c" /* yacc.c:1652  */
33228     break;
33229 
33230   case 1187:
33231 #line 8060 "gram.y" /* yacc.c:1652  */
33232     {
33233 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
33234 					n->objectType = OBJECT_FUNCTION;
33235 					n->relation = NULL;
33236 					n->objname = (yyvsp[-4].funwithargs)->funcname;
33237 					n->objargs = (yyvsp[-4].funwithargs)->funcargs;
33238 					n->extname = makeString((yyvsp[0].str));
33239 					(yyval.node) = (Node *)n;
33240 				}
33241 #line 33242 "gram.c" /* yacc.c:1652  */
33242     break;
33243 
33244   case 1188:
33245 #line 8070 "gram.y" /* yacc.c:1652  */
33246     {
33247 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
33248 					n->objectType = OBJECT_TRIGGER;
33249 					n->relation = (yyvsp[-4].range);
33250 					n->objname = list_make1(makeString((yyvsp[-6].str)));
33251 					n->objargs = NIL;
33252 					n->extname = makeString((yyvsp[0].str));
33253 					(yyval.node) = (Node *)n;
33254 				}
33255 #line 33256 "gram.c" /* yacc.c:1652  */
33256     break;
33257 
33258   case 1189:
33259 #line 8080 "gram.y" /* yacc.c:1652  */
33260     {
33261 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
33262 					n->objectType = OBJECT_MATVIEW;
33263 					n->relation = (yyvsp[-4].range);
33264 					n->objname = NIL;
33265 					n->objargs = NIL;
33266 					n->extname = makeString((yyvsp[0].str));
33267 					(yyval.node) = (Node *)n;
33268 				}
33269 #line 33270 "gram.c" /* yacc.c:1652  */
33270     break;
33271 
33272   case 1190:
33273 #line 8090 "gram.y" /* yacc.c:1652  */
33274     {
33275 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
33276 					n->objectType = OBJECT_INDEX;
33277 					n->relation = (yyvsp[-4].range);
33278 					n->objname = NIL;
33279 					n->objargs = NIL;
33280 					n->extname = makeString((yyvsp[0].str));
33281 					(yyval.node) = (Node *)n;
33282 				}
33283 #line 33284 "gram.c" /* yacc.c:1652  */
33284     break;
33285 
33286   case 1191:
33287 #line 8109 "gram.y" /* yacc.c:1652  */
33288     {
33289 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33290 					n->objectType = OBJECT_AGGREGATE;
33291 					n->object = (yyvsp[-4].list);
33292 					n->objarg = extractAggrArgTypes((yyvsp[-3].list));
33293 					n->newschema = (yyvsp[0].str);
33294 					n->missing_ok = false;
33295 					(yyval.node) = (Node *)n;
33296 				}
33297 #line 33298 "gram.c" /* yacc.c:1652  */
33298     break;
33299 
33300   case 1192:
33301 #line 8119 "gram.y" /* yacc.c:1652  */
33302     {
33303 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33304 					n->objectType = OBJECT_COLLATION;
33305 					n->object = (yyvsp[-3].list);
33306 					n->newschema = (yyvsp[0].str);
33307 					n->missing_ok = false;
33308 					(yyval.node) = (Node *)n;
33309 				}
33310 #line 33311 "gram.c" /* yacc.c:1652  */
33311     break;
33312 
33313   case 1193:
33314 #line 8128 "gram.y" /* yacc.c:1652  */
33315     {
33316 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33317 					n->objectType = OBJECT_CONVERSION;
33318 					n->object = (yyvsp[-3].list);
33319 					n->newschema = (yyvsp[0].str);
33320 					n->missing_ok = false;
33321 					(yyval.node) = (Node *)n;
33322 				}
33323 #line 33324 "gram.c" /* yacc.c:1652  */
33324     break;
33325 
33326   case 1194:
33327 #line 8137 "gram.y" /* yacc.c:1652  */
33328     {
33329 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33330 					n->objectType = OBJECT_DOMAIN;
33331 					n->object = (yyvsp[-3].list);
33332 					n->newschema = (yyvsp[0].str);
33333 					n->missing_ok = false;
33334 					(yyval.node) = (Node *)n;
33335 				}
33336 #line 33337 "gram.c" /* yacc.c:1652  */
33337     break;
33338 
33339   case 1195:
33340 #line 8146 "gram.y" /* yacc.c:1652  */
33341     {
33342 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33343 					n->objectType = OBJECT_EXTENSION;
33344 					n->object = (yyvsp[-3].list);
33345 					n->newschema = (yyvsp[0].str);
33346 					n->missing_ok = false;
33347 					(yyval.node) = (Node *)n;
33348 				}
33349 #line 33350 "gram.c" /* yacc.c:1652  */
33350     break;
33351 
33352   case 1196:
33353 #line 8155 "gram.y" /* yacc.c:1652  */
33354     {
33355 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33356 					n->objectType = OBJECT_FUNCTION;
33357 					n->object = (yyvsp[-3].funwithargs)->funcname;
33358 					n->objarg = (yyvsp[-3].funwithargs)->funcargs;
33359 					n->newschema = (yyvsp[0].str);
33360 					n->missing_ok = false;
33361 					(yyval.node) = (Node *)n;
33362 				}
33363 #line 33364 "gram.c" /* yacc.c:1652  */
33364     break;
33365 
33366   case 1197:
33367 #line 8165 "gram.y" /* yacc.c:1652  */
33368     {
33369 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33370 					n->objectType = OBJECT_OPERATOR;
33371 					n->object = (yyvsp[-4].list);
33372 					n->objarg = (yyvsp[-3].list);
33373 					n->newschema = (yyvsp[0].str);
33374 					n->missing_ok = false;
33375 					(yyval.node) = (Node *)n;
33376 				}
33377 #line 33378 "gram.c" /* yacc.c:1652  */
33378     break;
33379 
33380   case 1198:
33381 #line 8175 "gram.y" /* yacc.c:1652  */
33382     {
33383 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33384 					n->objectType = OBJECT_OPCLASS;
33385 					n->object = lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
33386 					n->newschema = (yyvsp[0].str);
33387 					n->missing_ok = false;
33388 					(yyval.node) = (Node *)n;
33389 				}
33390 #line 33391 "gram.c" /* yacc.c:1652  */
33391     break;
33392 
33393   case 1199:
33394 #line 8184 "gram.y" /* yacc.c:1652  */
33395     {
33396 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33397 					n->objectType = OBJECT_OPFAMILY;
33398 					n->object = lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
33399 					n->newschema = (yyvsp[0].str);
33400 					n->missing_ok = false;
33401 					(yyval.node) = (Node *)n;
33402 				}
33403 #line 33404 "gram.c" /* yacc.c:1652  */
33404     break;
33405 
33406   case 1200:
33407 #line 8193 "gram.y" /* yacc.c:1652  */
33408     {
33409 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33410 					n->objectType = OBJECT_TABLE;
33411 					n->relation = (yyvsp[-3].range);
33412 					n->newschema = (yyvsp[0].str);
33413 					n->missing_ok = false;
33414 					(yyval.node) = (Node *)n;
33415 				}
33416 #line 33417 "gram.c" /* yacc.c:1652  */
33417     break;
33418 
33419   case 1201:
33420 #line 8202 "gram.y" /* yacc.c:1652  */
33421     {
33422 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33423 					n->objectType = OBJECT_TABLE;
33424 					n->relation = (yyvsp[-3].range);
33425 					n->newschema = (yyvsp[0].str);
33426 					n->missing_ok = true;
33427 					(yyval.node) = (Node *)n;
33428 				}
33429 #line 33430 "gram.c" /* yacc.c:1652  */
33430     break;
33431 
33432   case 1202:
33433 #line 8211 "gram.y" /* yacc.c:1652  */
33434     {
33435 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33436 					n->objectType = OBJECT_TSPARSER;
33437 					n->object = (yyvsp[-3].list);
33438 					n->newschema = (yyvsp[0].str);
33439 					n->missing_ok = false;
33440 					(yyval.node) = (Node *)n;
33441 				}
33442 #line 33443 "gram.c" /* yacc.c:1652  */
33443     break;
33444 
33445   case 1203:
33446 #line 8220 "gram.y" /* yacc.c:1652  */
33447     {
33448 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33449 					n->objectType = OBJECT_TSDICTIONARY;
33450 					n->object = (yyvsp[-3].list);
33451 					n->newschema = (yyvsp[0].str);
33452 					n->missing_ok = false;
33453 					(yyval.node) = (Node *)n;
33454 				}
33455 #line 33456 "gram.c" /* yacc.c:1652  */
33456     break;
33457 
33458   case 1204:
33459 #line 8229 "gram.y" /* yacc.c:1652  */
33460     {
33461 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33462 					n->objectType = OBJECT_TSTEMPLATE;
33463 					n->object = (yyvsp[-3].list);
33464 					n->newschema = (yyvsp[0].str);
33465 					n->missing_ok = false;
33466 					(yyval.node) = (Node *)n;
33467 				}
33468 #line 33469 "gram.c" /* yacc.c:1652  */
33469     break;
33470 
33471   case 1205:
33472 #line 8238 "gram.y" /* yacc.c:1652  */
33473     {
33474 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33475 					n->objectType = OBJECT_TSCONFIGURATION;
33476 					n->object = (yyvsp[-3].list);
33477 					n->newschema = (yyvsp[0].str);
33478 					n->missing_ok = false;
33479 					(yyval.node) = (Node *)n;
33480 				}
33481 #line 33482 "gram.c" /* yacc.c:1652  */
33482     break;
33483 
33484   case 1206:
33485 #line 8247 "gram.y" /* yacc.c:1652  */
33486     {
33487 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33488 					n->objectType = OBJECT_SEQUENCE;
33489 					n->relation = (yyvsp[-3].range);
33490 					n->newschema = (yyvsp[0].str);
33491 					n->missing_ok = false;
33492 					(yyval.node) = (Node *)n;
33493 				}
33494 #line 33495 "gram.c" /* yacc.c:1652  */
33495     break;
33496 
33497   case 1207:
33498 #line 8256 "gram.y" /* yacc.c:1652  */
33499     {
33500 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33501 					n->objectType = OBJECT_SEQUENCE;
33502 					n->relation = (yyvsp[-3].range);
33503 					n->newschema = (yyvsp[0].str);
33504 					n->missing_ok = true;
33505 					(yyval.node) = (Node *)n;
33506 				}
33507 #line 33508 "gram.c" /* yacc.c:1652  */
33508     break;
33509 
33510   case 1208:
33511 #line 8265 "gram.y" /* yacc.c:1652  */
33512     {
33513 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33514 					n->objectType = OBJECT_VIEW;
33515 					n->relation = (yyvsp[-3].range);
33516 					n->newschema = (yyvsp[0].str);
33517 					n->missing_ok = false;
33518 					(yyval.node) = (Node *)n;
33519 				}
33520 #line 33521 "gram.c" /* yacc.c:1652  */
33521     break;
33522 
33523   case 1209:
33524 #line 8274 "gram.y" /* yacc.c:1652  */
33525     {
33526 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33527 					n->objectType = OBJECT_VIEW;
33528 					n->relation = (yyvsp[-3].range);
33529 					n->newschema = (yyvsp[0].str);
33530 					n->missing_ok = true;
33531 					(yyval.node) = (Node *)n;
33532 				}
33533 #line 33534 "gram.c" /* yacc.c:1652  */
33534     break;
33535 
33536   case 1210:
33537 #line 8283 "gram.y" /* yacc.c:1652  */
33538     {
33539 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33540 					n->objectType = OBJECT_MATVIEW;
33541 					n->relation = (yyvsp[-3].range);
33542 					n->newschema = (yyvsp[0].str);
33543 					n->missing_ok = false;
33544 					(yyval.node) = (Node *)n;
33545 				}
33546 #line 33547 "gram.c" /* yacc.c:1652  */
33547     break;
33548 
33549   case 1211:
33550 #line 8292 "gram.y" /* yacc.c:1652  */
33551     {
33552 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33553 					n->objectType = OBJECT_MATVIEW;
33554 					n->relation = (yyvsp[-3].range);
33555 					n->newschema = (yyvsp[0].str);
33556 					n->missing_ok = true;
33557 					(yyval.node) = (Node *)n;
33558 				}
33559 #line 33560 "gram.c" /* yacc.c:1652  */
33560     break;
33561 
33562   case 1212:
33563 #line 8301 "gram.y" /* yacc.c:1652  */
33564     {
33565 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33566 					n->objectType = OBJECT_FOREIGN_TABLE;
33567 					n->relation = (yyvsp[-3].range);
33568 					n->newschema = (yyvsp[0].str);
33569 					n->missing_ok = false;
33570 					(yyval.node) = (Node *)n;
33571 				}
33572 #line 33573 "gram.c" /* yacc.c:1652  */
33573     break;
33574 
33575   case 1213:
33576 #line 8310 "gram.y" /* yacc.c:1652  */
33577     {
33578 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33579 					n->objectType = OBJECT_FOREIGN_TABLE;
33580 					n->relation = (yyvsp[-3].range);
33581 					n->newschema = (yyvsp[0].str);
33582 					n->missing_ok = true;
33583 					(yyval.node) = (Node *)n;
33584 				}
33585 #line 33586 "gram.c" /* yacc.c:1652  */
33586     break;
33587 
33588   case 1214:
33589 #line 8319 "gram.y" /* yacc.c:1652  */
33590     {
33591 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
33592 					n->objectType = OBJECT_TYPE;
33593 					n->object = (yyvsp[-3].list);
33594 					n->newschema = (yyvsp[0].str);
33595 					n->missing_ok = false;
33596 					(yyval.node) = (Node *)n;
33597 				}
33598 #line 33599 "gram.c" /* yacc.c:1652  */
33599     break;
33600 
33601   case 1215:
33602 #line 8337 "gram.y" /* yacc.c:1652  */
33603     {
33604 					AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
33605 					n->opername = (yyvsp[-5].list);
33606 					n->operargs = (yyvsp[-4].list);
33607 					n->options = (yyvsp[-1].list);
33608 					(yyval.node) = (Node *)n;
33609 				}
33610 #line 33611 "gram.c" /* yacc.c:1652  */
33611     break;
33612 
33613   case 1216:
33614 #line 8346 "gram.y" /* yacc.c:1652  */
33615     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
33616 #line 33617 "gram.c" /* yacc.c:1652  */
33617     break;
33618 
33619   case 1217:
33620 #line 8347 "gram.y" /* yacc.c:1652  */
33621     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
33622 #line 33623 "gram.c" /* yacc.c:1652  */
33623     break;
33624 
33625   case 1218:
33626 #line 8351 "gram.y" /* yacc.c:1652  */
33627     { (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL); }
33628 #line 33629 "gram.c" /* yacc.c:1652  */
33629     break;
33630 
33631   case 1219:
33632 #line 8353 "gram.y" /* yacc.c:1652  */
33633     { (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node)); }
33634 #line 33635 "gram.c" /* yacc.c:1652  */
33635     break;
33636 
33637   case 1220:
33638 #line 8363 "gram.y" /* yacc.c:1652  */
33639     {
33640 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33641 					n->objectType = OBJECT_AGGREGATE;
33642 					n->object = (yyvsp[-4].list);
33643 					n->objarg = extractAggrArgTypes((yyvsp[-3].list));
33644 					n->newowner = (yyvsp[0].node);
33645 					(yyval.node) = (Node *)n;
33646 				}
33647 #line 33648 "gram.c" /* yacc.c:1652  */
33648     break;
33649 
33650   case 1221:
33651 #line 8372 "gram.y" /* yacc.c:1652  */
33652     {
33653 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33654 					n->objectType = OBJECT_COLLATION;
33655 					n->object = (yyvsp[-3].list);
33656 					n->newowner = (yyvsp[0].node);
33657 					(yyval.node) = (Node *)n;
33658 				}
33659 #line 33660 "gram.c" /* yacc.c:1652  */
33660     break;
33661 
33662   case 1222:
33663 #line 8380 "gram.y" /* yacc.c:1652  */
33664     {
33665 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33666 					n->objectType = OBJECT_CONVERSION;
33667 					n->object = (yyvsp[-3].list);
33668 					n->newowner = (yyvsp[0].node);
33669 					(yyval.node) = (Node *)n;
33670 				}
33671 #line 33672 "gram.c" /* yacc.c:1652  */
33672     break;
33673 
33674   case 1223:
33675 #line 8388 "gram.y" /* yacc.c:1652  */
33676     {
33677 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33678 					n->objectType = OBJECT_DATABASE;
33679 					n->object = list_make1(makeString((yyvsp[-3].str)));
33680 					n->newowner = (yyvsp[0].node);
33681 					(yyval.node) = (Node *)n;
33682 				}
33683 #line 33684 "gram.c" /* yacc.c:1652  */
33684     break;
33685 
33686   case 1224:
33687 #line 8396 "gram.y" /* yacc.c:1652  */
33688     {
33689 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33690 					n->objectType = OBJECT_DOMAIN;
33691 					n->object = (yyvsp[-3].list);
33692 					n->newowner = (yyvsp[0].node);
33693 					(yyval.node) = (Node *)n;
33694 				}
33695 #line 33696 "gram.c" /* yacc.c:1652  */
33696     break;
33697 
33698   case 1225:
33699 #line 8404 "gram.y" /* yacc.c:1652  */
33700     {
33701 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33702 					n->objectType = OBJECT_FUNCTION;
33703 					n->object = (yyvsp[-3].funwithargs)->funcname;
33704 					n->objarg = (yyvsp[-3].funwithargs)->funcargs;
33705 					n->newowner = (yyvsp[0].node);
33706 					(yyval.node) = (Node *)n;
33707 				}
33708 #line 33709 "gram.c" /* yacc.c:1652  */
33709     break;
33710 
33711   case 1226:
33712 #line 8413 "gram.y" /* yacc.c:1652  */
33713     {
33714 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33715 					n->objectType = OBJECT_LANGUAGE;
33716 					n->object = list_make1(makeString((yyvsp[-3].str)));
33717 					n->newowner = (yyvsp[0].node);
33718 					(yyval.node) = (Node *)n;
33719 				}
33720 #line 33721 "gram.c" /* yacc.c:1652  */
33721     break;
33722 
33723   case 1227:
33724 #line 8421 "gram.y" /* yacc.c:1652  */
33725     {
33726 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33727 					n->objectType = OBJECT_LARGEOBJECT;
33728 					n->object = list_make1((yyvsp[-3].value));
33729 					n->newowner = (yyvsp[0].node);
33730 					(yyval.node) = (Node *)n;
33731 				}
33732 #line 33733 "gram.c" /* yacc.c:1652  */
33733     break;
33734 
33735   case 1228:
33736 #line 8429 "gram.y" /* yacc.c:1652  */
33737     {
33738 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33739 					n->objectType = OBJECT_OPERATOR;
33740 					n->object = (yyvsp[-4].list);
33741 					n->objarg = (yyvsp[-3].list);
33742 					n->newowner = (yyvsp[0].node);
33743 					(yyval.node) = (Node *)n;
33744 				}
33745 #line 33746 "gram.c" /* yacc.c:1652  */
33746     break;
33747 
33748   case 1229:
33749 #line 8438 "gram.y" /* yacc.c:1652  */
33750     {
33751 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33752 					n->objectType = OBJECT_OPCLASS;
33753 					n->object = lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
33754 					n->newowner = (yyvsp[0].node);
33755 					(yyval.node) = (Node *)n;
33756 				}
33757 #line 33758 "gram.c" /* yacc.c:1652  */
33758     break;
33759 
33760   case 1230:
33761 #line 8446 "gram.y" /* yacc.c:1652  */
33762     {
33763 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33764 					n->objectType = OBJECT_OPFAMILY;
33765 					n->object = lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
33766 					n->newowner = (yyvsp[0].node);
33767 					(yyval.node) = (Node *)n;
33768 				}
33769 #line 33770 "gram.c" /* yacc.c:1652  */
33770     break;
33771 
33772   case 1231:
33773 #line 8454 "gram.y" /* yacc.c:1652  */
33774     {
33775 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33776 					n->objectType = OBJECT_SCHEMA;
33777 					n->object = list_make1(makeString((yyvsp[-3].str)));
33778 					n->newowner = (yyvsp[0].node);
33779 					(yyval.node) = (Node *)n;
33780 				}
33781 #line 33782 "gram.c" /* yacc.c:1652  */
33782     break;
33783 
33784   case 1232:
33785 #line 8462 "gram.y" /* yacc.c:1652  */
33786     {
33787 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33788 					n->objectType = OBJECT_TYPE;
33789 					n->object = (yyvsp[-3].list);
33790 					n->newowner = (yyvsp[0].node);
33791 					(yyval.node) = (Node *)n;
33792 				}
33793 #line 33794 "gram.c" /* yacc.c:1652  */
33794     break;
33795 
33796   case 1233:
33797 #line 8470 "gram.y" /* yacc.c:1652  */
33798     {
33799 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33800 					n->objectType = OBJECT_TABLESPACE;
33801 					n->object = list_make1(makeString((yyvsp[-3].str)));
33802 					n->newowner = (yyvsp[0].node);
33803 					(yyval.node) = (Node *)n;
33804 				}
33805 #line 33806 "gram.c" /* yacc.c:1652  */
33806     break;
33807 
33808   case 1234:
33809 #line 8478 "gram.y" /* yacc.c:1652  */
33810     {
33811 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33812 					n->objectType = OBJECT_TSDICTIONARY;
33813 					n->object = (yyvsp[-3].list);
33814 					n->newowner = (yyvsp[0].node);
33815 					(yyval.node) = (Node *)n;
33816 				}
33817 #line 33818 "gram.c" /* yacc.c:1652  */
33818     break;
33819 
33820   case 1235:
33821 #line 8486 "gram.y" /* yacc.c:1652  */
33822     {
33823 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33824 					n->objectType = OBJECT_TSCONFIGURATION;
33825 					n->object = (yyvsp[-3].list);
33826 					n->newowner = (yyvsp[0].node);
33827 					(yyval.node) = (Node *)n;
33828 				}
33829 #line 33830 "gram.c" /* yacc.c:1652  */
33830     break;
33831 
33832   case 1236:
33833 #line 8494 "gram.y" /* yacc.c:1652  */
33834     {
33835 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33836 					n->objectType = OBJECT_FDW;
33837 					n->object = list_make1(makeString((yyvsp[-3].str)));
33838 					n->newowner = (yyvsp[0].node);
33839 					(yyval.node) = (Node *)n;
33840 				}
33841 #line 33842 "gram.c" /* yacc.c:1652  */
33842     break;
33843 
33844   case 1237:
33845 #line 8502 "gram.y" /* yacc.c:1652  */
33846     {
33847 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33848 					n->objectType = OBJECT_FOREIGN_SERVER;
33849 					n->object = list_make1(makeString((yyvsp[-3].str)));
33850 					n->newowner = (yyvsp[0].node);
33851 					(yyval.node) = (Node *)n;
33852 				}
33853 #line 33854 "gram.c" /* yacc.c:1652  */
33854     break;
33855 
33856   case 1238:
33857 #line 8510 "gram.y" /* yacc.c:1652  */
33858     {
33859 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
33860 					n->objectType = OBJECT_EVENT_TRIGGER;
33861 					n->object = list_make1(makeString((yyvsp[-3].str)));
33862 					n->newowner = (yyvsp[0].node);
33863 					(yyval.node) = (Node *)n;
33864 				}
33865 #line 33866 "gram.c" /* yacc.c:1652  */
33866     break;
33867 
33868   case 1239:
33869 #line 8529 "gram.y" /* yacc.c:1652  */
33870     {
33871 					RuleStmt *n = makeNode(RuleStmt);
33872 					n->replace = (yyvsp[-11].boolean);
33873 					n->relation = (yyvsp[-4].range);
33874 					n->rulename = (yyvsp[-9].str);
33875 					n->whereClause = (yyvsp[-3].node);
33876 					n->event = (yyvsp[-6].ival);
33877 					n->instead = (yyvsp[-1].boolean);
33878 					n->actions = (yyvsp[0].list);
33879 					(yyval.node) = (Node *)n;
33880 				}
33881 #line 33882 "gram.c" /* yacc.c:1652  */
33882     break;
33883 
33884   case 1240:
33885 #line 8543 "gram.y" /* yacc.c:1652  */
33886     { (yyval.list) = NIL; }
33887 #line 33888 "gram.c" /* yacc.c:1652  */
33888     break;
33889 
33890   case 1241:
33891 #line 8544 "gram.y" /* yacc.c:1652  */
33892     { (yyval.list) = list_make1((yyvsp[0].node)); }
33893 #line 33894 "gram.c" /* yacc.c:1652  */
33894     break;
33895 
33896   case 1242:
33897 #line 8545 "gram.y" /* yacc.c:1652  */
33898     { (yyval.list) = (yyvsp[-1].list); }
33899 #line 33900 "gram.c" /* yacc.c:1652  */
33900     break;
33901 
33902   case 1243:
33903 #line 8551 "gram.y" /* yacc.c:1652  */
33904     { if ((yyvsp[0].node) != NULL)
33905 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
33906 				  else
33907 					(yyval.list) = (yyvsp[-2].list);
33908 				}
33909 #line 33910 "gram.c" /* yacc.c:1652  */
33910     break;
33911 
33912   case 1244:
33913 #line 8557 "gram.y" /* yacc.c:1652  */
33914     { if ((yyvsp[0].node) != NULL)
33915 					(yyval.list) = list_make1((yyvsp[0].node));
33916 				  else
33917 					(yyval.list) = NIL;
33918 				}
33919 #line 33920 "gram.c" /* yacc.c:1652  */
33920     break;
33921 
33922   case 1250:
33923 #line 8573 "gram.y" /* yacc.c:1652  */
33924     { (yyval.node) = (yyvsp[0].node); }
33925 #line 33926 "gram.c" /* yacc.c:1652  */
33926     break;
33927 
33928   case 1251:
33929 #line 8574 "gram.y" /* yacc.c:1652  */
33930     { (yyval.node) = NULL; }
33931 #line 33932 "gram.c" /* yacc.c:1652  */
33932     break;
33933 
33934   case 1252:
33935 #line 8577 "gram.y" /* yacc.c:1652  */
33936     { (yyval.ival) = CMD_SELECT; }
33937 #line 33938 "gram.c" /* yacc.c:1652  */
33938     break;
33939 
33940   case 1253:
33941 #line 8578 "gram.y" /* yacc.c:1652  */
33942     { (yyval.ival) = CMD_UPDATE; }
33943 #line 33944 "gram.c" /* yacc.c:1652  */
33944     break;
33945 
33946   case 1254:
33947 #line 8579 "gram.y" /* yacc.c:1652  */
33948     { (yyval.ival) = CMD_DELETE; }
33949 #line 33950 "gram.c" /* yacc.c:1652  */
33950     break;
33951 
33952   case 1255:
33953 #line 8580 "gram.y" /* yacc.c:1652  */
33954     { (yyval.ival) = CMD_INSERT; }
33955 #line 33956 "gram.c" /* yacc.c:1652  */
33956     break;
33957 
33958   case 1256:
33959 #line 8584 "gram.y" /* yacc.c:1652  */
33960     { (yyval.boolean) = TRUE; }
33961 #line 33962 "gram.c" /* yacc.c:1652  */
33962     break;
33963 
33964   case 1257:
33965 #line 8585 "gram.y" /* yacc.c:1652  */
33966     { (yyval.boolean) = FALSE; }
33967 #line 33968 "gram.c" /* yacc.c:1652  */
33968     break;
33969 
33970   case 1258:
33971 #line 8586 "gram.y" /* yacc.c:1652  */
33972     { (yyval.boolean) = FALSE; }
33973 #line 33974 "gram.c" /* yacc.c:1652  */
33974     break;
33975 
33976   case 1259:
33977 #line 8592 "gram.y" /* yacc.c:1652  */
33978     {
33979 					DropStmt *n = makeNode(DropStmt);
33980 					n->removeType = OBJECT_RULE;
33981 					n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
33982 					n->arguments = NIL;
33983 					n->behavior = (yyvsp[0].dbehavior);
33984 					n->missing_ok = false;
33985 					n->concurrent = false;
33986 					(yyval.node) = (Node *) n;
33987 				}
33988 #line 33989 "gram.c" /* yacc.c:1652  */
33989     break;
33990 
33991   case 1260:
33992 #line 8603 "gram.y" /* yacc.c:1652  */
33993     {
33994 					DropStmt *n = makeNode(DropStmt);
33995 					n->removeType = OBJECT_RULE;
33996 					n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
33997 					n->arguments = NIL;
33998 					n->behavior = (yyvsp[0].dbehavior);
33999 					n->missing_ok = true;
34000 					n->concurrent = false;
34001 					(yyval.node) = (Node *) n;
34002 				}
34003 #line 34004 "gram.c" /* yacc.c:1652  */
34004     break;
34005 
34006   case 1261:
34007 #line 8625 "gram.y" /* yacc.c:1652  */
34008     {
34009 					NotifyStmt *n = makeNode(NotifyStmt);
34010 					n->conditionname = (yyvsp[-1].str);
34011 					n->payload = (yyvsp[0].str);
34012 					(yyval.node) = (Node *)n;
34013 				}
34014 #line 34015 "gram.c" /* yacc.c:1652  */
34015     break;
34016 
34017   case 1262:
34018 #line 8634 "gram.y" /* yacc.c:1652  */
34019     { (yyval.str) = (yyvsp[0].str); }
34020 #line 34021 "gram.c" /* yacc.c:1652  */
34021     break;
34022 
34023   case 1263:
34024 #line 8635 "gram.y" /* yacc.c:1652  */
34025     { (yyval.str) = NULL; }
34026 #line 34027 "gram.c" /* yacc.c:1652  */
34027     break;
34028 
34029   case 1264:
34030 #line 8639 "gram.y" /* yacc.c:1652  */
34031     {
34032 					ListenStmt *n = makeNode(ListenStmt);
34033 					n->conditionname = (yyvsp[0].str);
34034 					(yyval.node) = (Node *)n;
34035 				}
34036 #line 34037 "gram.c" /* yacc.c:1652  */
34037     break;
34038 
34039   case 1265:
34040 #line 8648 "gram.y" /* yacc.c:1652  */
34041     {
34042 					UnlistenStmt *n = makeNode(UnlistenStmt);
34043 					n->conditionname = (yyvsp[0].str);
34044 					(yyval.node) = (Node *)n;
34045 				}
34046 #line 34047 "gram.c" /* yacc.c:1652  */
34047     break;
34048 
34049   case 1266:
34050 #line 8654 "gram.y" /* yacc.c:1652  */
34051     {
34052 					UnlistenStmt *n = makeNode(UnlistenStmt);
34053 					n->conditionname = NULL;
34054 					(yyval.node) = (Node *)n;
34055 				}
34056 #line 34057 "gram.c" /* yacc.c:1652  */
34057     break;
34058 
34059   case 1267:
34060 #line 8673 "gram.y" /* yacc.c:1652  */
34061     {
34062 					TransactionStmt *n = makeNode(TransactionStmt);
34063 					n->kind = TRANS_STMT_ROLLBACK;
34064 					n->options = NIL;
34065 					(yyval.node) = (Node *)n;
34066 				}
34067 #line 34068 "gram.c" /* yacc.c:1652  */
34068     break;
34069 
34070   case 1268:
34071 #line 8680 "gram.y" /* yacc.c:1652  */
34072     {
34073 					TransactionStmt *n = makeNode(TransactionStmt);
34074 					n->kind = TRANS_STMT_BEGIN;
34075 					n->options = (yyvsp[0].list);
34076 					(yyval.node) = (Node *)n;
34077 				}
34078 #line 34079 "gram.c" /* yacc.c:1652  */
34079     break;
34080 
34081   case 1269:
34082 #line 8687 "gram.y" /* yacc.c:1652  */
34083     {
34084 					TransactionStmt *n = makeNode(TransactionStmt);
34085 					n->kind = TRANS_STMT_START;
34086 					n->options = (yyvsp[0].list);
34087 					(yyval.node) = (Node *)n;
34088 				}
34089 #line 34090 "gram.c" /* yacc.c:1652  */
34090     break;
34091 
34092   case 1270:
34093 #line 8694 "gram.y" /* yacc.c:1652  */
34094     {
34095 					TransactionStmt *n = makeNode(TransactionStmt);
34096 					n->kind = TRANS_STMT_COMMIT;
34097 					n->options = NIL;
34098 					(yyval.node) = (Node *)n;
34099 				}
34100 #line 34101 "gram.c" /* yacc.c:1652  */
34101     break;
34102 
34103   case 1271:
34104 #line 8701 "gram.y" /* yacc.c:1652  */
34105     {
34106 					TransactionStmt *n = makeNode(TransactionStmt);
34107 					n->kind = TRANS_STMT_COMMIT;
34108 					n->options = NIL;
34109 					(yyval.node) = (Node *)n;
34110 				}
34111 #line 34112 "gram.c" /* yacc.c:1652  */
34112     break;
34113 
34114   case 1272:
34115 #line 8708 "gram.y" /* yacc.c:1652  */
34116     {
34117 					TransactionStmt *n = makeNode(TransactionStmt);
34118 					n->kind = TRANS_STMT_ROLLBACK;
34119 					n->options = NIL;
34120 					(yyval.node) = (Node *)n;
34121 				}
34122 #line 34123 "gram.c" /* yacc.c:1652  */
34123     break;
34124 
34125   case 1273:
34126 #line 8715 "gram.y" /* yacc.c:1652  */
34127     {
34128 					TransactionStmt *n = makeNode(TransactionStmt);
34129 					n->kind = TRANS_STMT_SAVEPOINT;
34130 					n->options = list_make1(makeDefElem("savepoint_name",
34131 														(Node *)makeString((yyvsp[0].str))));
34132 					(yyval.node) = (Node *)n;
34133 				}
34134 #line 34135 "gram.c" /* yacc.c:1652  */
34135     break;
34136 
34137   case 1274:
34138 #line 8723 "gram.y" /* yacc.c:1652  */
34139     {
34140 					TransactionStmt *n = makeNode(TransactionStmt);
34141 					n->kind = TRANS_STMT_RELEASE;
34142 					n->options = list_make1(makeDefElem("savepoint_name",
34143 														(Node *)makeString((yyvsp[0].str))));
34144 					(yyval.node) = (Node *)n;
34145 				}
34146 #line 34147 "gram.c" /* yacc.c:1652  */
34147     break;
34148 
34149   case 1275:
34150 #line 8731 "gram.y" /* yacc.c:1652  */
34151     {
34152 					TransactionStmt *n = makeNode(TransactionStmt);
34153 					n->kind = TRANS_STMT_RELEASE;
34154 					n->options = list_make1(makeDefElem("savepoint_name",
34155 														(Node *)makeString((yyvsp[0].str))));
34156 					(yyval.node) = (Node *)n;
34157 				}
34158 #line 34159 "gram.c" /* yacc.c:1652  */
34159     break;
34160 
34161   case 1276:
34162 #line 8739 "gram.y" /* yacc.c:1652  */
34163     {
34164 					TransactionStmt *n = makeNode(TransactionStmt);
34165 					n->kind = TRANS_STMT_ROLLBACK_TO;
34166 					n->options = list_make1(makeDefElem("savepoint_name",
34167 														(Node *)makeString((yyvsp[0].str))));
34168 					(yyval.node) = (Node *)n;
34169 				}
34170 #line 34171 "gram.c" /* yacc.c:1652  */
34171     break;
34172 
34173   case 1277:
34174 #line 8747 "gram.y" /* yacc.c:1652  */
34175     {
34176 					TransactionStmt *n = makeNode(TransactionStmt);
34177 					n->kind = TRANS_STMT_ROLLBACK_TO;
34178 					n->options = list_make1(makeDefElem("savepoint_name",
34179 														(Node *)makeString((yyvsp[0].str))));
34180 					(yyval.node) = (Node *)n;
34181 				}
34182 #line 34183 "gram.c" /* yacc.c:1652  */
34183     break;
34184 
34185   case 1278:
34186 #line 8755 "gram.y" /* yacc.c:1652  */
34187     {
34188 					TransactionStmt *n = makeNode(TransactionStmt);
34189 					n->kind = TRANS_STMT_PREPARE;
34190 					n->gid = (yyvsp[0].str);
34191 					(yyval.node) = (Node *)n;
34192 				}
34193 #line 34194 "gram.c" /* yacc.c:1652  */
34194     break;
34195 
34196   case 1279:
34197 #line 8762 "gram.y" /* yacc.c:1652  */
34198     {
34199 					TransactionStmt *n = makeNode(TransactionStmt);
34200 					n->kind = TRANS_STMT_COMMIT_PREPARED;
34201 					n->gid = (yyvsp[0].str);
34202 					(yyval.node) = (Node *)n;
34203 				}
34204 #line 34205 "gram.c" /* yacc.c:1652  */
34205     break;
34206 
34207   case 1280:
34208 #line 8769 "gram.y" /* yacc.c:1652  */
34209     {
34210 					TransactionStmt *n = makeNode(TransactionStmt);
34211 					n->kind = TRANS_STMT_ROLLBACK_PREPARED;
34212 					n->gid = (yyvsp[0].str);
34213 					(yyval.node) = (Node *)n;
34214 				}
34215 #line 34216 "gram.c" /* yacc.c:1652  */
34216     break;
34217 
34218   case 1281:
34219 #line 8777 "gram.y" /* yacc.c:1652  */
34220     {}
34221 #line 34222 "gram.c" /* yacc.c:1652  */
34222     break;
34223 
34224   case 1282:
34225 #line 8778 "gram.y" /* yacc.c:1652  */
34226     {}
34227 #line 34228 "gram.c" /* yacc.c:1652  */
34228     break;
34229 
34230   case 1283:
34231 #line 8779 "gram.y" /* yacc.c:1652  */
34232     {}
34233 #line 34234 "gram.c" /* yacc.c:1652  */
34234     break;
34235 
34236   case 1284:
34237 #line 8784 "gram.y" /* yacc.c:1652  */
34238     { (yyval.defelt) = makeDefElem("transaction_isolation",
34239 									   makeStringConst((yyvsp[0].str), (yylsp[0]))); }
34240 #line 34241 "gram.c" /* yacc.c:1652  */
34241     break;
34242 
34243   case 1285:
34244 #line 8787 "gram.y" /* yacc.c:1652  */
34245     { (yyval.defelt) = makeDefElem("transaction_read_only",
34246 									   makeIntConst(TRUE, (yylsp[-1]))); }
34247 #line 34248 "gram.c" /* yacc.c:1652  */
34248     break;
34249 
34250   case 1286:
34251 #line 8790 "gram.y" /* yacc.c:1652  */
34252     { (yyval.defelt) = makeDefElem("transaction_read_only",
34253 									   makeIntConst(FALSE, (yylsp[-1]))); }
34254 #line 34255 "gram.c" /* yacc.c:1652  */
34255     break;
34256 
34257   case 1287:
34258 #line 8793 "gram.y" /* yacc.c:1652  */
34259     { (yyval.defelt) = makeDefElem("transaction_deferrable",
34260 									   makeIntConst(TRUE, (yylsp[0]))); }
34261 #line 34262 "gram.c" /* yacc.c:1652  */
34262     break;
34263 
34264   case 1288:
34265 #line 8796 "gram.y" /* yacc.c:1652  */
34266     { (yyval.defelt) = makeDefElem("transaction_deferrable",
34267 									   makeIntConst(FALSE, (yylsp[-1]))); }
34268 #line 34269 "gram.c" /* yacc.c:1652  */
34269     break;
34270 
34271   case 1289:
34272 #line 8803 "gram.y" /* yacc.c:1652  */
34273     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
34274 #line 34275 "gram.c" /* yacc.c:1652  */
34275     break;
34276 
34277   case 1290:
34278 #line 8805 "gram.y" /* yacc.c:1652  */
34279     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
34280 #line 34281 "gram.c" /* yacc.c:1652  */
34281     break;
34282 
34283   case 1291:
34284 #line 8807 "gram.y" /* yacc.c:1652  */
34285     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
34286 #line 34287 "gram.c" /* yacc.c:1652  */
34287     break;
34288 
34289   case 1293:
34290 #line 8813 "gram.y" /* yacc.c:1652  */
34291     { (yyval.list) = NIL; }
34292 #line 34293 "gram.c" /* yacc.c:1652  */
34293     break;
34294 
34295   case 1294:
34296 #line 8827 "gram.y" /* yacc.c:1652  */
34297     {
34298 					ViewStmt *n = makeNode(ViewStmt);
34299 					n->view = (yyvsp[-5].range);
34300 					n->view->relpersistence = (yyvsp[-7].ival);
34301 					n->aliases = (yyvsp[-4].list);
34302 					n->query = (yyvsp[-1].node);
34303 					n->replace = false;
34304 					n->options = (yyvsp[-3].list);
34305 					n->withCheckOption = (yyvsp[0].ival);
34306 					(yyval.node) = (Node *) n;
34307 				}
34308 #line 34309 "gram.c" /* yacc.c:1652  */
34309     break;
34310 
34311   case 1295:
34312 #line 8840 "gram.y" /* yacc.c:1652  */
34313     {
34314 					ViewStmt *n = makeNode(ViewStmt);
34315 					n->view = (yyvsp[-5].range);
34316 					n->view->relpersistence = (yyvsp[-7].ival);
34317 					n->aliases = (yyvsp[-4].list);
34318 					n->query = (yyvsp[-1].node);
34319 					n->replace = true;
34320 					n->options = (yyvsp[-3].list);
34321 					n->withCheckOption = (yyvsp[0].ival);
34322 					(yyval.node) = (Node *) n;
34323 				}
34324 #line 34325 "gram.c" /* yacc.c:1652  */
34325     break;
34326 
34327   case 1296:
34328 #line 8853 "gram.y" /* yacc.c:1652  */
34329     {
34330 					ViewStmt *n = makeNode(ViewStmt);
34331 					n->view = (yyvsp[-7].range);
34332 					n->view->relpersistence = (yyvsp[-10].ival);
34333 					n->aliases = (yyvsp[-5].list);
34334 					n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
34335 					n->replace = false;
34336 					n->options = (yyvsp[-3].list);
34337 					n->withCheckOption = (yyvsp[0].ival);
34338 					if (n->withCheckOption != NO_CHECK_OPTION)
34339 						ereport(ERROR,
34340 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
34341 								 errmsg("WITH CHECK OPTION not supported on recursive views"),
34342 								 parser_errposition((yylsp[0]))));
34343 					(yyval.node) = (Node *) n;
34344 				}
34345 #line 34346 "gram.c" /* yacc.c:1652  */
34346     break;
34347 
34348   case 1297:
34349 #line 8871 "gram.y" /* yacc.c:1652  */
34350     {
34351 					ViewStmt *n = makeNode(ViewStmt);
34352 					n->view = (yyvsp[-7].range);
34353 					n->view->relpersistence = (yyvsp[-10].ival);
34354 					n->aliases = (yyvsp[-5].list);
34355 					n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
34356 					n->replace = true;
34357 					n->options = (yyvsp[-3].list);
34358 					n->withCheckOption = (yyvsp[0].ival);
34359 					if (n->withCheckOption != NO_CHECK_OPTION)
34360 						ereport(ERROR,
34361 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
34362 								 errmsg("WITH CHECK OPTION not supported on recursive views"),
34363 								 parser_errposition((yylsp[0]))));
34364 					(yyval.node) = (Node *) n;
34365 				}
34366 #line 34367 "gram.c" /* yacc.c:1652  */
34367     break;
34368 
34369   case 1298:
34370 #line 8890 "gram.y" /* yacc.c:1652  */
34371     { (yyval.ival) = CASCADED_CHECK_OPTION; }
34372 #line 34373 "gram.c" /* yacc.c:1652  */
34373     break;
34374 
34375   case 1299:
34376 #line 8891 "gram.y" /* yacc.c:1652  */
34377     { (yyval.ival) = CASCADED_CHECK_OPTION; }
34378 #line 34379 "gram.c" /* yacc.c:1652  */
34379     break;
34380 
34381   case 1300:
34382 #line 8892 "gram.y" /* yacc.c:1652  */
34383     { (yyval.ival) = LOCAL_CHECK_OPTION; }
34384 #line 34385 "gram.c" /* yacc.c:1652  */
34385     break;
34386 
34387   case 1301:
34388 #line 8893 "gram.y" /* yacc.c:1652  */
34389     { (yyval.ival) = NO_CHECK_OPTION; }
34390 #line 34391 "gram.c" /* yacc.c:1652  */
34391     break;
34392 
34393   case 1302:
34394 #line 8904 "gram.y" /* yacc.c:1652  */
34395     {
34396 					LoadStmt *n = makeNode(LoadStmt);
34397 					n->filename = (yyvsp[0].str);
34398 					(yyval.node) = (Node *)n;
34399 				}
34400 #line 34401 "gram.c" /* yacc.c:1652  */
34401     break;
34402 
34403   case 1303:
34404 #line 8920 "gram.y" /* yacc.c:1652  */
34405     {
34406 					CreatedbStmt *n = makeNode(CreatedbStmt);
34407 					n->dbname = (yyvsp[-2].str);
34408 					n->options = (yyvsp[0].list);
34409 					(yyval.node) = (Node *)n;
34410 				}
34411 #line 34412 "gram.c" /* yacc.c:1652  */
34412     break;
34413 
34414   case 1304:
34415 #line 8929 "gram.y" /* yacc.c:1652  */
34416     { (yyval.list) = (yyvsp[0].list); }
34417 #line 34418 "gram.c" /* yacc.c:1652  */
34418     break;
34419 
34420   case 1305:
34421 #line 8930 "gram.y" /* yacc.c:1652  */
34422     { (yyval.list) = NIL; }
34423 #line 34424 "gram.c" /* yacc.c:1652  */
34424     break;
34425 
34426   case 1306:
34427 #line 8934 "gram.y" /* yacc.c:1652  */
34428     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
34429 #line 34430 "gram.c" /* yacc.c:1652  */
34430     break;
34431 
34432   case 1307:
34433 #line 8935 "gram.y" /* yacc.c:1652  */
34434     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
34435 #line 34436 "gram.c" /* yacc.c:1652  */
34436     break;
34437 
34438   case 1308:
34439 #line 8940 "gram.y" /* yacc.c:1652  */
34440     {
34441 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeInteger((yyvsp[0].ival)));
34442 				}
34443 #line 34444 "gram.c" /* yacc.c:1652  */
34444     break;
34445 
34446   case 1309:
34447 #line 8944 "gram.y" /* yacc.c:1652  */
34448     {
34449 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeString((yyvsp[0].str)));
34450 				}
34451 #line 34452 "gram.c" /* yacc.c:1652  */
34452     break;
34453 
34454   case 1310:
34455 #line 8948 "gram.y" /* yacc.c:1652  */
34456     {
34457 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL);
34458 				}
34459 #line 34460 "gram.c" /* yacc.c:1652  */
34460     break;
34461 
34462   case 1311:
34463 #line 8965 "gram.y" /* yacc.c:1652  */
34464     { (yyval.str) = (yyvsp[0].str); }
34465 #line 34466 "gram.c" /* yacc.c:1652  */
34466     break;
34467 
34468   case 1312:
34469 #line 8966 "gram.y" /* yacc.c:1652  */
34470     { (yyval.str) = pstrdup("connection_limit"); }
34471 #line 34472 "gram.c" /* yacc.c:1652  */
34472     break;
34473 
34474   case 1313:
34475 #line 8967 "gram.y" /* yacc.c:1652  */
34476     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
34477 #line 34478 "gram.c" /* yacc.c:1652  */
34478     break;
34479 
34480   case 1314:
34481 #line 8968 "gram.y" /* yacc.c:1652  */
34482     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
34483 #line 34484 "gram.c" /* yacc.c:1652  */
34484     break;
34485 
34486   case 1315:
34487 #line 8969 "gram.y" /* yacc.c:1652  */
34488     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
34489 #line 34490 "gram.c" /* yacc.c:1652  */
34490     break;
34491 
34492   case 1316:
34493 #line 8970 "gram.y" /* yacc.c:1652  */
34494     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
34495 #line 34496 "gram.c" /* yacc.c:1652  */
34496     break;
34497 
34498   case 1317:
34499 #line 8971 "gram.y" /* yacc.c:1652  */
34500     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
34501 #line 34502 "gram.c" /* yacc.c:1652  */
34502     break;
34503 
34504   case 1318:
34505 #line 8978 "gram.y" /* yacc.c:1652  */
34506     {}
34507 #line 34508 "gram.c" /* yacc.c:1652  */
34508     break;
34509 
34510   case 1319:
34511 #line 8979 "gram.y" /* yacc.c:1652  */
34512     {}
34513 #line 34514 "gram.c" /* yacc.c:1652  */
34514     break;
34515 
34516   case 1320:
34517 #line 8991 "gram.y" /* yacc.c:1652  */
34518     {
34519 					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
34520 					n->dbname = (yyvsp[-2].str);
34521 					n->options = (yyvsp[0].list);
34522 					(yyval.node) = (Node *)n;
34523 				 }
34524 #line 34525 "gram.c" /* yacc.c:1652  */
34525     break;
34526 
34527   case 1321:
34528 #line 8998 "gram.y" /* yacc.c:1652  */
34529     {
34530 					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
34531 					n->dbname = (yyvsp[-1].str);
34532 					n->options = (yyvsp[0].list);
34533 					(yyval.node) = (Node *)n;
34534 				 }
34535 #line 34536 "gram.c" /* yacc.c:1652  */
34536     break;
34537 
34538   case 1322:
34539 #line 9005 "gram.y" /* yacc.c:1652  */
34540     {
34541 					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
34542 					n->dbname = (yyvsp[-3].str);
34543 					n->options = list_make1(makeDefElem("tablespace",
34544 													(Node *)makeString((yyvsp[0].str))));
34545 					(yyval.node) = (Node *)n;
34546 				 }
34547 #line 34548 "gram.c" /* yacc.c:1652  */
34548     break;
34549 
34550   case 1323:
34551 #line 9016 "gram.y" /* yacc.c:1652  */
34552     {
34553 					AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
34554 					n->dbname = (yyvsp[-1].str);
34555 					n->setstmt = (yyvsp[0].vsetstmt);
34556 					(yyval.node) = (Node *)n;
34557 				}
34558 #line 34559 "gram.c" /* yacc.c:1652  */
34559     break;
34560 
34561   case 1324:
34562 #line 9033 "gram.y" /* yacc.c:1652  */
34563     {
34564 					DropdbStmt *n = makeNode(DropdbStmt);
34565 					n->dbname = (yyvsp[0].str);
34566 					n->missing_ok = FALSE;
34567 					(yyval.node) = (Node *)n;
34568 				}
34569 #line 34570 "gram.c" /* yacc.c:1652  */
34570     break;
34571 
34572   case 1325:
34573 #line 9040 "gram.y" /* yacc.c:1652  */
34574     {
34575 					DropdbStmt *n = makeNode(DropdbStmt);
34576 					n->dbname = (yyvsp[0].str);
34577 					n->missing_ok = TRUE;
34578 					(yyval.node) = (Node *)n;
34579 				}
34580 #line 34581 "gram.c" /* yacc.c:1652  */
34581     break;
34582 
34583   case 1326:
34584 #line 9058 "gram.y" /* yacc.c:1652  */
34585     {
34586 					AlterSystemStmt *n = makeNode(AlterSystemStmt);
34587 					n->setstmt = (yyvsp[0].vsetstmt);
34588 					(yyval.node) = (Node *)n;
34589 				}
34590 #line 34591 "gram.c" /* yacc.c:1652  */
34591     break;
34592 
34593   case 1327:
34594 #line 9064 "gram.y" /* yacc.c:1652  */
34595     {
34596 					AlterSystemStmt *n = makeNode(AlterSystemStmt);
34597 					n->setstmt = (yyvsp[0].vsetstmt);
34598 					(yyval.node) = (Node *)n;
34599 				}
34600 #line 34601 "gram.c" /* yacc.c:1652  */
34601     break;
34602 
34603   case 1328:
34604 #line 9080 "gram.y" /* yacc.c:1652  */
34605     {
34606 					CreateDomainStmt *n = makeNode(CreateDomainStmt);
34607 					n->domainname = (yyvsp[-3].list);
34608 					n->typeName = (yyvsp[-1].typnam);
34609 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
34610 									 yyscanner);
34611 					(yyval.node) = (Node *)n;
34612 				}
34613 #line 34614 "gram.c" /* yacc.c:1652  */
34614     break;
34615 
34616   case 1329:
34617 #line 9093 "gram.y" /* yacc.c:1652  */
34618     {
34619 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
34620 					n->subtype = 'T';
34621 					n->typeName = (yyvsp[-1].list);
34622 					n->def = (yyvsp[0].node);
34623 					(yyval.node) = (Node *)n;
34624 				}
34625 #line 34626 "gram.c" /* yacc.c:1652  */
34626     break;
34627 
34628   case 1330:
34629 #line 9102 "gram.y" /* yacc.c:1652  */
34630     {
34631 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
34632 					n->subtype = 'N';
34633 					n->typeName = (yyvsp[-3].list);
34634 					(yyval.node) = (Node *)n;
34635 				}
34636 #line 34637 "gram.c" /* yacc.c:1652  */
34637     break;
34638 
34639   case 1331:
34640 #line 9110 "gram.y" /* yacc.c:1652  */
34641     {
34642 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
34643 					n->subtype = 'O';
34644 					n->typeName = (yyvsp[-3].list);
34645 					(yyval.node) = (Node *)n;
34646 				}
34647 #line 34648 "gram.c" /* yacc.c:1652  */
34648     break;
34649 
34650   case 1332:
34651 #line 9118 "gram.y" /* yacc.c:1652  */
34652     {
34653 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
34654 					n->subtype = 'C';
34655 					n->typeName = (yyvsp[-2].list);
34656 					n->def = (yyvsp[0].node);
34657 					(yyval.node) = (Node *)n;
34658 				}
34659 #line 34660 "gram.c" /* yacc.c:1652  */
34660     break;
34661 
34662   case 1333:
34663 #line 9127 "gram.y" /* yacc.c:1652  */
34664     {
34665 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
34666 					n->subtype = 'X';
34667 					n->typeName = (yyvsp[-4].list);
34668 					n->name = (yyvsp[-1].str);
34669 					n->behavior = (yyvsp[0].dbehavior);
34670 					n->missing_ok = false;
34671 					(yyval.node) = (Node *)n;
34672 				}
34673 #line 34674 "gram.c" /* yacc.c:1652  */
34674     break;
34675 
34676   case 1334:
34677 #line 9138 "gram.y" /* yacc.c:1652  */
34678     {
34679 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
34680 					n->subtype = 'X';
34681 					n->typeName = (yyvsp[-6].list);
34682 					n->name = (yyvsp[-1].str);
34683 					n->behavior = (yyvsp[0].dbehavior);
34684 					n->missing_ok = true;
34685 					(yyval.node) = (Node *)n;
34686 				}
34687 #line 34688 "gram.c" /* yacc.c:1652  */
34688     break;
34689 
34690   case 1335:
34691 #line 9149 "gram.y" /* yacc.c:1652  */
34692     {
34693 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
34694 					n->subtype = 'V';
34695 					n->typeName = (yyvsp[-3].list);
34696 					n->name = (yyvsp[0].str);
34697 					(yyval.node) = (Node *)n;
34698 				}
34699 #line 34700 "gram.c" /* yacc.c:1652  */
34700     break;
34701 
34702   case 1336:
34703 #line 9158 "gram.y" /* yacc.c:1652  */
34704     {}
34705 #line 34706 "gram.c" /* yacc.c:1652  */
34706     break;
34707 
34708   case 1337:
34709 #line 9159 "gram.y" /* yacc.c:1652  */
34710     {}
34711 #line 34712 "gram.c" /* yacc.c:1652  */
34712     break;
34713 
34714   case 1338:
34715 #line 9171 "gram.y" /* yacc.c:1652  */
34716     {
34717 					AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
34718 					n->dictname = (yyvsp[-1].list);
34719 					n->options = (yyvsp[0].list);
34720 					(yyval.node) = (Node *)n;
34721 				}
34722 #line 34723 "gram.c" /* yacc.c:1652  */
34723     break;
34724 
34725   case 1339:
34726 #line 9181 "gram.y" /* yacc.c:1652  */
34727     {
34728 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
34729 					n->kind = ALTER_TSCONFIG_ADD_MAPPING;
34730 					n->cfgname = (yyvsp[-6].list);
34731 					n->tokentype = (yyvsp[-2].list);
34732 					n->dicts = (yyvsp[0].list);
34733 					n->override = false;
34734 					n->replace = false;
34735 					(yyval.node) = (Node*)n;
34736 				}
34737 #line 34738 "gram.c" /* yacc.c:1652  */
34738     break;
34739 
34740   case 1340:
34741 #line 9192 "gram.y" /* yacc.c:1652  */
34742     {
34743 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
34744 					n->kind = ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN;
34745 					n->cfgname = (yyvsp[-6].list);
34746 					n->tokentype = (yyvsp[-2].list);
34747 					n->dicts = (yyvsp[0].list);
34748 					n->override = true;
34749 					n->replace = false;
34750 					(yyval.node) = (Node*)n;
34751 				}
34752 #line 34753 "gram.c" /* yacc.c:1652  */
34753     break;
34754 
34755   case 1341:
34756 #line 9203 "gram.y" /* yacc.c:1652  */
34757     {
34758 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
34759 					n->kind = ALTER_TSCONFIG_REPLACE_DICT;
34760 					n->cfgname = (yyvsp[-6].list);
34761 					n->tokentype = NIL;
34762 					n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
34763 					n->override = false;
34764 					n->replace = true;
34765 					(yyval.node) = (Node*)n;
34766 				}
34767 #line 34768 "gram.c" /* yacc.c:1652  */
34768     break;
34769 
34770   case 1342:
34771 #line 9214 "gram.y" /* yacc.c:1652  */
34772     {
34773 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
34774 					n->kind = ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN;
34775 					n->cfgname = (yyvsp[-8].list);
34776 					n->tokentype = (yyvsp[-4].list);
34777 					n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
34778 					n->override = false;
34779 					n->replace = true;
34780 					(yyval.node) = (Node*)n;
34781 				}
34782 #line 34783 "gram.c" /* yacc.c:1652  */
34783     break;
34784 
34785   case 1343:
34786 #line 9225 "gram.y" /* yacc.c:1652  */
34787     {
34788 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
34789 					n->kind = ALTER_TSCONFIG_DROP_MAPPING;
34790 					n->cfgname = (yyvsp[-4].list);
34791 					n->tokentype = (yyvsp[0].list);
34792 					n->missing_ok = false;
34793 					(yyval.node) = (Node*)n;
34794 				}
34795 #line 34796 "gram.c" /* yacc.c:1652  */
34796     break;
34797 
34798   case 1344:
34799 #line 9234 "gram.y" /* yacc.c:1652  */
34800     {
34801 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
34802 					n->kind = ALTER_TSCONFIG_DROP_MAPPING;
34803 					n->cfgname = (yyvsp[-6].list);
34804 					n->tokentype = (yyvsp[0].list);
34805 					n->missing_ok = true;
34806 					(yyval.node) = (Node*)n;
34807 				}
34808 #line 34809 "gram.c" /* yacc.c:1652  */
34809     break;
34810 
34811   case 1345:
34812 #line 9245 "gram.y" /* yacc.c:1652  */
34813     {}
34814 #line 34815 "gram.c" /* yacc.c:1652  */
34815     break;
34816 
34817   case 1346:
34818 #line 9246 "gram.y" /* yacc.c:1652  */
34819     {}
34820 #line 34821 "gram.c" /* yacc.c:1652  */
34821     break;
34822 
34823   case 1347:
34824 #line 9262 "gram.y" /* yacc.c:1652  */
34825     {
34826 				CreateConversionStmt *n = makeNode(CreateConversionStmt);
34827 				n->conversion_name = (yyvsp[-6].list);
34828 				n->for_encoding_name = (yyvsp[-4].str);
34829 				n->to_encoding_name = (yyvsp[-2].str);
34830 				n->func_name = (yyvsp[0].list);
34831 				n->def = (yyvsp[-8].boolean);
34832 				(yyval.node) = (Node *)n;
34833 			}
34834 #line 34835 "gram.c" /* yacc.c:1652  */
34835     break;
34836 
34837   case 1348:
34838 #line 9284 "gram.y" /* yacc.c:1652  */
34839     {
34840 					ClusterStmt *n = makeNode(ClusterStmt);
34841 					n->relation = (yyvsp[-1].range);
34842 					n->indexname = (yyvsp[0].str);
34843 					n->verbose = (yyvsp[-2].boolean);
34844 					(yyval.node) = (Node*)n;
34845 				}
34846 #line 34847 "gram.c" /* yacc.c:1652  */
34847     break;
34848 
34849   case 1349:
34850 #line 9292 "gram.y" /* yacc.c:1652  */
34851     {
34852 					ClusterStmt *n = makeNode(ClusterStmt);
34853 					n->relation = NULL;
34854 					n->indexname = NULL;
34855 					n->verbose = (yyvsp[0].boolean);
34856 					(yyval.node) = (Node*)n;
34857 				}
34858 #line 34859 "gram.c" /* yacc.c:1652  */
34859     break;
34860 
34861   case 1350:
34862 #line 9301 "gram.y" /* yacc.c:1652  */
34863     {
34864 					ClusterStmt *n = makeNode(ClusterStmt);
34865 					n->relation = (yyvsp[0].range);
34866 					n->indexname = (yyvsp[-2].str);
34867 					n->verbose = (yyvsp[-3].boolean);
34868 					(yyval.node) = (Node*)n;
34869 				}
34870 #line 34871 "gram.c" /* yacc.c:1652  */
34871     break;
34872 
34873   case 1351:
34874 #line 9311 "gram.y" /* yacc.c:1652  */
34875     { (yyval.str) = (yyvsp[0].str); }
34876 #line 34877 "gram.c" /* yacc.c:1652  */
34877     break;
34878 
34879   case 1352:
34880 #line 9312 "gram.y" /* yacc.c:1652  */
34881     { (yyval.str) = NULL; }
34882 #line 34883 "gram.c" /* yacc.c:1652  */
34883     break;
34884 
34885   case 1353:
34886 #line 9325 "gram.y" /* yacc.c:1652  */
34887     {
34888 					VacuumStmt *n = makeNode(VacuumStmt);
34889 					n->options = VACOPT_VACUUM;
34890 					if ((yyvsp[-2].boolean))
34891 						n->options |= VACOPT_FULL;
34892 					if ((yyvsp[-1].boolean))
34893 						n->options |= VACOPT_FREEZE;
34894 					if ((yyvsp[0].boolean))
34895 						n->options |= VACOPT_VERBOSE;
34896 					n->relation = NULL;
34897 					n->va_cols = NIL;
34898 					(yyval.node) = (Node *)n;
34899 				}
34900 #line 34901 "gram.c" /* yacc.c:1652  */
34901     break;
34902 
34903   case 1354:
34904 #line 9339 "gram.y" /* yacc.c:1652  */
34905     {
34906 					VacuumStmt *n = makeNode(VacuumStmt);
34907 					n->options = VACOPT_VACUUM;
34908 					if ((yyvsp[-3].boolean))
34909 						n->options |= VACOPT_FULL;
34910 					if ((yyvsp[-2].boolean))
34911 						n->options |= VACOPT_FREEZE;
34912 					if ((yyvsp[-1].boolean))
34913 						n->options |= VACOPT_VERBOSE;
34914 					n->relation = (yyvsp[0].range);
34915 					n->va_cols = NIL;
34916 					(yyval.node) = (Node *)n;
34917 				}
34918 #line 34919 "gram.c" /* yacc.c:1652  */
34919     break;
34920 
34921   case 1355:
34922 #line 9353 "gram.y" /* yacc.c:1652  */
34923     {
34924 					VacuumStmt *n = (VacuumStmt *) (yyvsp[0].node);
34925 					n->options |= VACOPT_VACUUM;
34926 					if ((yyvsp[-3].boolean))
34927 						n->options |= VACOPT_FULL;
34928 					if ((yyvsp[-2].boolean))
34929 						n->options |= VACOPT_FREEZE;
34930 					if ((yyvsp[-1].boolean))
34931 						n->options |= VACOPT_VERBOSE;
34932 					(yyval.node) = (Node *)n;
34933 				}
34934 #line 34935 "gram.c" /* yacc.c:1652  */
34935     break;
34936 
34937   case 1356:
34938 #line 9365 "gram.y" /* yacc.c:1652  */
34939     {
34940 					VacuumStmt *n = makeNode(VacuumStmt);
34941 					n->options = VACOPT_VACUUM | (yyvsp[-1].ival);
34942 					n->relation = NULL;
34943 					n->va_cols = NIL;
34944 					(yyval.node) = (Node *) n;
34945 				}
34946 #line 34947 "gram.c" /* yacc.c:1652  */
34947     break;
34948 
34949   case 1357:
34950 #line 9373 "gram.y" /* yacc.c:1652  */
34951     {
34952 					VacuumStmt *n = makeNode(VacuumStmt);
34953 					n->options = VACOPT_VACUUM | (yyvsp[-3].ival);
34954 					n->relation = (yyvsp[-1].range);
34955 					n->va_cols = (yyvsp[0].list);
34956 					if (n->va_cols != NIL)	/* implies analyze */
34957 						n->options |= VACOPT_ANALYZE;
34958 					(yyval.node) = (Node *) n;
34959 				}
34960 #line 34961 "gram.c" /* yacc.c:1652  */
34961     break;
34962 
34963   case 1358:
34964 #line 9385 "gram.y" /* yacc.c:1652  */
34965     { (yyval.ival) = (yyvsp[0].ival); }
34966 #line 34967 "gram.c" /* yacc.c:1652  */
34967     break;
34968 
34969   case 1359:
34970 #line 9386 "gram.y" /* yacc.c:1652  */
34971     { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
34972 #line 34973 "gram.c" /* yacc.c:1652  */
34973     break;
34974 
34975   case 1360:
34976 #line 9390 "gram.y" /* yacc.c:1652  */
34977     { (yyval.ival) = VACOPT_ANALYZE; }
34978 #line 34979 "gram.c" /* yacc.c:1652  */
34979     break;
34980 
34981   case 1361:
34982 #line 9391 "gram.y" /* yacc.c:1652  */
34983     { (yyval.ival) = VACOPT_VERBOSE; }
34984 #line 34985 "gram.c" /* yacc.c:1652  */
34985     break;
34986 
34987   case 1362:
34988 #line 9392 "gram.y" /* yacc.c:1652  */
34989     { (yyval.ival) = VACOPT_FREEZE; }
34990 #line 34991 "gram.c" /* yacc.c:1652  */
34991     break;
34992 
34993   case 1363:
34994 #line 9393 "gram.y" /* yacc.c:1652  */
34995     { (yyval.ival) = VACOPT_FULL; }
34996 #line 34997 "gram.c" /* yacc.c:1652  */
34997     break;
34998 
34999   case 1364:
35000 #line 9395 "gram.y" /* yacc.c:1652  */
35001     {
35002 					if (strcmp((yyvsp[0].str), "disable_page_skipping") == 0)
35003 						(yyval.ival) = VACOPT_DISABLE_PAGE_SKIPPING;
35004 					else
35005 						ereport(ERROR,
35006 								(errcode(ERRCODE_SYNTAX_ERROR),
35007 							 errmsg("unrecognized VACUUM option \"%s\"", (yyvsp[0].str)),
35008 									 parser_errposition((yylsp[0]))));
35009 				}
35010 #line 35011 "gram.c" /* yacc.c:1652  */
35011     break;
35012 
35013   case 1365:
35014 #line 9408 "gram.y" /* yacc.c:1652  */
35015     {
35016 					VacuumStmt *n = makeNode(VacuumStmt);
35017 					n->options = VACOPT_ANALYZE;
35018 					if ((yyvsp[0].boolean))
35019 						n->options |= VACOPT_VERBOSE;
35020 					n->relation = NULL;
35021 					n->va_cols = NIL;
35022 					(yyval.node) = (Node *)n;
35023 				}
35024 #line 35025 "gram.c" /* yacc.c:1652  */
35025     break;
35026 
35027   case 1366:
35028 #line 9418 "gram.y" /* yacc.c:1652  */
35029     {
35030 					VacuumStmt *n = makeNode(VacuumStmt);
35031 					n->options = VACOPT_ANALYZE;
35032 					if ((yyvsp[-2].boolean))
35033 						n->options |= VACOPT_VERBOSE;
35034 					n->relation = (yyvsp[-1].range);
35035 					n->va_cols = (yyvsp[0].list);
35036 					(yyval.node) = (Node *)n;
35037 				}
35038 #line 35039 "gram.c" /* yacc.c:1652  */
35039     break;
35040 
35041   case 1367:
35042 #line 9430 "gram.y" /* yacc.c:1652  */
35043     {}
35044 #line 35045 "gram.c" /* yacc.c:1652  */
35045     break;
35046 
35047   case 1368:
35048 #line 9431 "gram.y" /* yacc.c:1652  */
35049     {}
35050 #line 35051 "gram.c" /* yacc.c:1652  */
35051     break;
35052 
35053   case 1369:
35054 #line 9435 "gram.y" /* yacc.c:1652  */
35055     { (yyval.boolean) = TRUE; }
35056 #line 35057 "gram.c" /* yacc.c:1652  */
35057     break;
35058 
35059   case 1370:
35060 #line 9436 "gram.y" /* yacc.c:1652  */
35061     { (yyval.boolean) = FALSE; }
35062 #line 35063 "gram.c" /* yacc.c:1652  */
35063     break;
35064 
35065   case 1371:
35066 #line 9439 "gram.y" /* yacc.c:1652  */
35067     { (yyval.boolean) = TRUE; }
35068 #line 35069 "gram.c" /* yacc.c:1652  */
35069     break;
35070 
35071   case 1372:
35072 #line 9440 "gram.y" /* yacc.c:1652  */
35073     { (yyval.boolean) = FALSE; }
35074 #line 35075 "gram.c" /* yacc.c:1652  */
35075     break;
35076 
35077   case 1373:
35078 #line 9443 "gram.y" /* yacc.c:1652  */
35079     { (yyval.boolean) = TRUE; }
35080 #line 35081 "gram.c" /* yacc.c:1652  */
35081     break;
35082 
35083   case 1374:
35084 #line 9444 "gram.y" /* yacc.c:1652  */
35085     { (yyval.boolean) = FALSE; }
35086 #line 35087 "gram.c" /* yacc.c:1652  */
35087     break;
35088 
35089   case 1375:
35090 #line 9448 "gram.y" /* yacc.c:1652  */
35091     { (yyval.list) = (yyvsp[-1].list); }
35092 #line 35093 "gram.c" /* yacc.c:1652  */
35093     break;
35094 
35095   case 1376:
35096 #line 9449 "gram.y" /* yacc.c:1652  */
35097     { (yyval.list) = NIL; }
35098 #line 35099 "gram.c" /* yacc.c:1652  */
35099     break;
35100 
35101   case 1377:
35102 #line 9463 "gram.y" /* yacc.c:1652  */
35103     {
35104 					ExplainStmt *n = makeNode(ExplainStmt);
35105 					n->query = (yyvsp[0].node);
35106 					n->options = NIL;
35107 					(yyval.node) = (Node *) n;
35108 				}
35109 #line 35110 "gram.c" /* yacc.c:1652  */
35110     break;
35111 
35112   case 1378:
35113 #line 9470 "gram.y" /* yacc.c:1652  */
35114     {
35115 					ExplainStmt *n = makeNode(ExplainStmt);
35116 					n->query = (yyvsp[0].node);
35117 					n->options = list_make1(makeDefElem("analyze", NULL));
35118 					if ((yyvsp[-1].boolean))
35119 						n->options = lappend(n->options,
35120 											 makeDefElem("verbose", NULL));
35121 					(yyval.node) = (Node *) n;
35122 				}
35123 #line 35124 "gram.c" /* yacc.c:1652  */
35124     break;
35125 
35126   case 1379:
35127 #line 9480 "gram.y" /* yacc.c:1652  */
35128     {
35129 					ExplainStmt *n = makeNode(ExplainStmt);
35130 					n->query = (yyvsp[0].node);
35131 					n->options = list_make1(makeDefElem("verbose", NULL));
35132 					(yyval.node) = (Node *) n;
35133 				}
35134 #line 35135 "gram.c" /* yacc.c:1652  */
35135     break;
35136 
35137   case 1380:
35138 #line 9487 "gram.y" /* yacc.c:1652  */
35139     {
35140 					ExplainStmt *n = makeNode(ExplainStmt);
35141 					n->query = (yyvsp[0].node);
35142 					n->options = (yyvsp[-2].list);
35143 					(yyval.node) = (Node *) n;
35144 				}
35145 #line 35146 "gram.c" /* yacc.c:1652  */
35146     break;
35147 
35148   case 1390:
35149 #line 9509 "gram.y" /* yacc.c:1652  */
35150     {
35151 					(yyval.list) = list_make1((yyvsp[0].defelt));
35152 				}
35153 #line 35154 "gram.c" /* yacc.c:1652  */
35154     break;
35155 
35156   case 1391:
35157 #line 9513 "gram.y" /* yacc.c:1652  */
35158     {
35159 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
35160 				}
35161 #line 35162 "gram.c" /* yacc.c:1652  */
35162     break;
35163 
35164   case 1392:
35165 #line 9520 "gram.y" /* yacc.c:1652  */
35166     {
35167 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node));
35168 				}
35169 #line 35170 "gram.c" /* yacc.c:1652  */
35170     break;
35171 
35172   case 1393:
35173 #line 9526 "gram.y" /* yacc.c:1652  */
35174     { (yyval.str) = (yyvsp[0].str); }
35175 #line 35176 "gram.c" /* yacc.c:1652  */
35176     break;
35177 
35178   case 1394:
35179 #line 9527 "gram.y" /* yacc.c:1652  */
35180     { (yyval.str) = "analyze"; }
35181 #line 35182 "gram.c" /* yacc.c:1652  */
35182     break;
35183 
35184   case 1395:
35185 #line 9531 "gram.y" /* yacc.c:1652  */
35186     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
35187 #line 35188 "gram.c" /* yacc.c:1652  */
35188     break;
35189 
35190   case 1396:
35191 #line 9532 "gram.y" /* yacc.c:1652  */
35192     { (yyval.node) = (Node *) (yyvsp[0].value); }
35193 #line 35194 "gram.c" /* yacc.c:1652  */
35194     break;
35195 
35196   case 1397:
35197 #line 9533 "gram.y" /* yacc.c:1652  */
35198     { (yyval.node) = NULL; }
35199 #line 35200 "gram.c" /* yacc.c:1652  */
35200     break;
35201 
35202   case 1398:
35203 #line 9544 "gram.y" /* yacc.c:1652  */
35204     {
35205 					PrepareStmt *n = makeNode(PrepareStmt);
35206 					n->name = (yyvsp[-3].str);
35207 					n->argtypes = (yyvsp[-2].list);
35208 					n->query = (yyvsp[0].node);
35209 					(yyval.node) = (Node *) n;
35210 				}
35211 #line 35212 "gram.c" /* yacc.c:1652  */
35212     break;
35213 
35214   case 1399:
35215 #line 9553 "gram.y" /* yacc.c:1652  */
35216     { (yyval.list) = (yyvsp[-1].list); }
35217 #line 35218 "gram.c" /* yacc.c:1652  */
35218     break;
35219 
35220   case 1400:
35221 #line 9554 "gram.y" /* yacc.c:1652  */
35222     { (yyval.list) = NIL; }
35223 #line 35224 "gram.c" /* yacc.c:1652  */
35224     break;
35225 
35226   case 1405:
35227 #line 9572 "gram.y" /* yacc.c:1652  */
35228     {
35229 					ExecuteStmt *n = makeNode(ExecuteStmt);
35230 					n->name = (yyvsp[-1].str);
35231 					n->params = (yyvsp[0].list);
35232 					(yyval.node) = (Node *) n;
35233 				}
35234 #line 35235 "gram.c" /* yacc.c:1652  */
35235     break;
35236 
35237   case 1406:
35238 #line 9580 "gram.y" /* yacc.c:1652  */
35239     {
35240 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
35241 					ExecuteStmt *n = makeNode(ExecuteStmt);
35242 					n->name = (yyvsp[-2].str);
35243 					n->params = (yyvsp[-1].list);
35244 					ctas->query = (Node *) n;
35245 					ctas->into = (yyvsp[-5].into);
35246 					ctas->relkind = OBJECT_TABLE;
35247 					ctas->is_select_into = false;
35248 					ctas->if_not_exists = false;
35249 					/* cram additional flags into the IntoClause */
35250 					(yyvsp[-5].into)->rel->relpersistence = (yyvsp[-7].ival);
35251 					(yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
35252 					(yyval.node) = (Node *) ctas;
35253 				}
35254 #line 35255 "gram.c" /* yacc.c:1652  */
35255     break;
35256 
35257   case 1407:
35258 #line 9597 "gram.y" /* yacc.c:1652  */
35259     {
35260 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
35261 					ExecuteStmt *n = makeNode(ExecuteStmt);
35262 					n->name = (yyvsp[-2].str);
35263 					n->params = (yyvsp[-1].list);
35264 					ctas->query = (Node *) n;
35265 					ctas->into = (yyvsp[-5].into);
35266 					ctas->relkind = OBJECT_TABLE;
35267 					ctas->is_select_into = false;
35268 					ctas->if_not_exists = true;
35269 					/* cram additional flags into the IntoClause */
35270 					(yyvsp[-5].into)->rel->relpersistence = (yyvsp[-10].ival);
35271 					(yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
35272 					(yyval.node) = (Node *) ctas;
35273 				}
35274 #line 35275 "gram.c" /* yacc.c:1652  */
35275     break;
35276 
35277   case 1408:
35278 #line 9614 "gram.y" /* yacc.c:1652  */
35279     { (yyval.list) = (yyvsp[-1].list); }
35280 #line 35281 "gram.c" /* yacc.c:1652  */
35281     break;
35282 
35283   case 1409:
35284 #line 9615 "gram.y" /* yacc.c:1652  */
35285     { (yyval.list) = NIL; }
35286 #line 35287 "gram.c" /* yacc.c:1652  */
35287     break;
35288 
35289   case 1410:
35290 #line 9626 "gram.y" /* yacc.c:1652  */
35291     {
35292 						DeallocateStmt *n = makeNode(DeallocateStmt);
35293 						n->name = (yyvsp[0].str);
35294 						(yyval.node) = (Node *) n;
35295 					}
35296 #line 35297 "gram.c" /* yacc.c:1652  */
35297     break;
35298 
35299   case 1411:
35300 #line 9632 "gram.y" /* yacc.c:1652  */
35301     {
35302 						DeallocateStmt *n = makeNode(DeallocateStmt);
35303 						n->name = (yyvsp[0].str);
35304 						(yyval.node) = (Node *) n;
35305 					}
35306 #line 35307 "gram.c" /* yacc.c:1652  */
35307     break;
35308 
35309   case 1412:
35310 #line 9638 "gram.y" /* yacc.c:1652  */
35311     {
35312 						DeallocateStmt *n = makeNode(DeallocateStmt);
35313 						n->name = NULL;
35314 						(yyval.node) = (Node *) n;
35315 					}
35316 #line 35317 "gram.c" /* yacc.c:1652  */
35317     break;
35318 
35319   case 1413:
35320 #line 9644 "gram.y" /* yacc.c:1652  */
35321     {
35322 						DeallocateStmt *n = makeNode(DeallocateStmt);
35323 						n->name = NULL;
35324 						(yyval.node) = (Node *) n;
35325 					}
35326 #line 35327 "gram.c" /* yacc.c:1652  */
35327     break;
35328 
35329   case 1414:
35330 #line 9661 "gram.y" /* yacc.c:1652  */
35331     {
35332 					(yyvsp[-2].istmt)->relation = (yyvsp[-3].range);
35333 					(yyvsp[-2].istmt)->onConflictClause = (yyvsp[-1].onconflict);
35334 					(yyvsp[-2].istmt)->returningList = (yyvsp[0].list);
35335 					(yyvsp[-2].istmt)->withClause = (yyvsp[-6].with);
35336 					(yyval.node) = (Node *) (yyvsp[-2].istmt);
35337 				}
35338 #line 35339 "gram.c" /* yacc.c:1652  */
35339     break;
35340 
35341   case 1415:
35342 #line 9678 "gram.y" /* yacc.c:1652  */
35343     {
35344 					(yyval.range) = (yyvsp[0].range);
35345 				}
35346 #line 35347 "gram.c" /* yacc.c:1652  */
35347     break;
35348 
35349   case 1416:
35350 #line 9682 "gram.y" /* yacc.c:1652  */
35351     {
35352 					(yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
35353 					(yyval.range) = (yyvsp[-2].range);
35354 				}
35355 #line 35356 "gram.c" /* yacc.c:1652  */
35356     break;
35357 
35358   case 1417:
35359 #line 9690 "gram.y" /* yacc.c:1652  */
35360     {
35361 					(yyval.istmt) = makeNode(InsertStmt);
35362 					(yyval.istmt)->cols = NIL;
35363 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
35364 				}
35365 #line 35366 "gram.c" /* yacc.c:1652  */
35366     break;
35367 
35368   case 1418:
35369 #line 9696 "gram.y" /* yacc.c:1652  */
35370     {
35371 					(yyval.istmt) = makeNode(InsertStmt);
35372 					(yyval.istmt)->cols = (yyvsp[-2].list);
35373 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
35374 				}
35375 #line 35376 "gram.c" /* yacc.c:1652  */
35376     break;
35377 
35378   case 1419:
35379 #line 9702 "gram.y" /* yacc.c:1652  */
35380     {
35381 					(yyval.istmt) = makeNode(InsertStmt);
35382 					(yyval.istmt)->cols = NIL;
35383 					(yyval.istmt)->selectStmt = NULL;
35384 				}
35385 #line 35386 "gram.c" /* yacc.c:1652  */
35386     break;
35387 
35388   case 1420:
35389 #line 9711 "gram.y" /* yacc.c:1652  */
35390     { (yyval.list) = list_make1((yyvsp[0].target)); }
35391 #line 35392 "gram.c" /* yacc.c:1652  */
35392     break;
35393 
35394   case 1421:
35395 #line 9713 "gram.y" /* yacc.c:1652  */
35396     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
35397 #line 35398 "gram.c" /* yacc.c:1652  */
35398     break;
35399 
35400   case 1422:
35401 #line 9718 "gram.y" /* yacc.c:1652  */
35402     {
35403 					(yyval.target) = makeNode(ResTarget);
35404 					(yyval.target)->name = (yyvsp[-1].str);
35405 					(yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
35406 					(yyval.target)->val = NULL;
35407 					(yyval.target)->location = (yylsp[-1]);
35408 				}
35409 #line 35410 "gram.c" /* yacc.c:1652  */
35410     break;
35411 
35412   case 1423:
35413 #line 9729 "gram.y" /* yacc.c:1652  */
35414     {
35415 					(yyval.onconflict) = makeNode(OnConflictClause);
35416 					(yyval.onconflict)->action = ONCONFLICT_UPDATE;
35417 					(yyval.onconflict)->infer = (yyvsp[-5].infer);
35418 					(yyval.onconflict)->targetList = (yyvsp[-1].list);
35419 					(yyval.onconflict)->whereClause = (yyvsp[0].node);
35420 					(yyval.onconflict)->location = (yylsp[-7]);
35421 				}
35422 #line 35423 "gram.c" /* yacc.c:1652  */
35423     break;
35424 
35425   case 1424:
35426 #line 9739 "gram.y" /* yacc.c:1652  */
35427     {
35428 					(yyval.onconflict) = makeNode(OnConflictClause);
35429 					(yyval.onconflict)->action = ONCONFLICT_NOTHING;
35430 					(yyval.onconflict)->infer = (yyvsp[-2].infer);
35431 					(yyval.onconflict)->targetList = NIL;
35432 					(yyval.onconflict)->whereClause = NULL;
35433 					(yyval.onconflict)->location = (yylsp[-4]);
35434 				}
35435 #line 35436 "gram.c" /* yacc.c:1652  */
35436     break;
35437 
35438   case 1425:
35439 #line 9748 "gram.y" /* yacc.c:1652  */
35440     {
35441 					(yyval.onconflict) = NULL;
35442 				}
35443 #line 35444 "gram.c" /* yacc.c:1652  */
35444     break;
35445 
35446   case 1426:
35447 #line 9755 "gram.y" /* yacc.c:1652  */
35448     {
35449 					(yyval.infer) = makeNode(InferClause);
35450 					(yyval.infer)->indexElems = (yyvsp[-2].list);
35451 					(yyval.infer)->whereClause = (yyvsp[0].node);
35452 					(yyval.infer)->conname = NULL;
35453 					(yyval.infer)->location = (yylsp[-3]);
35454 				}
35455 #line 35456 "gram.c" /* yacc.c:1652  */
35456     break;
35457 
35458   case 1427:
35459 #line 9764 "gram.y" /* yacc.c:1652  */
35460     {
35461 					(yyval.infer) = makeNode(InferClause);
35462 					(yyval.infer)->indexElems = NIL;
35463 					(yyval.infer)->whereClause = NULL;
35464 					(yyval.infer)->conname = (yyvsp[0].str);
35465 					(yyval.infer)->location = (yylsp[-2]);
35466 				}
35467 #line 35468 "gram.c" /* yacc.c:1652  */
35468     break;
35469 
35470   case 1428:
35471 #line 9772 "gram.y" /* yacc.c:1652  */
35472     {
35473 					(yyval.infer) = NULL;
35474 				}
35475 #line 35476 "gram.c" /* yacc.c:1652  */
35476     break;
35477 
35478   case 1429:
35479 #line 9778 "gram.y" /* yacc.c:1652  */
35480     { (yyval.list) = (yyvsp[0].list); }
35481 #line 35482 "gram.c" /* yacc.c:1652  */
35482     break;
35483 
35484   case 1430:
35485 #line 9779 "gram.y" /* yacc.c:1652  */
35486     { (yyval.list) = NIL; }
35487 #line 35488 "gram.c" /* yacc.c:1652  */
35488     break;
35489 
35490   case 1431:
35491 #line 9792 "gram.y" /* yacc.c:1652  */
35492     {
35493 					DeleteStmt *n = makeNode(DeleteStmt);
35494 					n->relation = (yyvsp[-3].range);
35495 					n->usingClause = (yyvsp[-2].list);
35496 					n->whereClause = (yyvsp[-1].node);
35497 					n->returningList = (yyvsp[0].list);
35498 					n->withClause = (yyvsp[-6].with);
35499 					(yyval.node) = (Node *)n;
35500 				}
35501 #line 35502 "gram.c" /* yacc.c:1652  */
35502     break;
35503 
35504   case 1432:
35505 #line 9804 "gram.y" /* yacc.c:1652  */
35506     { (yyval.list) = (yyvsp[0].list); }
35507 #line 35508 "gram.c" /* yacc.c:1652  */
35508     break;
35509 
35510   case 1433:
35511 #line 9805 "gram.y" /* yacc.c:1652  */
35512     { (yyval.list) = NIL; }
35513 #line 35514 "gram.c" /* yacc.c:1652  */
35514     break;
35515 
35516   case 1434:
35517 #line 9817 "gram.y" /* yacc.c:1652  */
35518     {
35519 					LockStmt *n = makeNode(LockStmt);
35520 
35521 					n->relations = (yyvsp[-2].list);
35522 					n->mode = (yyvsp[-1].ival);
35523 					n->nowait = (yyvsp[0].boolean);
35524 					(yyval.node) = (Node *)n;
35525 				}
35526 #line 35527 "gram.c" /* yacc.c:1652  */
35527     break;
35528 
35529   case 1435:
35530 #line 9827 "gram.y" /* yacc.c:1652  */
35531     { (yyval.ival) = (yyvsp[-1].ival); }
35532 #line 35533 "gram.c" /* yacc.c:1652  */
35533     break;
35534 
35535   case 1436:
35536 #line 9828 "gram.y" /* yacc.c:1652  */
35537     { (yyval.ival) = AccessExclusiveLock; }
35538 #line 35539 "gram.c" /* yacc.c:1652  */
35539     break;
35540 
35541   case 1437:
35542 #line 9831 "gram.y" /* yacc.c:1652  */
35543     { (yyval.ival) = AccessShareLock; }
35544 #line 35545 "gram.c" /* yacc.c:1652  */
35545     break;
35546 
35547   case 1438:
35548 #line 9832 "gram.y" /* yacc.c:1652  */
35549     { (yyval.ival) = RowShareLock; }
35550 #line 35551 "gram.c" /* yacc.c:1652  */
35551     break;
35552 
35553   case 1439:
35554 #line 9833 "gram.y" /* yacc.c:1652  */
35555     { (yyval.ival) = RowExclusiveLock; }
35556 #line 35557 "gram.c" /* yacc.c:1652  */
35557     break;
35558 
35559   case 1440:
35560 #line 9834 "gram.y" /* yacc.c:1652  */
35561     { (yyval.ival) = ShareUpdateExclusiveLock; }
35562 #line 35563 "gram.c" /* yacc.c:1652  */
35563     break;
35564 
35565   case 1441:
35566 #line 9835 "gram.y" /* yacc.c:1652  */
35567     { (yyval.ival) = ShareLock; }
35568 #line 35569 "gram.c" /* yacc.c:1652  */
35569     break;
35570 
35571   case 1442:
35572 #line 9836 "gram.y" /* yacc.c:1652  */
35573     { (yyval.ival) = ShareRowExclusiveLock; }
35574 #line 35575 "gram.c" /* yacc.c:1652  */
35575     break;
35576 
35577   case 1443:
35578 #line 9837 "gram.y" /* yacc.c:1652  */
35579     { (yyval.ival) = ExclusiveLock; }
35580 #line 35581 "gram.c" /* yacc.c:1652  */
35581     break;
35582 
35583   case 1444:
35584 #line 9838 "gram.y" /* yacc.c:1652  */
35585     { (yyval.ival) = AccessExclusiveLock; }
35586 #line 35587 "gram.c" /* yacc.c:1652  */
35587     break;
35588 
35589   case 1445:
35590 #line 9841 "gram.y" /* yacc.c:1652  */
35591     { (yyval.boolean) = TRUE; }
35592 #line 35593 "gram.c" /* yacc.c:1652  */
35593     break;
35594 
35595   case 1446:
35596 #line 9842 "gram.y" /* yacc.c:1652  */
35597     { (yyval.boolean) = FALSE; }
35598 #line 35599 "gram.c" /* yacc.c:1652  */
35599     break;
35600 
35601   case 1447:
35602 #line 9846 "gram.y" /* yacc.c:1652  */
35603     { (yyval.ival) = LockWaitError; }
35604 #line 35605 "gram.c" /* yacc.c:1652  */
35605     break;
35606 
35607   case 1448:
35608 #line 9847 "gram.y" /* yacc.c:1652  */
35609     { (yyval.ival) = LockWaitSkip; }
35610 #line 35611 "gram.c" /* yacc.c:1652  */
35611     break;
35612 
35613   case 1449:
35614 #line 9848 "gram.y" /* yacc.c:1652  */
35615     { (yyval.ival) = LockWaitBlock; }
35616 #line 35617 "gram.c" /* yacc.c:1652  */
35617     break;
35618 
35619   case 1450:
35620 #line 9864 "gram.y" /* yacc.c:1652  */
35621     {
35622 					UpdateStmt *n = makeNode(UpdateStmt);
35623 					n->relation = (yyvsp[-5].range);
35624 					n->targetList = (yyvsp[-3].list);
35625 					n->fromClause = (yyvsp[-2].list);
35626 					n->whereClause = (yyvsp[-1].node);
35627 					n->returningList = (yyvsp[0].list);
35628 					n->withClause = (yyvsp[-7].with);
35629 					(yyval.node) = (Node *)n;
35630 				}
35631 #line 35632 "gram.c" /* yacc.c:1652  */
35632     break;
35633 
35634   case 1451:
35635 #line 9877 "gram.y" /* yacc.c:1652  */
35636     { (yyval.list) = (yyvsp[0].list); }
35637 #line 35638 "gram.c" /* yacc.c:1652  */
35638     break;
35639 
35640   case 1452:
35641 #line 9878 "gram.y" /* yacc.c:1652  */
35642     { (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
35643 #line 35644 "gram.c" /* yacc.c:1652  */
35644     break;
35645 
35646   case 1453:
35647 #line 9882 "gram.y" /* yacc.c:1652  */
35648     { (yyval.list) = list_make1((yyvsp[0].target)); }
35649 #line 35650 "gram.c" /* yacc.c:1652  */
35650     break;
35651 
35652   case 1454:
35653 #line 9883 "gram.y" /* yacc.c:1652  */
35654     { (yyval.list) = (yyvsp[0].list); }
35655 #line 35656 "gram.c" /* yacc.c:1652  */
35656     break;
35657 
35658   case 1455:
35659 #line 9888 "gram.y" /* yacc.c:1652  */
35660     {
35661 					(yyval.target) = (yyvsp[-2].target);
35662 					(yyval.target)->val = (Node *) (yyvsp[0].node);
35663 				}
35664 #line 35665 "gram.c" /* yacc.c:1652  */
35665     break;
35666 
35667   case 1456:
35668 #line 9904 "gram.y" /* yacc.c:1652  */
35669     {
35670 					ListCell *col_cell;
35671 					ListCell *val_cell;
35672 
35673 					/*
35674 					 * Break the ctext_row apart, merge individual expressions
35675 					 * into the destination ResTargets.  This is semantically
35676 					 * equivalent to, and much cheaper to process than, the
35677 					 * general case.
35678 					 */
35679 					if (list_length((yyvsp[-3].list)) != list_length((yyvsp[0].list)))
35680 						ereport(ERROR,
35681 								(errcode(ERRCODE_SYNTAX_ERROR),
35682 								 errmsg("number of columns does not match number of values"),
35683 								 parser_errposition((yylsp[0]))));
35684 					forboth(col_cell, (yyvsp[-3].list), val_cell, (yyvsp[0].list))
35685 					{
35686 						ResTarget *res_col = (ResTarget *) lfirst(col_cell);
35687 						Node *res_val = (Node *) lfirst(val_cell);
35688 
35689 						res_col->val = res_val;
35690 					}
35691 
35692 					(yyval.list) = (yyvsp[-3].list);
35693 				}
35694 #line 35695 "gram.c" /* yacc.c:1652  */
35695     break;
35696 
35697   case 1457:
35698 #line 9930 "gram.y" /* yacc.c:1652  */
35699     {
35700 					SubLink *sl = makeNode(SubLink);
35701 					int ncolumns = list_length((yyvsp[-3].list));
35702 					int i = 1;
35703 					ListCell *col_cell;
35704 
35705 					/* First, convert bare SelectStmt into a SubLink */
35706 					sl->subLinkType = MULTIEXPR_SUBLINK;
35707 					sl->subLinkId = 0;		/* will be assigned later */
35708 					sl->testexpr = NULL;
35709 					sl->operName = NIL;
35710 					sl->subselect = (yyvsp[0].node);
35711 					sl->location = (yylsp[0]);
35712 
35713 					/* Create a MultiAssignRef source for each target */
35714 					foreach(col_cell, (yyvsp[-3].list))
35715 					{
35716 						ResTarget *res_col = (ResTarget *) lfirst(col_cell);
35717 						MultiAssignRef *r = makeNode(MultiAssignRef);
35718 
35719 						r->source = (Node *) sl;
35720 						r->colno = i;
35721 						r->ncolumns = ncolumns;
35722 						res_col->val = (Node *) r;
35723 						i++;
35724 					}
35725 
35726 					(yyval.list) = (yyvsp[-3].list);
35727 				}
35728 #line 35729 "gram.c" /* yacc.c:1652  */
35729     break;
35730 
35731   case 1458:
35732 #line 9963 "gram.y" /* yacc.c:1652  */
35733     {
35734 					(yyval.target) = makeNode(ResTarget);
35735 					(yyval.target)->name = (yyvsp[-1].str);
35736 					(yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
35737 					(yyval.target)->val = NULL;	/* upper production sets this */
35738 					(yyval.target)->location = (yylsp[-1]);
35739 				}
35740 #line 35741 "gram.c" /* yacc.c:1652  */
35741     break;
35742 
35743   case 1459:
35744 #line 9973 "gram.y" /* yacc.c:1652  */
35745     { (yyval.list) = list_make1((yyvsp[0].target)); }
35746 #line 35747 "gram.c" /* yacc.c:1652  */
35747     break;
35748 
35749   case 1460:
35750 #line 9974 "gram.y" /* yacc.c:1652  */
35751     { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
35752 #line 35753 "gram.c" /* yacc.c:1652  */
35753     break;
35754 
35755   case 1461:
35756 #line 9985 "gram.y" /* yacc.c:1652  */
35757     {
35758 					DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
35759 					n->portalname = (yyvsp[-5].str);
35760 					/* currently we always set FAST_PLAN option */
35761 					n->options = (yyvsp[-4].ival) | (yyvsp[-2].ival) | CURSOR_OPT_FAST_PLAN;
35762 					n->query = (yyvsp[0].node);
35763 					(yyval.node) = (Node *)n;
35764 				}
35765 #line 35766 "gram.c" /* yacc.c:1652  */
35766     break;
35767 
35768   case 1462:
35769 #line 9995 "gram.y" /* yacc.c:1652  */
35770     { (yyval.str) = (yyvsp[0].str); }
35771 #line 35772 "gram.c" /* yacc.c:1652  */
35772     break;
35773 
35774   case 1463:
35775 #line 9998 "gram.y" /* yacc.c:1652  */
35776     { (yyval.ival) = 0; }
35777 #line 35778 "gram.c" /* yacc.c:1652  */
35778     break;
35779 
35780   case 1464:
35781 #line 9999 "gram.y" /* yacc.c:1652  */
35782     { (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
35783 #line 35784 "gram.c" /* yacc.c:1652  */
35784     break;
35785 
35786   case 1465:
35787 #line 10000 "gram.y" /* yacc.c:1652  */
35788     { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
35789 #line 35790 "gram.c" /* yacc.c:1652  */
35790     break;
35791 
35792   case 1466:
35793 #line 10001 "gram.y" /* yacc.c:1652  */
35794     { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
35795 #line 35796 "gram.c" /* yacc.c:1652  */
35796     break;
35797 
35798   case 1467:
35799 #line 10002 "gram.y" /* yacc.c:1652  */
35800     { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
35801 #line 35802 "gram.c" /* yacc.c:1652  */
35802     break;
35803 
35804   case 1468:
35805 #line 10005 "gram.y" /* yacc.c:1652  */
35806     { (yyval.ival) = 0; }
35807 #line 35808 "gram.c" /* yacc.c:1652  */
35808     break;
35809 
35810   case 1469:
35811 #line 10006 "gram.y" /* yacc.c:1652  */
35812     { (yyval.ival) = CURSOR_OPT_HOLD; }
35813 #line 35814 "gram.c" /* yacc.c:1652  */
35814     break;
35815 
35816   case 1470:
35817 #line 10007 "gram.y" /* yacc.c:1652  */
35818     { (yyval.ival) = 0; }
35819 #line 35820 "gram.c" /* yacc.c:1652  */
35820     break;
35821 
35822   case 1473:
35823 #line 10060 "gram.y" /* yacc.c:1652  */
35824     { (yyval.node) = (yyvsp[-1].node); }
35825 #line 35826 "gram.c" /* yacc.c:1652  */
35826     break;
35827 
35828   case 1474:
35829 #line 10061 "gram.y" /* yacc.c:1652  */
35830     { (yyval.node) = (yyvsp[-1].node); }
35831 #line 35832 "gram.c" /* yacc.c:1652  */
35832     break;
35833 
35834   case 1475:
35835 #line 10076 "gram.y" /* yacc.c:1652  */
35836     { (yyval.node) = (yyvsp[0].node); }
35837 #line 35838 "gram.c" /* yacc.c:1652  */
35838     break;
35839 
35840   case 1476:
35841 #line 10078 "gram.y" /* yacc.c:1652  */
35842     {
35843 					insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
35844 										NULL, NULL, NULL,
35845 										yyscanner);
35846 					(yyval.node) = (yyvsp[-1].node);
35847 				}
35848 #line 35849 "gram.c" /* yacc.c:1652  */
35849     break;
35850 
35851   case 1477:
35852 #line 10085 "gram.y" /* yacc.c:1652  */
35853     {
35854 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
35855 										list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
35856 										NULL,
35857 										yyscanner);
35858 					(yyval.node) = (yyvsp[-3].node);
35859 				}
35860 #line 35861 "gram.c" /* yacc.c:1652  */
35861     break;
35862 
35863   case 1478:
35864 #line 10093 "gram.y" /* yacc.c:1652  */
35865     {
35866 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
35867 										list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
35868 										NULL,
35869 										yyscanner);
35870 					(yyval.node) = (yyvsp[-3].node);
35871 				}
35872 #line 35873 "gram.c" /* yacc.c:1652  */
35873     break;
35874 
35875   case 1479:
35876 #line 10101 "gram.y" /* yacc.c:1652  */
35877     {
35878 					insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
35879 										NULL, NULL,
35880 										(yyvsp[-1].with),
35881 										yyscanner);
35882 					(yyval.node) = (yyvsp[0].node);
35883 				}
35884 #line 35885 "gram.c" /* yacc.c:1652  */
35885     break;
35886 
35887   case 1480:
35888 #line 10109 "gram.y" /* yacc.c:1652  */
35889     {
35890 					insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
35891 										NULL, NULL,
35892 										(yyvsp[-2].with),
35893 										yyscanner);
35894 					(yyval.node) = (yyvsp[-1].node);
35895 				}
35896 #line 35897 "gram.c" /* yacc.c:1652  */
35897     break;
35898 
35899   case 1481:
35900 #line 10117 "gram.y" /* yacc.c:1652  */
35901     {
35902 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
35903 										list_nth((yyvsp[0].list), 0), list_nth((yyvsp[0].list), 1),
35904 										(yyvsp[-4].with),
35905 										yyscanner);
35906 					(yyval.node) = (yyvsp[-3].node);
35907 				}
35908 #line 35909 "gram.c" /* yacc.c:1652  */
35909     break;
35910 
35911   case 1482:
35912 #line 10125 "gram.y" /* yacc.c:1652  */
35913     {
35914 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
35915 										list_nth((yyvsp[-1].list), 0), list_nth((yyvsp[-1].list), 1),
35916 										(yyvsp[-4].with),
35917 										yyscanner);
35918 					(yyval.node) = (yyvsp[-3].node);
35919 				}
35920 #line 35921 "gram.c" /* yacc.c:1652  */
35921     break;
35922 
35923   case 1483:
35924 #line 10135 "gram.y" /* yacc.c:1652  */
35925     { (yyval.node) = (yyvsp[0].node); }
35926 #line 35927 "gram.c" /* yacc.c:1652  */
35927     break;
35928 
35929   case 1484:
35930 #line 10136 "gram.y" /* yacc.c:1652  */
35931     { (yyval.node) = (yyvsp[0].node); }
35932 #line 35933 "gram.c" /* yacc.c:1652  */
35933     break;
35934 
35935   case 1485:
35936 #line 10166 "gram.y" /* yacc.c:1652  */
35937     {
35938 					SelectStmt *n = makeNode(SelectStmt);
35939 					n->targetList = (yyvsp[-6].list);
35940 					n->intoClause = (yyvsp[-5].into);
35941 					n->fromClause = (yyvsp[-4].list);
35942 					n->whereClause = (yyvsp[-3].node);
35943 					n->groupClause = (yyvsp[-2].list);
35944 					n->havingClause = (yyvsp[-1].node);
35945 					n->windowClause = (yyvsp[0].list);
35946 					(yyval.node) = (Node *)n;
35947 				}
35948 #line 35949 "gram.c" /* yacc.c:1652  */
35949     break;
35950 
35951   case 1486:
35952 #line 10180 "gram.y" /* yacc.c:1652  */
35953     {
35954 					SelectStmt *n = makeNode(SelectStmt);
35955 					n->distinctClause = (yyvsp[-7].list);
35956 					n->targetList = (yyvsp[-6].list);
35957 					n->intoClause = (yyvsp[-5].into);
35958 					n->fromClause = (yyvsp[-4].list);
35959 					n->whereClause = (yyvsp[-3].node);
35960 					n->groupClause = (yyvsp[-2].list);
35961 					n->havingClause = (yyvsp[-1].node);
35962 					n->windowClause = (yyvsp[0].list);
35963 					(yyval.node) = (Node *)n;
35964 				}
35965 #line 35966 "gram.c" /* yacc.c:1652  */
35966     break;
35967 
35968   case 1487:
35969 #line 10192 "gram.y" /* yacc.c:1652  */
35970     { (yyval.node) = (yyvsp[0].node); }
35971 #line 35972 "gram.c" /* yacc.c:1652  */
35972     break;
35973 
35974   case 1488:
35975 #line 10194 "gram.y" /* yacc.c:1652  */
35976     {
35977 					/* same as SELECT * FROM relation_expr */
35978 					ColumnRef *cr = makeNode(ColumnRef);
35979 					ResTarget *rt = makeNode(ResTarget);
35980 					SelectStmt *n = makeNode(SelectStmt);
35981 
35982 					cr->fields = list_make1(makeNode(A_Star));
35983 					cr->location = -1;
35984 
35985 					rt->name = NULL;
35986 					rt->indirection = NIL;
35987 					rt->val = (Node *)cr;
35988 					rt->location = -1;
35989 
35990 					n->targetList = list_make1(rt);
35991 					n->fromClause = list_make1((yyvsp[0].range));
35992 					(yyval.node) = (Node *)n;
35993 				}
35994 #line 35995 "gram.c" /* yacc.c:1652  */
35995     break;
35996 
35997   case 1489:
35998 #line 10213 "gram.y" /* yacc.c:1652  */
35999     {
36000 					(yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
36001 				}
36002 #line 36003 "gram.c" /* yacc.c:1652  */
36003     break;
36004 
36005   case 1490:
36006 #line 10217 "gram.y" /* yacc.c:1652  */
36007     {
36008 					(yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
36009 				}
36010 #line 36011 "gram.c" /* yacc.c:1652  */
36011     break;
36012 
36013   case 1491:
36014 #line 10221 "gram.y" /* yacc.c:1652  */
36015     {
36016 					(yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].boolean), (yyvsp[-3].node), (yyvsp[0].node));
36017 				}
36018 #line 36019 "gram.c" /* yacc.c:1652  */
36019     break;
36020 
36021   case 1492:
36022 #line 10238 "gram.y" /* yacc.c:1652  */
36023     {
36024 				(yyval.with) = makeNode(WithClause);
36025 				(yyval.with)->ctes = (yyvsp[0].list);
36026 				(yyval.with)->recursive = false;
36027 				(yyval.with)->location = (yylsp[-1]);
36028 			}
36029 #line 36030 "gram.c" /* yacc.c:1652  */
36030     break;
36031 
36032   case 1493:
36033 #line 10245 "gram.y" /* yacc.c:1652  */
36034     {
36035 				(yyval.with) = makeNode(WithClause);
36036 				(yyval.with)->ctes = (yyvsp[0].list);
36037 				(yyval.with)->recursive = false;
36038 				(yyval.with)->location = (yylsp[-1]);
36039 			}
36040 #line 36041 "gram.c" /* yacc.c:1652  */
36041     break;
36042 
36043   case 1494:
36044 #line 10252 "gram.y" /* yacc.c:1652  */
36045     {
36046 				(yyval.with) = makeNode(WithClause);
36047 				(yyval.with)->ctes = (yyvsp[0].list);
36048 				(yyval.with)->recursive = true;
36049 				(yyval.with)->location = (yylsp[-2]);
36050 			}
36051 #line 36052 "gram.c" /* yacc.c:1652  */
36052     break;
36053 
36054   case 1495:
36055 #line 10261 "gram.y" /* yacc.c:1652  */
36056     { (yyval.list) = list_make1((yyvsp[0].node)); }
36057 #line 36058 "gram.c" /* yacc.c:1652  */
36058     break;
36059 
36060   case 1496:
36061 #line 10262 "gram.y" /* yacc.c:1652  */
36062     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
36063 #line 36064 "gram.c" /* yacc.c:1652  */
36064     break;
36065 
36066   case 1497:
36067 #line 10266 "gram.y" /* yacc.c:1652  */
36068     {
36069 				CommonTableExpr *n = makeNode(CommonTableExpr);
36070 				n->ctename = (yyvsp[-5].str);
36071 				n->aliascolnames = (yyvsp[-4].list);
36072 				n->ctequery = (yyvsp[-1].node);
36073 				n->location = (yylsp[-5]);
36074 				(yyval.node) = (Node *) n;
36075 			}
36076 #line 36077 "gram.c" /* yacc.c:1652  */
36077     break;
36078 
36079   case 1498:
36080 #line 10277 "gram.y" /* yacc.c:1652  */
36081     { (yyval.with) = (yyvsp[0].with); }
36082 #line 36083 "gram.c" /* yacc.c:1652  */
36083     break;
36084 
36085   case 1499:
36086 #line 10278 "gram.y" /* yacc.c:1652  */
36087     { (yyval.with) = NULL; }
36088 #line 36089 "gram.c" /* yacc.c:1652  */
36089     break;
36090 
36091   case 1500:
36092 #line 10283 "gram.y" /* yacc.c:1652  */
36093     {
36094 					(yyval.into) = makeNode(IntoClause);
36095 					(yyval.into)->rel = (yyvsp[0].range);
36096 					(yyval.into)->colNames = NIL;
36097 					(yyval.into)->options = NIL;
36098 					(yyval.into)->onCommit = ONCOMMIT_NOOP;
36099 					(yyval.into)->tableSpaceName = NULL;
36100 					(yyval.into)->viewQuery = NULL;
36101 					(yyval.into)->skipData = false;
36102 				}
36103 #line 36104 "gram.c" /* yacc.c:1652  */
36104     break;
36105 
36106   case 1501:
36107 #line 10294 "gram.y" /* yacc.c:1652  */
36108     { (yyval.into) = NULL; }
36109 #line 36110 "gram.c" /* yacc.c:1652  */
36110     break;
36111 
36112   case 1502:
36113 #line 10303 "gram.y" /* yacc.c:1652  */
36114     {
36115 					(yyval.range) = (yyvsp[0].range);
36116 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
36117 				}
36118 #line 36119 "gram.c" /* yacc.c:1652  */
36119     break;
36120 
36121   case 1503:
36122 #line 10308 "gram.y" /* yacc.c:1652  */
36123     {
36124 					(yyval.range) = (yyvsp[0].range);
36125 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
36126 				}
36127 #line 36128 "gram.c" /* yacc.c:1652  */
36128     break;
36129 
36130   case 1504:
36131 #line 10313 "gram.y" /* yacc.c:1652  */
36132     {
36133 					(yyval.range) = (yyvsp[0].range);
36134 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
36135 				}
36136 #line 36137 "gram.c" /* yacc.c:1652  */
36137     break;
36138 
36139   case 1505:
36140 #line 10318 "gram.y" /* yacc.c:1652  */
36141     {
36142 					(yyval.range) = (yyvsp[0].range);
36143 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
36144 				}
36145 #line 36146 "gram.c" /* yacc.c:1652  */
36146     break;
36147 
36148   case 1506:
36149 #line 10323 "gram.y" /* yacc.c:1652  */
36150     {
36151 					ereport(WARNING,
36152 							(errmsg("GLOBAL is deprecated in temporary table creation"),
36153 							 parser_errposition((yylsp[-3]))));
36154 					(yyval.range) = (yyvsp[0].range);
36155 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
36156 				}
36157 #line 36158 "gram.c" /* yacc.c:1652  */
36158     break;
36159 
36160   case 1507:
36161 #line 10331 "gram.y" /* yacc.c:1652  */
36162     {
36163 					ereport(WARNING,
36164 							(errmsg("GLOBAL is deprecated in temporary table creation"),
36165 							 parser_errposition((yylsp[-3]))));
36166 					(yyval.range) = (yyvsp[0].range);
36167 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
36168 				}
36169 #line 36170 "gram.c" /* yacc.c:1652  */
36170     break;
36171 
36172   case 1508:
36173 #line 10339 "gram.y" /* yacc.c:1652  */
36174     {
36175 					(yyval.range) = (yyvsp[0].range);
36176 					(yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
36177 				}
36178 #line 36179 "gram.c" /* yacc.c:1652  */
36179     break;
36180 
36181   case 1509:
36182 #line 10344 "gram.y" /* yacc.c:1652  */
36183     {
36184 					(yyval.range) = (yyvsp[0].range);
36185 					(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
36186 				}
36187 #line 36188 "gram.c" /* yacc.c:1652  */
36188     break;
36189 
36190   case 1510:
36191 #line 10349 "gram.y" /* yacc.c:1652  */
36192     {
36193 					(yyval.range) = (yyvsp[0].range);
36194 					(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
36195 				}
36196 #line 36197 "gram.c" /* yacc.c:1652  */
36197     break;
36198 
36199   case 1511:
36200 #line 10355 "gram.y" /* yacc.c:1652  */
36201     {}
36202 #line 36203 "gram.c" /* yacc.c:1652  */
36203     break;
36204 
36205   case 1512:
36206 #line 10356 "gram.y" /* yacc.c:1652  */
36207     {}
36208 #line 36209 "gram.c" /* yacc.c:1652  */
36209     break;
36210 
36211   case 1513:
36212 #line 10360 "gram.y" /* yacc.c:1652  */
36213     { (yyval.boolean) = TRUE; }
36214 #line 36215 "gram.c" /* yacc.c:1652  */
36215     break;
36216 
36217   case 1514:
36218 #line 10361 "gram.y" /* yacc.c:1652  */
36219     { (yyval.boolean) = FALSE; }
36220 #line 36221 "gram.c" /* yacc.c:1652  */
36221     break;
36222 
36223   case 1515:
36224 #line 10362 "gram.y" /* yacc.c:1652  */
36225     { (yyval.boolean) = FALSE; }
36226 #line 36227 "gram.c" /* yacc.c:1652  */
36227     break;
36228 
36229   case 1516:
36230 #line 10369 "gram.y" /* yacc.c:1652  */
36231     { (yyval.list) = list_make1(NIL); }
36232 #line 36233 "gram.c" /* yacc.c:1652  */
36233     break;
36234 
36235   case 1517:
36236 #line 10370 "gram.y" /* yacc.c:1652  */
36237     { (yyval.list) = (yyvsp[-1].list); }
36238 #line 36239 "gram.c" /* yacc.c:1652  */
36239     break;
36240 
36241   case 1518:
36242 #line 10374 "gram.y" /* yacc.c:1652  */
36243     { (yyval.list) = NIL;}
36244 #line 36245 "gram.c" /* yacc.c:1652  */
36245     break;
36246 
36247   case 1519:
36248 #line 10375 "gram.y" /* yacc.c:1652  */
36249     { (yyval.list) = NIL; }
36250 #line 36251 "gram.c" /* yacc.c:1652  */
36251     break;
36252 
36253   case 1520:
36254 #line 10379 "gram.y" /* yacc.c:1652  */
36255     { (yyval.list) = (yyvsp[0].list);}
36256 #line 36257 "gram.c" /* yacc.c:1652  */
36257     break;
36258 
36259   case 1521:
36260 #line 10380 "gram.y" /* yacc.c:1652  */
36261     { (yyval.list) = NIL; }
36262 #line 36263 "gram.c" /* yacc.c:1652  */
36263     break;
36264 
36265   case 1522:
36266 #line 10384 "gram.y" /* yacc.c:1652  */
36267     { (yyval.list) = (yyvsp[0].list); }
36268 #line 36269 "gram.c" /* yacc.c:1652  */
36269     break;
36270 
36271   case 1523:
36272 #line 10388 "gram.y" /* yacc.c:1652  */
36273     { (yyval.list) = list_make1((yyvsp[0].sortby)); }
36274 #line 36275 "gram.c" /* yacc.c:1652  */
36275     break;
36276 
36277   case 1524:
36278 #line 10389 "gram.y" /* yacc.c:1652  */
36279     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
36280 #line 36281 "gram.c" /* yacc.c:1652  */
36281     break;
36282 
36283   case 1525:
36284 #line 10393 "gram.y" /* yacc.c:1652  */
36285     {
36286 					(yyval.sortby) = makeNode(SortBy);
36287 					(yyval.sortby)->node = (yyvsp[-3].node);
36288 					(yyval.sortby)->sortby_dir = SORTBY_USING;
36289 					(yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
36290 					(yyval.sortby)->useOp = (yyvsp[-1].list);
36291 					(yyval.sortby)->location = (yylsp[-1]);
36292 				}
36293 #line 36294 "gram.c" /* yacc.c:1652  */
36294     break;
36295 
36296   case 1526:
36297 #line 10402 "gram.y" /* yacc.c:1652  */
36298     {
36299 					(yyval.sortby) = makeNode(SortBy);
36300 					(yyval.sortby)->node = (yyvsp[-2].node);
36301 					(yyval.sortby)->sortby_dir = (yyvsp[-1].ival);
36302 					(yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
36303 					(yyval.sortby)->useOp = NIL;
36304 					(yyval.sortby)->location = -1;		/* no operator */
36305 				}
36306 #line 36307 "gram.c" /* yacc.c:1652  */
36307     break;
36308 
36309   case 1527:
36310 #line 10414 "gram.y" /* yacc.c:1652  */
36311     { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-1].node)); }
36312 #line 36313 "gram.c" /* yacc.c:1652  */
36313     break;
36314 
36315   case 1528:
36316 #line 10415 "gram.y" /* yacc.c:1652  */
36317     { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node)); }
36318 #line 36319 "gram.c" /* yacc.c:1652  */
36319     break;
36320 
36321   case 1529:
36322 #line 10416 "gram.y" /* yacc.c:1652  */
36323     { (yyval.list) = list_make2(NULL, (yyvsp[0].node)); }
36324 #line 36325 "gram.c" /* yacc.c:1652  */
36325     break;
36326 
36327   case 1530:
36328 #line 10417 "gram.y" /* yacc.c:1652  */
36329     { (yyval.list) = list_make2((yyvsp[0].node), NULL); }
36330 #line 36331 "gram.c" /* yacc.c:1652  */
36331     break;
36332 
36333   case 1531:
36334 #line 10421 "gram.y" /* yacc.c:1652  */
36335     { (yyval.list) = (yyvsp[0].list); }
36336 #line 36337 "gram.c" /* yacc.c:1652  */
36337     break;
36338 
36339   case 1532:
36340 #line 10422 "gram.y" /* yacc.c:1652  */
36341     { (yyval.list) = list_make2(NULL,NULL); }
36342 #line 36343 "gram.c" /* yacc.c:1652  */
36343     break;
36344 
36345   case 1533:
36346 #line 10427 "gram.y" /* yacc.c:1652  */
36347     { (yyval.node) = (yyvsp[0].node); }
36348 #line 36349 "gram.c" /* yacc.c:1652  */
36349     break;
36350 
36351   case 1534:
36352 #line 10429 "gram.y" /* yacc.c:1652  */
36353     {
36354 					/* Disabled because it was too confusing, bjm 2002-02-18 */
36355 					ereport(ERROR,
36356 							(errcode(ERRCODE_SYNTAX_ERROR),
36357 							 errmsg("LIMIT #,# syntax is not supported"),
36358 							 errhint("Use separate LIMIT and OFFSET clauses."),
36359 							 parser_errposition((yylsp[-3]))));
36360 				}
36361 #line 36362 "gram.c" /* yacc.c:1652  */
36362     break;
36363 
36364   case 1535:
36365 #line 10445 "gram.y" /* yacc.c:1652  */
36366     { (yyval.node) = (yyvsp[-2].node); }
36367 #line 36368 "gram.c" /* yacc.c:1652  */
36368     break;
36369 
36370   case 1536:
36371 #line 10447 "gram.y" /* yacc.c:1652  */
36372     { (yyval.node) = makeIntConst(1, -1); }
36373 #line 36374 "gram.c" /* yacc.c:1652  */
36374     break;
36375 
36376   case 1537:
36377 #line 10452 "gram.y" /* yacc.c:1652  */
36378     { (yyval.node) = (yyvsp[0].node); }
36379 #line 36380 "gram.c" /* yacc.c:1652  */
36380     break;
36381 
36382   case 1538:
36383 #line 10455 "gram.y" /* yacc.c:1652  */
36384     { (yyval.node) = (yyvsp[-1].node); }
36385 #line 36386 "gram.c" /* yacc.c:1652  */
36386     break;
36387 
36388   case 1539:
36389 #line 10459 "gram.y" /* yacc.c:1652  */
36390     { (yyval.node) = (yyvsp[0].node); }
36391 #line 36392 "gram.c" /* yacc.c:1652  */
36392     break;
36393 
36394   case 1540:
36395 #line 10461 "gram.y" /* yacc.c:1652  */
36396     {
36397 					/* LIMIT ALL is represented as a NULL constant */
36398 					(yyval.node) = makeNullAConst((yylsp[0]));
36399 				}
36400 #line 36401 "gram.c" /* yacc.c:1652  */
36401     break;
36402 
36403   case 1541:
36404 #line 10468 "gram.y" /* yacc.c:1652  */
36405     { (yyval.node) = (yyvsp[0].node); }
36406 #line 36407 "gram.c" /* yacc.c:1652  */
36407     break;
36408 
36409   case 1542:
36410 #line 10488 "gram.y" /* yacc.c:1652  */
36411     { (yyval.node) = (yyvsp[0].node); }
36412 #line 36413 "gram.c" /* yacc.c:1652  */
36413     break;
36414 
36415   case 1543:
36416 #line 10490 "gram.y" /* yacc.c:1652  */
36417     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
36418 #line 36419 "gram.c" /* yacc.c:1652  */
36419     break;
36420 
36421   case 1544:
36422 #line 10492 "gram.y" /* yacc.c:1652  */
36423     { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
36424 #line 36425 "gram.c" /* yacc.c:1652  */
36425     break;
36426 
36427   case 1545:
36428 #line 10496 "gram.y" /* yacc.c:1652  */
36429     { (yyval.node) = makeIntConst((yyvsp[0].ival),(yylsp[0])); }
36430 #line 36431 "gram.c" /* yacc.c:1652  */
36431     break;
36432 
36433   case 1546:
36434 #line 10497 "gram.y" /* yacc.c:1652  */
36435     { (yyval.node) = makeFloatConst((yyvsp[0].str),(yylsp[0])); }
36436 #line 36437 "gram.c" /* yacc.c:1652  */
36437     break;
36438 
36439   case 1547:
36440 #line 10501 "gram.y" /* yacc.c:1652  */
36441     { (yyval.ival) = 0; }
36442 #line 36443 "gram.c" /* yacc.c:1652  */
36443     break;
36444 
36445   case 1548:
36446 #line 10502 "gram.y" /* yacc.c:1652  */
36447     { (yyval.ival) = 0; }
36448 #line 36449 "gram.c" /* yacc.c:1652  */
36449     break;
36450 
36451   case 1549:
36452 #line 10505 "gram.y" /* yacc.c:1652  */
36453     { (yyval.ival) = 0; }
36454 #line 36455 "gram.c" /* yacc.c:1652  */
36455     break;
36456 
36457   case 1550:
36458 #line 10506 "gram.y" /* yacc.c:1652  */
36459     { (yyval.ival) = 0; }
36460 #line 36461 "gram.c" /* yacc.c:1652  */
36461     break;
36462 
36463   case 1551:
36464 #line 10531 "gram.y" /* yacc.c:1652  */
36465     { (yyval.list) = (yyvsp[0].list); }
36466 #line 36467 "gram.c" /* yacc.c:1652  */
36467     break;
36468 
36469   case 1552:
36470 #line 10532 "gram.y" /* yacc.c:1652  */
36471     { (yyval.list) = NIL; }
36472 #line 36473 "gram.c" /* yacc.c:1652  */
36473     break;
36474 
36475   case 1553:
36476 #line 10536 "gram.y" /* yacc.c:1652  */
36477     { (yyval.list) = list_make1((yyvsp[0].node)); }
36478 #line 36479 "gram.c" /* yacc.c:1652  */
36479     break;
36480 
36481   case 1554:
36482 #line 10537 "gram.y" /* yacc.c:1652  */
36483     { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
36484 #line 36485 "gram.c" /* yacc.c:1652  */
36485     break;
36486 
36487   case 1555:
36488 #line 10541 "gram.y" /* yacc.c:1652  */
36489     { (yyval.node) = (yyvsp[0].node); }
36490 #line 36491 "gram.c" /* yacc.c:1652  */
36491     break;
36492 
36493   case 1556:
36494 #line 10542 "gram.y" /* yacc.c:1652  */
36495     { (yyval.node) = (yyvsp[0].node); }
36496 #line 36497 "gram.c" /* yacc.c:1652  */
36497     break;
36498 
36499   case 1557:
36500 #line 10543 "gram.y" /* yacc.c:1652  */
36501     { (yyval.node) = (yyvsp[0].node); }
36502 #line 36503 "gram.c" /* yacc.c:1652  */
36503     break;
36504 
36505   case 1558:
36506 #line 10544 "gram.y" /* yacc.c:1652  */
36507     { (yyval.node) = (yyvsp[0].node); }
36508 #line 36509 "gram.c" /* yacc.c:1652  */
36509     break;
36510 
36511   case 1559:
36512 #line 10545 "gram.y" /* yacc.c:1652  */
36513     { (yyval.node) = (yyvsp[0].node); }
36514 #line 36515 "gram.c" /* yacc.c:1652  */
36515     break;
36516 
36517   case 1560:
36518 #line 10550 "gram.y" /* yacc.c:1652  */
36519     {
36520 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
36521 				}
36522 #line 36523 "gram.c" /* yacc.c:1652  */
36523     break;
36524 
36525   case 1561:
36526 #line 10563 "gram.y" /* yacc.c:1652  */
36527     {
36528 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
36529 				}
36530 #line 36531 "gram.c" /* yacc.c:1652  */
36531     break;
36532 
36533   case 1562:
36534 #line 10570 "gram.y" /* yacc.c:1652  */
36535     {
36536 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
36537 				}
36538 #line 36539 "gram.c" /* yacc.c:1652  */
36539     break;
36540 
36541   case 1563:
36542 #line 10577 "gram.y" /* yacc.c:1652  */
36543     {
36544 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
36545 				}
36546 #line 36547 "gram.c" /* yacc.c:1652  */
36547     break;
36548 
36549   case 1564:
36550 #line 10583 "gram.y" /* yacc.c:1652  */
36551     { (yyval.node) = (yyvsp[0].node); }
36552 #line 36553 "gram.c" /* yacc.c:1652  */
36553     break;
36554 
36555   case 1565:
36556 #line 10584 "gram.y" /* yacc.c:1652  */
36557     { (yyval.node) = NULL; }
36558 #line 36559 "gram.c" /* yacc.c:1652  */
36559     break;
36560 
36561   case 1566:
36562 #line 10588 "gram.y" /* yacc.c:1652  */
36563     { (yyval.list) = (yyvsp[0].list); }
36564 #line 36565 "gram.c" /* yacc.c:1652  */
36565     break;
36566 
36567   case 1567:
36568 #line 10589 "gram.y" /* yacc.c:1652  */
36569     { (yyval.list) = NIL; }
36570 #line 36571 "gram.c" /* yacc.c:1652  */
36571     break;
36572 
36573   case 1568:
36574 #line 10593 "gram.y" /* yacc.c:1652  */
36575     { (yyval.list) = (yyvsp[0].list); }
36576 #line 36577 "gram.c" /* yacc.c:1652  */
36577     break;
36578 
36579   case 1569:
36580 #line 10594 "gram.y" /* yacc.c:1652  */
36581     { (yyval.list) = NIL; }
36582 #line 36583 "gram.c" /* yacc.c:1652  */
36583     break;
36584 
36585   case 1570:
36586 #line 10598 "gram.y" /* yacc.c:1652  */
36587     { (yyval.list) = list_make1((yyvsp[0].node)); }
36588 #line 36589 "gram.c" /* yacc.c:1652  */
36589     break;
36590 
36591   case 1571:
36592 #line 10599 "gram.y" /* yacc.c:1652  */
36593     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
36594 #line 36595 "gram.c" /* yacc.c:1652  */
36595     break;
36596 
36597   case 1572:
36598 #line 10604 "gram.y" /* yacc.c:1652  */
36599     {
36600 					LockingClause *n = makeNode(LockingClause);
36601 					n->lockedRels = (yyvsp[-1].list);
36602 					n->strength = (yyvsp[-2].ival);
36603 					n->waitPolicy = (yyvsp[0].ival);
36604 					(yyval.node) = (Node *) n;
36605 				}
36606 #line 36607 "gram.c" /* yacc.c:1652  */
36607     break;
36608 
36609   case 1573:
36610 #line 10614 "gram.y" /* yacc.c:1652  */
36611     { (yyval.ival) = LCS_FORUPDATE; }
36612 #line 36613 "gram.c" /* yacc.c:1652  */
36613     break;
36614 
36615   case 1574:
36616 #line 10615 "gram.y" /* yacc.c:1652  */
36617     { (yyval.ival) = LCS_FORNOKEYUPDATE; }
36618 #line 36619 "gram.c" /* yacc.c:1652  */
36619     break;
36620 
36621   case 1575:
36622 #line 10616 "gram.y" /* yacc.c:1652  */
36623     { (yyval.ival) = LCS_FORSHARE; }
36624 #line 36625 "gram.c" /* yacc.c:1652  */
36625     break;
36626 
36627   case 1576:
36628 #line 10617 "gram.y" /* yacc.c:1652  */
36629     { (yyval.ival) = LCS_FORKEYSHARE; }
36630 #line 36631 "gram.c" /* yacc.c:1652  */
36631     break;
36632 
36633   case 1577:
36634 #line 10621 "gram.y" /* yacc.c:1652  */
36635     { (yyval.list) = (yyvsp[0].list); }
36636 #line 36637 "gram.c" /* yacc.c:1652  */
36637     break;
36638 
36639   case 1578:
36640 #line 10622 "gram.y" /* yacc.c:1652  */
36641     { (yyval.list) = NIL; }
36642 #line 36643 "gram.c" /* yacc.c:1652  */
36643     break;
36644 
36645   case 1579:
36646 #line 10628 "gram.y" /* yacc.c:1652  */
36647     {
36648 					SelectStmt *n = makeNode(SelectStmt);
36649 					n->valuesLists = list_make1((yyvsp[0].list));
36650 					(yyval.node) = (Node *) n;
36651 				}
36652 #line 36653 "gram.c" /* yacc.c:1652  */
36653     break;
36654 
36655   case 1580:
36656 #line 10634 "gram.y" /* yacc.c:1652  */
36657     {
36658 					SelectStmt *n = (SelectStmt *) (yyvsp[-2].node);
36659 					n->valuesLists = lappend(n->valuesLists, (yyvsp[0].list));
36660 					(yyval.node) = (Node *) n;
36661 				}
36662 #line 36663 "gram.c" /* yacc.c:1652  */
36663     break;
36664 
36665   case 1581:
36666 #line 10651 "gram.y" /* yacc.c:1652  */
36667     { (yyval.list) = (yyvsp[0].list); }
36668 #line 36669 "gram.c" /* yacc.c:1652  */
36669     break;
36670 
36671   case 1582:
36672 #line 10652 "gram.y" /* yacc.c:1652  */
36673     { (yyval.list) = NIL; }
36674 #line 36675 "gram.c" /* yacc.c:1652  */
36675     break;
36676 
36677   case 1583:
36678 #line 10656 "gram.y" /* yacc.c:1652  */
36679     { (yyval.list) = list_make1((yyvsp[0].node)); }
36680 #line 36681 "gram.c" /* yacc.c:1652  */
36681     break;
36682 
36683   case 1584:
36684 #line 10657 "gram.y" /* yacc.c:1652  */
36685     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
36686 #line 36687 "gram.c" /* yacc.c:1652  */
36687     break;
36688 
36689   case 1585:
36690 #line 10664 "gram.y" /* yacc.c:1652  */
36691     {
36692 					(yyvsp[-1].range)->alias = (yyvsp[0].alias);
36693 					(yyval.node) = (Node *) (yyvsp[-1].range);
36694 				}
36695 #line 36696 "gram.c" /* yacc.c:1652  */
36696     break;
36697 
36698   case 1586:
36699 #line 10669 "gram.y" /* yacc.c:1652  */
36700     {
36701 					RangeTableSample *n = (RangeTableSample *) (yyvsp[0].node);
36702 					(yyvsp[-2].range)->alias = (yyvsp[-1].alias);
36703 					/* relation_expr goes inside the RangeTableSample node */
36704 					n->relation = (Node *) (yyvsp[-2].range);
36705 					(yyval.node) = (Node *) n;
36706 				}
36707 #line 36708 "gram.c" /* yacc.c:1652  */
36708     break;
36709 
36710   case 1587:
36711 #line 10677 "gram.y" /* yacc.c:1652  */
36712     {
36713 					RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
36714 					n->alias = linitial((yyvsp[0].list));
36715 					n->coldeflist = lsecond((yyvsp[0].list));
36716 					(yyval.node) = (Node *) n;
36717 				}
36718 #line 36719 "gram.c" /* yacc.c:1652  */
36719     break;
36720 
36721   case 1588:
36722 #line 10684 "gram.y" /* yacc.c:1652  */
36723     {
36724 					RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
36725 					n->lateral = true;
36726 					n->alias = linitial((yyvsp[0].list));
36727 					n->coldeflist = lsecond((yyvsp[0].list));
36728 					(yyval.node) = (Node *) n;
36729 				}
36730 #line 36731 "gram.c" /* yacc.c:1652  */
36731     break;
36732 
36733   case 1589:
36734 #line 10692 "gram.y" /* yacc.c:1652  */
36735     {
36736 					RangeSubselect *n = makeNode(RangeSubselect);
36737 					n->lateral = false;
36738 					n->subquery = (yyvsp[-1].node);
36739 					n->alias = (yyvsp[0].alias);
36740 					/*
36741 					 * The SQL spec does not permit a subselect
36742 					 * (<derived_table>) without an alias clause,
36743 					 * so we don't either.  This avoids the problem
36744 					 * of needing to invent a unique refname for it.
36745 					 * That could be surmounted if there's sufficient
36746 					 * popular demand, but for now let's just implement
36747 					 * the spec and see if anyone complains.
36748 					 * However, it does seem like a good idea to emit
36749 					 * an error message that's better than "syntax error".
36750 					 */
36751 					if ((yyvsp[0].alias) == NULL)
36752 					{
36753 						if (IsA((yyvsp[-1].node), SelectStmt) &&
36754 							((SelectStmt *) (yyvsp[-1].node))->valuesLists)
36755 							ereport(ERROR,
36756 									(errcode(ERRCODE_SYNTAX_ERROR),
36757 									 errmsg("VALUES in FROM must have an alias"),
36758 									 errhint("For example, FROM (VALUES ...) [AS] foo."),
36759 									 parser_errposition((yylsp[-1]))));
36760 						else
36761 							ereport(ERROR,
36762 									(errcode(ERRCODE_SYNTAX_ERROR),
36763 									 errmsg("subquery in FROM must have an alias"),
36764 									 errhint("For example, FROM (SELECT ...) [AS] foo."),
36765 									 parser_errposition((yylsp[-1]))));
36766 					}
36767 					(yyval.node) = (Node *) n;
36768 				}
36769 #line 36770 "gram.c" /* yacc.c:1652  */
36770     break;
36771 
36772   case 1590:
36773 #line 10727 "gram.y" /* yacc.c:1652  */
36774     {
36775 					RangeSubselect *n = makeNode(RangeSubselect);
36776 					n->lateral = true;
36777 					n->subquery = (yyvsp[-1].node);
36778 					n->alias = (yyvsp[0].alias);
36779 					/* same comment as above */
36780 					if ((yyvsp[0].alias) == NULL)
36781 					{
36782 						if (IsA((yyvsp[-1].node), SelectStmt) &&
36783 							((SelectStmt *) (yyvsp[-1].node))->valuesLists)
36784 							ereport(ERROR,
36785 									(errcode(ERRCODE_SYNTAX_ERROR),
36786 									 errmsg("VALUES in FROM must have an alias"),
36787 									 errhint("For example, FROM (VALUES ...) [AS] foo."),
36788 									 parser_errposition((yylsp[-1]))));
36789 						else
36790 							ereport(ERROR,
36791 									(errcode(ERRCODE_SYNTAX_ERROR),
36792 									 errmsg("subquery in FROM must have an alias"),
36793 									 errhint("For example, FROM (SELECT ...) [AS] foo."),
36794 									 parser_errposition((yylsp[-1]))));
36795 					}
36796 					(yyval.node) = (Node *) n;
36797 				}
36798 #line 36799 "gram.c" /* yacc.c:1652  */
36799     break;
36800 
36801   case 1591:
36802 #line 10752 "gram.y" /* yacc.c:1652  */
36803     {
36804 					(yyval.node) = (Node *) (yyvsp[0].jexpr);
36805 				}
36806 #line 36807 "gram.c" /* yacc.c:1652  */
36807     break;
36808 
36809   case 1592:
36810 #line 10756 "gram.y" /* yacc.c:1652  */
36811     {
36812 					(yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
36813 					(yyval.node) = (Node *) (yyvsp[-2].jexpr);
36814 				}
36815 #line 36816 "gram.c" /* yacc.c:1652  */
36816     break;
36817 
36818   case 1593:
36819 #line 10782 "gram.y" /* yacc.c:1652  */
36820     {
36821 					(yyval.jexpr) = (yyvsp[-1].jexpr);
36822 				}
36823 #line 36824 "gram.c" /* yacc.c:1652  */
36824     break;
36825 
36826   case 1594:
36827 #line 10786 "gram.y" /* yacc.c:1652  */
36828     {
36829 					/* CROSS JOIN is same as unqualified inner join */
36830 					JoinExpr *n = makeNode(JoinExpr);
36831 					n->jointype = JOIN_INNER;
36832 					n->isNatural = FALSE;
36833 					n->larg = (yyvsp[-3].node);
36834 					n->rarg = (yyvsp[0].node);
36835 					n->usingClause = NIL;
36836 					n->quals = NULL;
36837 					(yyval.jexpr) = n;
36838 				}
36839 #line 36840 "gram.c" /* yacc.c:1652  */
36840     break;
36841 
36842   case 1595:
36843 #line 10798 "gram.y" /* yacc.c:1652  */
36844     {
36845 					JoinExpr *n = makeNode(JoinExpr);
36846 					n->jointype = (yyvsp[-3].jtype);
36847 					n->isNatural = FALSE;
36848 					n->larg = (yyvsp[-4].node);
36849 					n->rarg = (yyvsp[-1].node);
36850 					if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
36851 						n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
36852 					else
36853 						n->quals = (yyvsp[0].node); /* ON clause */
36854 					(yyval.jexpr) = n;
36855 				}
36856 #line 36857 "gram.c" /* yacc.c:1652  */
36857     break;
36858 
36859   case 1596:
36860 #line 10811 "gram.y" /* yacc.c:1652  */
36861     {
36862 					/* letting join_type reduce to empty doesn't work */
36863 					JoinExpr *n = makeNode(JoinExpr);
36864 					n->jointype = JOIN_INNER;
36865 					n->isNatural = FALSE;
36866 					n->larg = (yyvsp[-3].node);
36867 					n->rarg = (yyvsp[-1].node);
36868 					if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
36869 						n->usingClause = (List *) (yyvsp[0].node); /* USING clause */
36870 					else
36871 						n->quals = (yyvsp[0].node); /* ON clause */
36872 					(yyval.jexpr) = n;
36873 				}
36874 #line 36875 "gram.c" /* yacc.c:1652  */
36875     break;
36876 
36877   case 1597:
36878 #line 10825 "gram.y" /* yacc.c:1652  */
36879     {
36880 					JoinExpr *n = makeNode(JoinExpr);
36881 					n->jointype = (yyvsp[-2].jtype);
36882 					n->isNatural = TRUE;
36883 					n->larg = (yyvsp[-4].node);
36884 					n->rarg = (yyvsp[0].node);
36885 					n->usingClause = NIL; /* figure out which columns later... */
36886 					n->quals = NULL; /* fill later */
36887 					(yyval.jexpr) = n;
36888 				}
36889 #line 36890 "gram.c" /* yacc.c:1652  */
36890     break;
36891 
36892   case 1598:
36893 #line 10836 "gram.y" /* yacc.c:1652  */
36894     {
36895 					/* letting join_type reduce to empty doesn't work */
36896 					JoinExpr *n = makeNode(JoinExpr);
36897 					n->jointype = JOIN_INNER;
36898 					n->isNatural = TRUE;
36899 					n->larg = (yyvsp[-3].node);
36900 					n->rarg = (yyvsp[0].node);
36901 					n->usingClause = NIL; /* figure out which columns later... */
36902 					n->quals = NULL; /* fill later */
36903 					(yyval.jexpr) = n;
36904 				}
36905 #line 36906 "gram.c" /* yacc.c:1652  */
36906     break;
36907 
36908   case 1599:
36909 #line 10851 "gram.y" /* yacc.c:1652  */
36910     {
36911 					(yyval.alias) = makeNode(Alias);
36912 					(yyval.alias)->aliasname = (yyvsp[-3].str);
36913 					(yyval.alias)->colnames = (yyvsp[-1].list);
36914 				}
36915 #line 36916 "gram.c" /* yacc.c:1652  */
36916     break;
36917 
36918   case 1600:
36919 #line 10857 "gram.y" /* yacc.c:1652  */
36920     {
36921 					(yyval.alias) = makeNode(Alias);
36922 					(yyval.alias)->aliasname = (yyvsp[0].str);
36923 				}
36924 #line 36925 "gram.c" /* yacc.c:1652  */
36925     break;
36926 
36927   case 1601:
36928 #line 10862 "gram.y" /* yacc.c:1652  */
36929     {
36930 					(yyval.alias) = makeNode(Alias);
36931 					(yyval.alias)->aliasname = (yyvsp[-3].str);
36932 					(yyval.alias)->colnames = (yyvsp[-1].list);
36933 				}
36934 #line 36935 "gram.c" /* yacc.c:1652  */
36935     break;
36936 
36937   case 1602:
36938 #line 10868 "gram.y" /* yacc.c:1652  */
36939     {
36940 					(yyval.alias) = makeNode(Alias);
36941 					(yyval.alias)->aliasname = (yyvsp[0].str);
36942 				}
36943 #line 36944 "gram.c" /* yacc.c:1652  */
36944     break;
36945 
36946   case 1603:
36947 #line 10874 "gram.y" /* yacc.c:1652  */
36948     { (yyval.alias) = (yyvsp[0].alias); }
36949 #line 36950 "gram.c" /* yacc.c:1652  */
36950     break;
36951 
36952   case 1604:
36953 #line 10875 "gram.y" /* yacc.c:1652  */
36954     { (yyval.alias) = NULL; }
36955 #line 36956 "gram.c" /* yacc.c:1652  */
36956     break;
36957 
36958   case 1605:
36959 #line 10884 "gram.y" /* yacc.c:1652  */
36960     {
36961 					(yyval.list) = list_make2((yyvsp[0].alias), NIL);
36962 				}
36963 #line 36964 "gram.c" /* yacc.c:1652  */
36964     break;
36965 
36966   case 1606:
36967 #line 10888 "gram.y" /* yacc.c:1652  */
36968     {
36969 					(yyval.list) = list_make2(NULL, (yyvsp[-1].list));
36970 				}
36971 #line 36972 "gram.c" /* yacc.c:1652  */
36972     break;
36973 
36974   case 1607:
36975 #line 10892 "gram.y" /* yacc.c:1652  */
36976     {
36977 					Alias *a = makeNode(Alias);
36978 					a->aliasname = (yyvsp[-3].str);
36979 					(yyval.list) = list_make2(a, (yyvsp[-1].list));
36980 				}
36981 #line 36982 "gram.c" /* yacc.c:1652  */
36982     break;
36983 
36984   case 1608:
36985 #line 10898 "gram.y" /* yacc.c:1652  */
36986     {
36987 					Alias *a = makeNode(Alias);
36988 					a->aliasname = (yyvsp[-3].str);
36989 					(yyval.list) = list_make2(a, (yyvsp[-1].list));
36990 				}
36991 #line 36992 "gram.c" /* yacc.c:1652  */
36992     break;
36993 
36994   case 1609:
36995 #line 10904 "gram.y" /* yacc.c:1652  */
36996     {
36997 					(yyval.list) = list_make2(NULL, NIL);
36998 				}
36999 #line 37000 "gram.c" /* yacc.c:1652  */
37000     break;
37001 
37002   case 1610:
37003 #line 10909 "gram.y" /* yacc.c:1652  */
37004     { (yyval.jtype) = JOIN_FULL; }
37005 #line 37006 "gram.c" /* yacc.c:1652  */
37006     break;
37007 
37008   case 1611:
37009 #line 10910 "gram.y" /* yacc.c:1652  */
37010     { (yyval.jtype) = JOIN_LEFT; }
37011 #line 37012 "gram.c" /* yacc.c:1652  */
37012     break;
37013 
37014   case 1612:
37015 #line 10911 "gram.y" /* yacc.c:1652  */
37016     { (yyval.jtype) = JOIN_RIGHT; }
37017 #line 37018 "gram.c" /* yacc.c:1652  */
37018     break;
37019 
37020   case 1613:
37021 #line 10912 "gram.y" /* yacc.c:1652  */
37022     { (yyval.jtype) = JOIN_INNER; }
37023 #line 37024 "gram.c" /* yacc.c:1652  */
37024     break;
37025 
37026   case 1614:
37027 #line 10916 "gram.y" /* yacc.c:1652  */
37028     { (yyval.node) = NULL; }
37029 #line 37030 "gram.c" /* yacc.c:1652  */
37030     break;
37031 
37032   case 1615:
37033 #line 10917 "gram.y" /* yacc.c:1652  */
37034     { (yyval.node) = NULL; }
37035 #line 37036 "gram.c" /* yacc.c:1652  */
37036     break;
37037 
37038   case 1616:
37039 #line 10929 "gram.y" /* yacc.c:1652  */
37040     { (yyval.node) = (Node *) (yyvsp[-1].list); }
37041 #line 37042 "gram.c" /* yacc.c:1652  */
37042     break;
37043 
37044   case 1617:
37045 #line 10930 "gram.y" /* yacc.c:1652  */
37046     { (yyval.node) = (yyvsp[0].node); }
37047 #line 37048 "gram.c" /* yacc.c:1652  */
37048     break;
37049 
37050   case 1618:
37051 #line 10936 "gram.y" /* yacc.c:1652  */
37052     {
37053 					/* default inheritance */
37054 					(yyval.range) = (yyvsp[0].range);
37055 					(yyval.range)->inhOpt = INH_DEFAULT;
37056 					(yyval.range)->alias = NULL;
37057 				}
37058 #line 37059 "gram.c" /* yacc.c:1652  */
37059     break;
37060 
37061   case 1619:
37062 #line 10943 "gram.y" /* yacc.c:1652  */
37063     {
37064 					/* inheritance query */
37065 					(yyval.range) = (yyvsp[-1].range);
37066 					(yyval.range)->inhOpt = INH_YES;
37067 					(yyval.range)->alias = NULL;
37068 				}
37069 #line 37070 "gram.c" /* yacc.c:1652  */
37070     break;
37071 
37072   case 1620:
37073 #line 10950 "gram.y" /* yacc.c:1652  */
37074     {
37075 					/* no inheritance */
37076 					(yyval.range) = (yyvsp[0].range);
37077 					(yyval.range)->inhOpt = INH_NO;
37078 					(yyval.range)->alias = NULL;
37079 				}
37080 #line 37081 "gram.c" /* yacc.c:1652  */
37081     break;
37082 
37083   case 1621:
37084 #line 10957 "gram.y" /* yacc.c:1652  */
37085     {
37086 					/* no inheritance, SQL99-style syntax */
37087 					(yyval.range) = (yyvsp[-1].range);
37088 					(yyval.range)->inhOpt = INH_NO;
37089 					(yyval.range)->alias = NULL;
37090 				}
37091 #line 37092 "gram.c" /* yacc.c:1652  */
37092     break;
37093 
37094   case 1622:
37095 #line 10967 "gram.y" /* yacc.c:1652  */
37096     { (yyval.list) = list_make1((yyvsp[0].range)); }
37097 #line 37098 "gram.c" /* yacc.c:1652  */
37098     break;
37099 
37100   case 1623:
37101 #line 10968 "gram.y" /* yacc.c:1652  */
37102     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
37103 #line 37104 "gram.c" /* yacc.c:1652  */
37104     break;
37105 
37106   case 1624:
37107 #line 10982 "gram.y" /* yacc.c:1652  */
37108     {
37109 					(yyval.range) = (yyvsp[0].range);
37110 				}
37111 #line 37112 "gram.c" /* yacc.c:1652  */
37112     break;
37113 
37114   case 1625:
37115 #line 10986 "gram.y" /* yacc.c:1652  */
37116     {
37117 					Alias *alias = makeNode(Alias);
37118 					alias->aliasname = (yyvsp[0].str);
37119 					(yyvsp[-1].range)->alias = alias;
37120 					(yyval.range) = (yyvsp[-1].range);
37121 				}
37122 #line 37123 "gram.c" /* yacc.c:1652  */
37123     break;
37124 
37125   case 1626:
37126 #line 10993 "gram.y" /* yacc.c:1652  */
37127     {
37128 					Alias *alias = makeNode(Alias);
37129 					alias->aliasname = (yyvsp[0].str);
37130 					(yyvsp[-2].range)->alias = alias;
37131 					(yyval.range) = (yyvsp[-2].range);
37132 				}
37133 #line 37134 "gram.c" /* yacc.c:1652  */
37134     break;
37135 
37136   case 1627:
37137 #line 11006 "gram.y" /* yacc.c:1652  */
37138     {
37139 					RangeTableSample *n = makeNode(RangeTableSample);
37140 					/* n->relation will be filled in later */
37141 					n->method = (yyvsp[-4].list);
37142 					n->args = (yyvsp[-2].list);
37143 					n->repeatable = (yyvsp[0].node);
37144 					n->location = (yylsp[-4]);
37145 					(yyval.node) = (Node *) n;
37146 				}
37147 #line 37148 "gram.c" /* yacc.c:1652  */
37148     break;
37149 
37150   case 1628:
37151 #line 11018 "gram.y" /* yacc.c:1652  */
37152     { (yyval.node) = (Node *) (yyvsp[-1].node); }
37153 #line 37154 "gram.c" /* yacc.c:1652  */
37154     break;
37155 
37156   case 1629:
37157 #line 11019 "gram.y" /* yacc.c:1652  */
37158     { (yyval.node) = NULL; }
37159 #line 37160 "gram.c" /* yacc.c:1652  */
37160     break;
37161 
37162   case 1630:
37163 #line 11035 "gram.y" /* yacc.c:1652  */
37164     {
37165 					RangeFunction *n = makeNode(RangeFunction);
37166 					n->lateral = false;
37167 					n->ordinality = (yyvsp[0].boolean);
37168 					n->is_rowsfrom = false;
37169 					n->functions = list_make1(list_make2((yyvsp[-1].node), NIL));
37170 					/* alias and coldeflist are set by table_ref production */
37171 					(yyval.node) = (Node *) n;
37172 				}
37173 #line 37174 "gram.c" /* yacc.c:1652  */
37174     break;
37175 
37176   case 1631:
37177 #line 11045 "gram.y" /* yacc.c:1652  */
37178     {
37179 					RangeFunction *n = makeNode(RangeFunction);
37180 					n->lateral = false;
37181 					n->ordinality = (yyvsp[0].boolean);
37182 					n->is_rowsfrom = true;
37183 					n->functions = (yyvsp[-2].list);
37184 					/* alias and coldeflist are set by table_ref production */
37185 					(yyval.node) = (Node *) n;
37186 				}
37187 #line 37188 "gram.c" /* yacc.c:1652  */
37188     break;
37189 
37190   case 1632:
37191 #line 11057 "gram.y" /* yacc.c:1652  */
37192     { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
37193 #line 37194 "gram.c" /* yacc.c:1652  */
37194     break;
37195 
37196   case 1633:
37197 #line 11061 "gram.y" /* yacc.c:1652  */
37198     { (yyval.list) = list_make1((yyvsp[0].list)); }
37199 #line 37200 "gram.c" /* yacc.c:1652  */
37200     break;
37201 
37202   case 1634:
37203 #line 11062 "gram.y" /* yacc.c:1652  */
37204     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
37205 #line 37206 "gram.c" /* yacc.c:1652  */
37206     break;
37207 
37208   case 1635:
37209 #line 11065 "gram.y" /* yacc.c:1652  */
37210     { (yyval.list) = (yyvsp[-1].list); }
37211 #line 37212 "gram.c" /* yacc.c:1652  */
37212     break;
37213 
37214   case 1636:
37215 #line 11066 "gram.y" /* yacc.c:1652  */
37216     { (yyval.list) = NIL; }
37217 #line 37218 "gram.c" /* yacc.c:1652  */
37218     break;
37219 
37220   case 1637:
37221 #line 11069 "gram.y" /* yacc.c:1652  */
37222     { (yyval.boolean) = true; }
37223 #line 37224 "gram.c" /* yacc.c:1652  */
37224     break;
37225 
37226   case 1638:
37227 #line 11070 "gram.y" /* yacc.c:1652  */
37228     { (yyval.boolean) = false; }
37229 #line 37230 "gram.c" /* yacc.c:1652  */
37230     break;
37231 
37232   case 1639:
37233 #line 11075 "gram.y" /* yacc.c:1652  */
37234     { (yyval.node) = (yyvsp[0].node); }
37235 #line 37236 "gram.c" /* yacc.c:1652  */
37236     break;
37237 
37238   case 1640:
37239 #line 11076 "gram.y" /* yacc.c:1652  */
37240     { (yyval.node) = NULL; }
37241 #line 37242 "gram.c" /* yacc.c:1652  */
37242     break;
37243 
37244   case 1641:
37245 #line 11081 "gram.y" /* yacc.c:1652  */
37246     { (yyval.node) = (yyvsp[0].node); }
37247 #line 37248 "gram.c" /* yacc.c:1652  */
37248     break;
37249 
37250   case 1642:
37251 #line 11083 "gram.y" /* yacc.c:1652  */
37252     {
37253 					CurrentOfExpr *n = makeNode(CurrentOfExpr);
37254 					/* cvarno is filled in by parse analysis */
37255 					n->cursor_name = (yyvsp[0].str);
37256 					n->cursor_param = 0;
37257 					(yyval.node) = (Node *) n;
37258 				}
37259 #line 37260 "gram.c" /* yacc.c:1652  */
37260     break;
37261 
37262   case 1643:
37263 #line 11090 "gram.y" /* yacc.c:1652  */
37264     { (yyval.node) = NULL; }
37265 #line 37266 "gram.c" /* yacc.c:1652  */
37266     break;
37267 
37268   case 1644:
37269 #line 11095 "gram.y" /* yacc.c:1652  */
37270     { (yyval.list) = (yyvsp[0].list); }
37271 #line 37272 "gram.c" /* yacc.c:1652  */
37272     break;
37273 
37274   case 1645:
37275 #line 11096 "gram.y" /* yacc.c:1652  */
37276     { (yyval.list) = NIL; }
37277 #line 37278 "gram.c" /* yacc.c:1652  */
37278     break;
37279 
37280   case 1646:
37281 #line 11101 "gram.y" /* yacc.c:1652  */
37282     {
37283 					(yyval.list) = list_make1((yyvsp[0].node));
37284 				}
37285 #line 37286 "gram.c" /* yacc.c:1652  */
37286     break;
37287 
37288   case 1647:
37289 #line 11105 "gram.y" /* yacc.c:1652  */
37290     {
37291 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
37292 				}
37293 #line 37294 "gram.c" /* yacc.c:1652  */
37294     break;
37295 
37296   case 1648:
37297 #line 11111 "gram.y" /* yacc.c:1652  */
37298     {
37299 					ColumnDef *n = makeNode(ColumnDef);
37300 					n->colname = (yyvsp[-2].str);
37301 					n->typeName = (yyvsp[-1].typnam);
37302 					n->inhcount = 0;
37303 					n->is_local = true;
37304 					n->is_not_null = false;
37305 					n->is_from_type = false;
37306 					n->storage = 0;
37307 					n->raw_default = NULL;
37308 					n->cooked_default = NULL;
37309 					n->collClause = (CollateClause *) (yyvsp[0].node);
37310 					n->collOid = InvalidOid;
37311 					n->constraints = NIL;
37312 					n->location = (yylsp[-2]);
37313 					(yyval.node) = (Node *)n;
37314 				}
37315 #line 37316 "gram.c" /* yacc.c:1652  */
37316     break;
37317 
37318   case 1649:
37319 #line 11141 "gram.y" /* yacc.c:1652  */
37320     {
37321 					(yyval.typnam) = (yyvsp[-1].typnam);
37322 					(yyval.typnam)->arrayBounds = (yyvsp[0].list);
37323 				}
37324 #line 37325 "gram.c" /* yacc.c:1652  */
37325     break;
37326 
37327   case 1650:
37328 #line 11146 "gram.y" /* yacc.c:1652  */
37329     {
37330 					(yyval.typnam) = (yyvsp[-1].typnam);
37331 					(yyval.typnam)->arrayBounds = (yyvsp[0].list);
37332 					(yyval.typnam)->setof = TRUE;
37333 				}
37334 #line 37335 "gram.c" /* yacc.c:1652  */
37335     break;
37336 
37337   case 1651:
37338 #line 11153 "gram.y" /* yacc.c:1652  */
37339     {
37340 					(yyval.typnam) = (yyvsp[-4].typnam);
37341 					(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
37342 				}
37343 #line 37344 "gram.c" /* yacc.c:1652  */
37344     break;
37345 
37346   case 1652:
37347 #line 11158 "gram.y" /* yacc.c:1652  */
37348     {
37349 					(yyval.typnam) = (yyvsp[-4].typnam);
37350 					(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
37351 					(yyval.typnam)->setof = TRUE;
37352 				}
37353 #line 37354 "gram.c" /* yacc.c:1652  */
37354     break;
37355 
37356   case 1653:
37357 #line 11164 "gram.y" /* yacc.c:1652  */
37358     {
37359 					(yyval.typnam) = (yyvsp[-1].typnam);
37360 					(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
37361 				}
37362 #line 37363 "gram.c" /* yacc.c:1652  */
37363     break;
37364 
37365   case 1654:
37366 #line 11169 "gram.y" /* yacc.c:1652  */
37367     {
37368 					(yyval.typnam) = (yyvsp[-1].typnam);
37369 					(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
37370 					(yyval.typnam)->setof = TRUE;
37371 				}
37372 #line 37373 "gram.c" /* yacc.c:1652  */
37373     break;
37374 
37375   case 1655:
37376 #line 11178 "gram.y" /* yacc.c:1652  */
37377     {  (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
37378 #line 37379 "gram.c" /* yacc.c:1652  */
37379     break;
37380 
37381   case 1656:
37382 #line 11180 "gram.y" /* yacc.c:1652  */
37383     {  (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
37384 #line 37385 "gram.c" /* yacc.c:1652  */
37385     break;
37386 
37387   case 1657:
37388 #line 11182 "gram.y" /* yacc.c:1652  */
37389     {  (yyval.list) = NIL; }
37390 #line 37391 "gram.c" /* yacc.c:1652  */
37391     break;
37392 
37393   case 1658:
37394 #line 11186 "gram.y" /* yacc.c:1652  */
37395     { (yyval.typnam) = (yyvsp[0].typnam); }
37396 #line 37397 "gram.c" /* yacc.c:1652  */
37397     break;
37398 
37399   case 1659:
37400 #line 11187 "gram.y" /* yacc.c:1652  */
37401     { (yyval.typnam) = (yyvsp[0].typnam); }
37402 #line 37403 "gram.c" /* yacc.c:1652  */
37403     break;
37404 
37405   case 1660:
37406 #line 11188 "gram.y" /* yacc.c:1652  */
37407     { (yyval.typnam) = (yyvsp[0].typnam); }
37408 #line 37409 "gram.c" /* yacc.c:1652  */
37409     break;
37410 
37411   case 1661:
37412 #line 11189 "gram.y" /* yacc.c:1652  */
37413     { (yyval.typnam) = (yyvsp[0].typnam); }
37414 #line 37415 "gram.c" /* yacc.c:1652  */
37415     break;
37416 
37417   case 1662:
37418 #line 11190 "gram.y" /* yacc.c:1652  */
37419     { (yyval.typnam) = (yyvsp[0].typnam); }
37420 #line 37421 "gram.c" /* yacc.c:1652  */
37421     break;
37422 
37423   case 1663:
37424 #line 11192 "gram.y" /* yacc.c:1652  */
37425     {
37426 					(yyval.typnam) = (yyvsp[-1].typnam);
37427 					(yyval.typnam)->typmods = (yyvsp[0].list);
37428 				}
37429 #line 37430 "gram.c" /* yacc.c:1652  */
37430     break;
37431 
37432   case 1664:
37433 #line 11197 "gram.y" /* yacc.c:1652  */
37434     {
37435 					(yyval.typnam) = (yyvsp[-3].typnam);
37436 					(yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
37437 											 makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
37438 				}
37439 #line 37440 "gram.c" /* yacc.c:1652  */
37440     break;
37441 
37442   case 1665:
37443 #line 11216 "gram.y" /* yacc.c:1652  */
37444     { (yyval.typnam) = (yyvsp[0].typnam); }
37445 #line 37446 "gram.c" /* yacc.c:1652  */
37446     break;
37447 
37448   case 1666:
37449 #line 11217 "gram.y" /* yacc.c:1652  */
37450     { (yyval.typnam) = (yyvsp[0].typnam); }
37451 #line 37452 "gram.c" /* yacc.c:1652  */
37452     break;
37453 
37454   case 1667:
37455 #line 11218 "gram.y" /* yacc.c:1652  */
37456     { (yyval.typnam) = (yyvsp[0].typnam); }
37457 #line 37458 "gram.c" /* yacc.c:1652  */
37458     break;
37459 
37460   case 1668:
37461 #line 11219 "gram.y" /* yacc.c:1652  */
37462     { (yyval.typnam) = (yyvsp[0].typnam); }
37463 #line 37464 "gram.c" /* yacc.c:1652  */
37464     break;
37465 
37466   case 1669:
37467 #line 11231 "gram.y" /* yacc.c:1652  */
37468     {
37469 					(yyval.typnam) = makeTypeName((yyvsp[-1].str));
37470 					(yyval.typnam)->typmods = (yyvsp[0].list);
37471 					(yyval.typnam)->location = (yylsp[-1]);
37472 				}
37473 #line 37474 "gram.c" /* yacc.c:1652  */
37474     break;
37475 
37476   case 1670:
37477 #line 11237 "gram.y" /* yacc.c:1652  */
37478     {
37479 					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
37480 					(yyval.typnam)->typmods = (yyvsp[0].list);
37481 					(yyval.typnam)->location = (yylsp[-2]);
37482 				}
37483 #line 37484 "gram.c" /* yacc.c:1652  */
37484     break;
37485 
37486   case 1671:
37487 #line 11244 "gram.y" /* yacc.c:1652  */
37488     { (yyval.list) = (yyvsp[-1].list); }
37489 #line 37490 "gram.c" /* yacc.c:1652  */
37490     break;
37491 
37492   case 1672:
37493 #line 11245 "gram.y" /* yacc.c:1652  */
37494     { (yyval.list) = NIL; }
37495 #line 37496 "gram.c" /* yacc.c:1652  */
37496     break;
37497 
37498   case 1673:
37499 #line 11252 "gram.y" /* yacc.c:1652  */
37500     {
37501 					(yyval.typnam) = SystemTypeName("int4");
37502 					(yyval.typnam)->location = (yylsp[0]);
37503 				}
37504 #line 37505 "gram.c" /* yacc.c:1652  */
37505     break;
37506 
37507   case 1674:
37508 #line 11257 "gram.y" /* yacc.c:1652  */
37509     {
37510 					(yyval.typnam) = SystemTypeName("int4");
37511 					(yyval.typnam)->location = (yylsp[0]);
37512 				}
37513 #line 37514 "gram.c" /* yacc.c:1652  */
37514     break;
37515 
37516   case 1675:
37517 #line 11262 "gram.y" /* yacc.c:1652  */
37518     {
37519 					(yyval.typnam) = SystemTypeName("int2");
37520 					(yyval.typnam)->location = (yylsp[0]);
37521 				}
37522 #line 37523 "gram.c" /* yacc.c:1652  */
37523     break;
37524 
37525   case 1676:
37526 #line 11267 "gram.y" /* yacc.c:1652  */
37527     {
37528 					(yyval.typnam) = SystemTypeName("int8");
37529 					(yyval.typnam)->location = (yylsp[0]);
37530 				}
37531 #line 37532 "gram.c" /* yacc.c:1652  */
37532     break;
37533 
37534   case 1677:
37535 #line 11272 "gram.y" /* yacc.c:1652  */
37536     {
37537 					(yyval.typnam) = SystemTypeName("float4");
37538 					(yyval.typnam)->location = (yylsp[0]);
37539 				}
37540 #line 37541 "gram.c" /* yacc.c:1652  */
37541     break;
37542 
37543   case 1678:
37544 #line 11277 "gram.y" /* yacc.c:1652  */
37545     {
37546 					(yyval.typnam) = (yyvsp[0].typnam);
37547 					(yyval.typnam)->location = (yylsp[-1]);
37548 				}
37549 #line 37550 "gram.c" /* yacc.c:1652  */
37550     break;
37551 
37552   case 1679:
37553 #line 11282 "gram.y" /* yacc.c:1652  */
37554     {
37555 					(yyval.typnam) = SystemTypeName("float8");
37556 					(yyval.typnam)->location = (yylsp[-1]);
37557 				}
37558 #line 37559 "gram.c" /* yacc.c:1652  */
37559     break;
37560 
37561   case 1680:
37562 #line 11287 "gram.y" /* yacc.c:1652  */
37563     {
37564 					(yyval.typnam) = SystemTypeName("numeric");
37565 					(yyval.typnam)->typmods = (yyvsp[0].list);
37566 					(yyval.typnam)->location = (yylsp[-1]);
37567 				}
37568 #line 37569 "gram.c" /* yacc.c:1652  */
37569     break;
37570 
37571   case 1681:
37572 #line 11293 "gram.y" /* yacc.c:1652  */
37573     {
37574 					(yyval.typnam) = SystemTypeName("numeric");
37575 					(yyval.typnam)->typmods = (yyvsp[0].list);
37576 					(yyval.typnam)->location = (yylsp[-1]);
37577 				}
37578 #line 37579 "gram.c" /* yacc.c:1652  */
37579     break;
37580 
37581   case 1682:
37582 #line 11299 "gram.y" /* yacc.c:1652  */
37583     {
37584 					(yyval.typnam) = SystemTypeName("numeric");
37585 					(yyval.typnam)->typmods = (yyvsp[0].list);
37586 					(yyval.typnam)->location = (yylsp[-1]);
37587 				}
37588 #line 37589 "gram.c" /* yacc.c:1652  */
37589     break;
37590 
37591   case 1683:
37592 #line 11305 "gram.y" /* yacc.c:1652  */
37593     {
37594 					(yyval.typnam) = SystemTypeName("bool");
37595 					(yyval.typnam)->location = (yylsp[0]);
37596 				}
37597 #line 37598 "gram.c" /* yacc.c:1652  */
37598     break;
37599 
37600   case 1684:
37601 #line 11312 "gram.y" /* yacc.c:1652  */
37602     {
37603 					/*
37604 					 * Check FLOAT() precision limits assuming IEEE floating
37605 					 * types - thomas 1997-09-18
37606 					 */
37607 					if ((yyvsp[-1].ival) < 1)
37608 						ereport(ERROR,
37609 								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
37610 								 errmsg("precision for type float must be at least 1 bit"),
37611 								 parser_errposition((yylsp[-1]))));
37612 					else if ((yyvsp[-1].ival) <= 24)
37613 						(yyval.typnam) = SystemTypeName("float4");
37614 					else if ((yyvsp[-1].ival) <= 53)
37615 						(yyval.typnam) = SystemTypeName("float8");
37616 					else
37617 						ereport(ERROR,
37618 								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
37619 								 errmsg("precision for type float must be less than 54 bits"),
37620 								 parser_errposition((yylsp[-1]))));
37621 				}
37622 #line 37623 "gram.c" /* yacc.c:1652  */
37623     break;
37624 
37625   case 1685:
37626 #line 11333 "gram.y" /* yacc.c:1652  */
37627     {
37628 					(yyval.typnam) = SystemTypeName("float8");
37629 				}
37630 #line 37631 "gram.c" /* yacc.c:1652  */
37631     break;
37632 
37633   case 1686:
37634 #line 11343 "gram.y" /* yacc.c:1652  */
37635     {
37636 					(yyval.typnam) = (yyvsp[0].typnam);
37637 				}
37638 #line 37639 "gram.c" /* yacc.c:1652  */
37639     break;
37640 
37641   case 1687:
37642 #line 11347 "gram.y" /* yacc.c:1652  */
37643     {
37644 					(yyval.typnam) = (yyvsp[0].typnam);
37645 				}
37646 #line 37647 "gram.c" /* yacc.c:1652  */
37647     break;
37648 
37649   case 1688:
37650 #line 11355 "gram.y" /* yacc.c:1652  */
37651     {
37652 					(yyval.typnam) = (yyvsp[0].typnam);
37653 				}
37654 #line 37655 "gram.c" /* yacc.c:1652  */
37655     break;
37656 
37657   case 1689:
37658 #line 11359 "gram.y" /* yacc.c:1652  */
37659     {
37660 					(yyval.typnam) = (yyvsp[0].typnam);
37661 					(yyval.typnam)->typmods = NIL;
37662 				}
37663 #line 37664 "gram.c" /* yacc.c:1652  */
37664     break;
37665 
37666   case 1690:
37667 #line 11367 "gram.y" /* yacc.c:1652  */
37668     {
37669 					char *typname;
37670 
37671 					typname = (yyvsp[-3].boolean) ? "varbit" : "bit";
37672 					(yyval.typnam) = SystemTypeName(typname);
37673 					(yyval.typnam)->typmods = (yyvsp[-1].list);
37674 					(yyval.typnam)->location = (yylsp[-4]);
37675 				}
37676 #line 37677 "gram.c" /* yacc.c:1652  */
37677     break;
37678 
37679   case 1691:
37680 #line 11379 "gram.y" /* yacc.c:1652  */
37681     {
37682 					/* bit defaults to bit(1), varbit to no limit */
37683 					if ((yyvsp[0].boolean))
37684 					{
37685 						(yyval.typnam) = SystemTypeName("varbit");
37686 					}
37687 					else
37688 					{
37689 						(yyval.typnam) = SystemTypeName("bit");
37690 						(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
37691 					}
37692 					(yyval.typnam)->location = (yylsp[-1]);
37693 				}
37694 #line 37695 "gram.c" /* yacc.c:1652  */
37695     break;
37696 
37697   case 1692:
37698 #line 11400 "gram.y" /* yacc.c:1652  */
37699     {
37700 					(yyval.typnam) = (yyvsp[0].typnam);
37701 				}
37702 #line 37703 "gram.c" /* yacc.c:1652  */
37703     break;
37704 
37705   case 1693:
37706 #line 11404 "gram.y" /* yacc.c:1652  */
37707     {
37708 					(yyval.typnam) = (yyvsp[0].typnam);
37709 				}
37710 #line 37711 "gram.c" /* yacc.c:1652  */
37711     break;
37712 
37713   case 1694:
37714 #line 11410 "gram.y" /* yacc.c:1652  */
37715     {
37716 					(yyval.typnam) = (yyvsp[0].typnam);
37717 				}
37718 #line 37719 "gram.c" /* yacc.c:1652  */
37719     break;
37720 
37721   case 1695:
37722 #line 11414 "gram.y" /* yacc.c:1652  */
37723     {
37724 					/* Length was not specified so allow to be unrestricted.
37725 					 * This handles problems with fixed-length (bpchar) strings
37726 					 * which in column definitions must default to a length
37727 					 * of one, but should not be constrained if the length
37728 					 * was not specified.
37729 					 */
37730 					(yyval.typnam) = (yyvsp[0].typnam);
37731 					(yyval.typnam)->typmods = NIL;
37732 				}
37733 #line 37734 "gram.c" /* yacc.c:1652  */
37734     break;
37735 
37736   case 1696:
37737 #line 11427 "gram.y" /* yacc.c:1652  */
37738     {
37739 					if (((yyvsp[0].str) != NULL) && (strcmp((yyvsp[0].str), "sql_text") != 0))
37740 						(yyvsp[-4].str) = psprintf("%s_%s", (yyvsp[-4].str), (yyvsp[0].str));
37741 
37742 					(yyval.typnam) = SystemTypeName((yyvsp[-4].str));
37743 					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
37744 					(yyval.typnam)->location = (yylsp[-4]);
37745 				}
37746 #line 37747 "gram.c" /* yacc.c:1652  */
37747     break;
37748 
37749   case 1697:
37750 #line 11438 "gram.y" /* yacc.c:1652  */
37751     {
37752 					if (((yyvsp[0].str) != NULL) && (strcmp((yyvsp[0].str), "sql_text") != 0))
37753 						(yyvsp[-1].str) = psprintf("%s_%s", (yyvsp[-1].str), (yyvsp[0].str));
37754 
37755 					(yyval.typnam) = SystemTypeName((yyvsp[-1].str));
37756 
37757 					/* char defaults to char(1), varchar to no limit */
37758 					if (strcmp((yyvsp[-1].str), "bpchar") == 0)
37759 						(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
37760 
37761 					(yyval.typnam)->location = (yylsp[-1]);
37762 				}
37763 #line 37764 "gram.c" /* yacc.c:1652  */
37764     break;
37765 
37766   case 1698:
37767 #line 11453 "gram.y" /* yacc.c:1652  */
37768     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
37769 #line 37770 "gram.c" /* yacc.c:1652  */
37770     break;
37771 
37772   case 1699:
37773 #line 11455 "gram.y" /* yacc.c:1652  */
37774     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
37775 #line 37776 "gram.c" /* yacc.c:1652  */
37776     break;
37777 
37778   case 1700:
37779 #line 11457 "gram.y" /* yacc.c:1652  */
37780     { (yyval.str) = "varchar"; }
37781 #line 37782 "gram.c" /* yacc.c:1652  */
37782     break;
37783 
37784   case 1701:
37785 #line 11459 "gram.y" /* yacc.c:1652  */
37786     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
37787 #line 37788 "gram.c" /* yacc.c:1652  */
37788     break;
37789 
37790   case 1702:
37791 #line 11461 "gram.y" /* yacc.c:1652  */
37792     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
37793 #line 37794 "gram.c" /* yacc.c:1652  */
37794     break;
37795 
37796   case 1703:
37797 #line 11463 "gram.y" /* yacc.c:1652  */
37798     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
37799 #line 37800 "gram.c" /* yacc.c:1652  */
37800     break;
37801 
37802   case 1704:
37803 #line 11467 "gram.y" /* yacc.c:1652  */
37804     { (yyval.boolean) = TRUE; }
37805 #line 37806 "gram.c" /* yacc.c:1652  */
37806     break;
37807 
37808   case 1705:
37809 #line 11468 "gram.y" /* yacc.c:1652  */
37810     { (yyval.boolean) = FALSE; }
37811 #line 37812 "gram.c" /* yacc.c:1652  */
37812     break;
37813 
37814   case 1706:
37815 #line 11472 "gram.y" /* yacc.c:1652  */
37816     { (yyval.str) = (yyvsp[0].str); }
37817 #line 37818 "gram.c" /* yacc.c:1652  */
37818     break;
37819 
37820   case 1707:
37821 #line 11473 "gram.y" /* yacc.c:1652  */
37822     { (yyval.str) = NULL; }
37823 #line 37824 "gram.c" /* yacc.c:1652  */
37824     break;
37825 
37826   case 1708:
37827 #line 11481 "gram.y" /* yacc.c:1652  */
37828     {
37829 					if ((yyvsp[0].boolean))
37830 						(yyval.typnam) = SystemTypeName("timestamptz");
37831 					else
37832 						(yyval.typnam) = SystemTypeName("timestamp");
37833 					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
37834 					(yyval.typnam)->location = (yylsp[-4]);
37835 				}
37836 #line 37837 "gram.c" /* yacc.c:1652  */
37837     break;
37838 
37839   case 1709:
37840 #line 11490 "gram.y" /* yacc.c:1652  */
37841     {
37842 					if ((yyvsp[0].boolean))
37843 						(yyval.typnam) = SystemTypeName("timestamptz");
37844 					else
37845 						(yyval.typnam) = SystemTypeName("timestamp");
37846 					(yyval.typnam)->location = (yylsp[-1]);
37847 				}
37848 #line 37849 "gram.c" /* yacc.c:1652  */
37849     break;
37850 
37851   case 1710:
37852 #line 11498 "gram.y" /* yacc.c:1652  */
37853     {
37854 					if ((yyvsp[0].boolean))
37855 						(yyval.typnam) = SystemTypeName("timetz");
37856 					else
37857 						(yyval.typnam) = SystemTypeName("time");
37858 					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
37859 					(yyval.typnam)->location = (yylsp[-4]);
37860 				}
37861 #line 37862 "gram.c" /* yacc.c:1652  */
37862     break;
37863 
37864   case 1711:
37865 #line 11507 "gram.y" /* yacc.c:1652  */
37866     {
37867 					if ((yyvsp[0].boolean))
37868 						(yyval.typnam) = SystemTypeName("timetz");
37869 					else
37870 						(yyval.typnam) = SystemTypeName("time");
37871 					(yyval.typnam)->location = (yylsp[-1]);
37872 				}
37873 #line 37874 "gram.c" /* yacc.c:1652  */
37874     break;
37875 
37876   case 1712:
37877 #line 11518 "gram.y" /* yacc.c:1652  */
37878     {
37879 					(yyval.typnam) = SystemTypeName("interval");
37880 					(yyval.typnam)->location = (yylsp[0]);
37881 				}
37882 #line 37883 "gram.c" /* yacc.c:1652  */
37883     break;
37884 
37885   case 1713:
37886 #line 11525 "gram.y" /* yacc.c:1652  */
37887     { (yyval.boolean) = TRUE; }
37888 #line 37889 "gram.c" /* yacc.c:1652  */
37889     break;
37890 
37891   case 1714:
37892 #line 11526 "gram.y" /* yacc.c:1652  */
37893     { (yyval.boolean) = FALSE; }
37894 #line 37895 "gram.c" /* yacc.c:1652  */
37895     break;
37896 
37897   case 1715:
37898 #line 11527 "gram.y" /* yacc.c:1652  */
37899     { (yyval.boolean) = FALSE; }
37900 #line 37901 "gram.c" /* yacc.c:1652  */
37901     break;
37902 
37903   case 1716:
37904 #line 11532 "gram.y" /* yacc.c:1652  */
37905     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
37906 #line 37907 "gram.c" /* yacc.c:1652  */
37907     break;
37908 
37909   case 1717:
37910 #line 11534 "gram.y" /* yacc.c:1652  */
37911     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
37912 #line 37913 "gram.c" /* yacc.c:1652  */
37913     break;
37914 
37915   case 1718:
37916 #line 11536 "gram.y" /* yacc.c:1652  */
37917     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
37918 #line 37919 "gram.c" /* yacc.c:1652  */
37919     break;
37920 
37921   case 1719:
37922 #line 11538 "gram.y" /* yacc.c:1652  */
37923     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
37924 #line 37925 "gram.c" /* yacc.c:1652  */
37925     break;
37926 
37927   case 1720:
37928 #line 11540 "gram.y" /* yacc.c:1652  */
37929     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
37930 #line 37931 "gram.c" /* yacc.c:1652  */
37931     break;
37932 
37933   case 1721:
37934 #line 11542 "gram.y" /* yacc.c:1652  */
37935     { (yyval.list) = (yyvsp[0].list); }
37936 #line 37937 "gram.c" /* yacc.c:1652  */
37937     break;
37938 
37939   case 1722:
37940 #line 11544 "gram.y" /* yacc.c:1652  */
37941     {
37942 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
37943 												 INTERVAL_MASK(MONTH), (yylsp[-2])));
37944 				}
37945 #line 37946 "gram.c" /* yacc.c:1652  */
37946     break;
37947 
37948   case 1723:
37949 #line 11549 "gram.y" /* yacc.c:1652  */
37950     {
37951 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
37952 												 INTERVAL_MASK(HOUR), (yylsp[-2])));
37953 				}
37954 #line 37955 "gram.c" /* yacc.c:1652  */
37955     break;
37956 
37957   case 1724:
37958 #line 11554 "gram.y" /* yacc.c:1652  */
37959     {
37960 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
37961 												 INTERVAL_MASK(HOUR) |
37962 												 INTERVAL_MASK(MINUTE), (yylsp[-2])));
37963 				}
37964 #line 37965 "gram.c" /* yacc.c:1652  */
37965     break;
37966 
37967   case 1725:
37968 #line 11560 "gram.y" /* yacc.c:1652  */
37969     {
37970 					(yyval.list) = (yyvsp[0].list);
37971 					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
37972 												INTERVAL_MASK(HOUR) |
37973 												INTERVAL_MASK(MINUTE) |
37974 												INTERVAL_MASK(SECOND), (yylsp[-2]));
37975 				}
37976 #line 37977 "gram.c" /* yacc.c:1652  */
37977     break;
37978 
37979   case 1726:
37980 #line 11568 "gram.y" /* yacc.c:1652  */
37981     {
37982 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
37983 												 INTERVAL_MASK(MINUTE), (yylsp[-2])));
37984 				}
37985 #line 37986 "gram.c" /* yacc.c:1652  */
37986     break;
37987 
37988   case 1727:
37989 #line 11573 "gram.y" /* yacc.c:1652  */
37990     {
37991 					(yyval.list) = (yyvsp[0].list);
37992 					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
37993 												INTERVAL_MASK(MINUTE) |
37994 												INTERVAL_MASK(SECOND), (yylsp[-2]));
37995 				}
37996 #line 37997 "gram.c" /* yacc.c:1652  */
37997     break;
37998 
37999   case 1728:
38000 #line 11580 "gram.y" /* yacc.c:1652  */
38001     {
38002 					(yyval.list) = (yyvsp[0].list);
38003 					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
38004 												INTERVAL_MASK(SECOND), (yylsp[-2]));
38005 				}
38006 #line 38007 "gram.c" /* yacc.c:1652  */
38007     break;
38008 
38009   case 1729:
38010 #line 11586 "gram.y" /* yacc.c:1652  */
38011     { (yyval.list) = NIL; }
38012 #line 38013 "gram.c" /* yacc.c:1652  */
38013     break;
38014 
38015   case 1730:
38016 #line 11591 "gram.y" /* yacc.c:1652  */
38017     {
38018 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
38019 				}
38020 #line 38021 "gram.c" /* yacc.c:1652  */
38021     break;
38022 
38023   case 1731:
38024 #line 11595 "gram.y" /* yacc.c:1652  */
38025     {
38026 					(yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
38027 									makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
38028 				}
38029 #line 38030 "gram.c" /* yacc.c:1652  */
38030     break;
38031 
38032   case 1732:
38033 #line 11630 "gram.y" /* yacc.c:1652  */
38034     { (yyval.node) = (yyvsp[0].node); }
38035 #line 38036 "gram.c" /* yacc.c:1652  */
38036     break;
38037 
38038   case 1733:
38039 #line 11632 "gram.y" /* yacc.c:1652  */
38040     { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
38041 #line 38042 "gram.c" /* yacc.c:1652  */
38042     break;
38043 
38044   case 1734:
38045 #line 11634 "gram.y" /* yacc.c:1652  */
38046     {
38047 					CollateClause *n = makeNode(CollateClause);
38048 					n->arg = (yyvsp[-2].node);
38049 					n->collname = (yyvsp[0].list);
38050 					n->location = (yylsp[-1]);
38051 					(yyval.node) = (Node *) n;
38052 				}
38053 #line 38054 "gram.c" /* yacc.c:1652  */
38054     break;
38055 
38056   case 1735:
38057 #line 11642 "gram.y" /* yacc.c:1652  */
38058     {
38059 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
38060 											   list_make2((yyvsp[0].node), (yyvsp[-4].node)),
38061 											   (yylsp[-3]));
38062 				}
38063 #line 38064 "gram.c" /* yacc.c:1652  */
38064     break;
38065 
38066   case 1736:
38067 #line 11657 "gram.y" /* yacc.c:1652  */
38068     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
38069 #line 38070 "gram.c" /* yacc.c:1652  */
38070     break;
38071 
38072   case 1737:
38073 #line 11659 "gram.y" /* yacc.c:1652  */
38074     { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
38075 #line 38076 "gram.c" /* yacc.c:1652  */
38076     break;
38077 
38078   case 1738:
38079 #line 11661 "gram.y" /* yacc.c:1652  */
38080     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38081 #line 38082 "gram.c" /* yacc.c:1652  */
38082     break;
38083 
38084   case 1739:
38085 #line 11663 "gram.y" /* yacc.c:1652  */
38086     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38087 #line 38088 "gram.c" /* yacc.c:1652  */
38088     break;
38089 
38090   case 1740:
38091 #line 11665 "gram.y" /* yacc.c:1652  */
38092     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38093 #line 38094 "gram.c" /* yacc.c:1652  */
38094     break;
38095 
38096   case 1741:
38097 #line 11667 "gram.y" /* yacc.c:1652  */
38098     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38099 #line 38100 "gram.c" /* yacc.c:1652  */
38100     break;
38101 
38102   case 1742:
38103 #line 11669 "gram.y" /* yacc.c:1652  */
38104     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38105 #line 38106 "gram.c" /* yacc.c:1652  */
38106     break;
38107 
38108   case 1743:
38109 #line 11671 "gram.y" /* yacc.c:1652  */
38110     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38111 #line 38112 "gram.c" /* yacc.c:1652  */
38112     break;
38113 
38114   case 1744:
38115 #line 11673 "gram.y" /* yacc.c:1652  */
38116     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38117 #line 38118 "gram.c" /* yacc.c:1652  */
38118     break;
38119 
38120   case 1745:
38121 #line 11675 "gram.y" /* yacc.c:1652  */
38122     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38123 #line 38124 "gram.c" /* yacc.c:1652  */
38124     break;
38125 
38126   case 1746:
38127 #line 11677 "gram.y" /* yacc.c:1652  */
38128     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38129 #line 38130 "gram.c" /* yacc.c:1652  */
38130     break;
38131 
38132   case 1747:
38133 #line 11679 "gram.y" /* yacc.c:1652  */
38134     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38135 #line 38136 "gram.c" /* yacc.c:1652  */
38136     break;
38137 
38138   case 1748:
38139 #line 11681 "gram.y" /* yacc.c:1652  */
38140     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38141 #line 38142 "gram.c" /* yacc.c:1652  */
38142     break;
38143 
38144   case 1749:
38145 #line 11683 "gram.y" /* yacc.c:1652  */
38146     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38147 #line 38148 "gram.c" /* yacc.c:1652  */
38148     break;
38149 
38150   case 1750:
38151 #line 11686 "gram.y" /* yacc.c:1652  */
38152     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38153 #line 38154 "gram.c" /* yacc.c:1652  */
38154     break;
38155 
38156   case 1751:
38157 #line 11688 "gram.y" /* yacc.c:1652  */
38158     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
38159 #line 38160 "gram.c" /* yacc.c:1652  */
38160     break;
38161 
38162   case 1752:
38163 #line 11690 "gram.y" /* yacc.c:1652  */
38164     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
38165 #line 38166 "gram.c" /* yacc.c:1652  */
38166     break;
38167 
38168   case 1753:
38169 #line 11693 "gram.y" /* yacc.c:1652  */
38170     { (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38171 #line 38172 "gram.c" /* yacc.c:1652  */
38172     break;
38173 
38174   case 1754:
38175 #line 11695 "gram.y" /* yacc.c:1652  */
38176     { (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38177 #line 38178 "gram.c" /* yacc.c:1652  */
38178     break;
38179 
38180   case 1755:
38181 #line 11697 "gram.y" /* yacc.c:1652  */
38182     { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
38183 #line 38184 "gram.c" /* yacc.c:1652  */
38184     break;
38185 
38186   case 1756:
38187 #line 11699 "gram.y" /* yacc.c:1652  */
38188     { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
38189 #line 38190 "gram.c" /* yacc.c:1652  */
38190     break;
38191 
38192   case 1757:
38193 #line 11702 "gram.y" /* yacc.c:1652  */
38194     {
38195 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
38196 												   (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
38197 				}
38198 #line 38199 "gram.c" /* yacc.c:1652  */
38199     break;
38200 
38201   case 1758:
38202 #line 11707 "gram.y" /* yacc.c:1652  */
38203     {
38204 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
38205 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
38206 											   (yylsp[-3]));
38207 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
38208 												   (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
38209 				}
38210 #line 38211 "gram.c" /* yacc.c:1652  */
38211     break;
38212 
38213   case 1759:
38214 #line 11715 "gram.y" /* yacc.c:1652  */
38215     {
38216 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
38217 												   (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
38218 				}
38219 #line 38220 "gram.c" /* yacc.c:1652  */
38220     break;
38221 
38222   case 1760:
38223 #line 11720 "gram.y" /* yacc.c:1652  */
38224     {
38225 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
38226 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
38227 											   (yylsp[-4]));
38228 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
38229 												   (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
38230 				}
38231 #line 38232 "gram.c" /* yacc.c:1652  */
38232     break;
38233 
38234   case 1761:
38235 #line 11728 "gram.y" /* yacc.c:1652  */
38236     {
38237 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
38238 												   (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
38239 				}
38240 #line 38241 "gram.c" /* yacc.c:1652  */
38241     break;
38242 
38243   case 1762:
38244 #line 11733 "gram.y" /* yacc.c:1652  */
38245     {
38246 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
38247 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
38248 											   (yylsp[-3]));
38249 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
38250 												   (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
38251 				}
38252 #line 38253 "gram.c" /* yacc.c:1652  */
38253     break;
38254 
38255   case 1763:
38256 #line 11741 "gram.y" /* yacc.c:1652  */
38257     {
38258 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
38259 												   (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
38260 				}
38261 #line 38262 "gram.c" /* yacc.c:1652  */
38262     break;
38263 
38264   case 1764:
38265 #line 11746 "gram.y" /* yacc.c:1652  */
38266     {
38267 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
38268 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
38269 											   (yylsp[-4]));
38270 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
38271 												   (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
38272 				}
38273 #line 38274 "gram.c" /* yacc.c:1652  */
38274     break;
38275 
38276   case 1765:
38277 #line 11755 "gram.y" /* yacc.c:1652  */
38278     {
38279 					FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
38280 											   list_make2((yyvsp[0].node), makeNullAConst(-1)),
38281 											   (yylsp[-2]));
38282 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
38283 												   (yyvsp[-3].node), (Node *) n, (yylsp[-2]));
38284 				}
38285 #line 38286 "gram.c" /* yacc.c:1652  */
38286     break;
38287 
38288   case 1766:
38289 #line 11763 "gram.y" /* yacc.c:1652  */
38290     {
38291 					FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
38292 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
38293 											   (yylsp[-4]));
38294 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
38295 												   (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
38296 				}
38297 #line 38298 "gram.c" /* yacc.c:1652  */
38298     break;
38299 
38300   case 1767:
38301 #line 11771 "gram.y" /* yacc.c:1652  */
38302     {
38303 					FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
38304 											   list_make2((yyvsp[0].node), makeNullAConst(-1)),
38305 											   (yylsp[-3]));
38306 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
38307 												   (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
38308 				}
38309 #line 38310 "gram.c" /* yacc.c:1652  */
38310     break;
38311 
38312   case 1768:
38313 #line 11779 "gram.y" /* yacc.c:1652  */
38314     {
38315 					FuncCall *n = makeFuncCall(SystemFuncName("similar_escape"),
38316 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
38317 											   (yylsp[-5]));
38318 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
38319 												   (yyvsp[-6].node), (Node *) n, (yylsp[-5]));
38320 				}
38321 #line 38322 "gram.c" /* yacc.c:1652  */
38322     break;
38323 
38324   case 1769:
38325 #line 11797 "gram.y" /* yacc.c:1652  */
38326     {
38327 					NullTest *n = makeNode(NullTest);
38328 					n->arg = (Expr *) (yyvsp[-2].node);
38329 					n->nulltesttype = IS_NULL;
38330 					n->location = (yylsp[-1]);
38331 					(yyval.node) = (Node *)n;
38332 				}
38333 #line 38334 "gram.c" /* yacc.c:1652  */
38334     break;
38335 
38336   case 1770:
38337 #line 11805 "gram.y" /* yacc.c:1652  */
38338     {
38339 					NullTest *n = makeNode(NullTest);
38340 					n->arg = (Expr *) (yyvsp[-1].node);
38341 					n->nulltesttype = IS_NULL;
38342 					n->location = (yylsp[0]);
38343 					(yyval.node) = (Node *)n;
38344 				}
38345 #line 38346 "gram.c" /* yacc.c:1652  */
38346     break;
38347 
38348   case 1771:
38349 #line 11813 "gram.y" /* yacc.c:1652  */
38350     {
38351 					NullTest *n = makeNode(NullTest);
38352 					n->arg = (Expr *) (yyvsp[-3].node);
38353 					n->nulltesttype = IS_NOT_NULL;
38354 					n->location = (yylsp[-2]);
38355 					(yyval.node) = (Node *)n;
38356 				}
38357 #line 38358 "gram.c" /* yacc.c:1652  */
38358     break;
38359 
38360   case 1772:
38361 #line 11821 "gram.y" /* yacc.c:1652  */
38362     {
38363 					NullTest *n = makeNode(NullTest);
38364 					n->arg = (Expr *) (yyvsp[-1].node);
38365 					n->nulltesttype = IS_NOT_NULL;
38366 					n->location = (yylsp[0]);
38367 					(yyval.node) = (Node *)n;
38368 				}
38369 #line 38370 "gram.c" /* yacc.c:1652  */
38370     break;
38371 
38372   case 1773:
38373 #line 11829 "gram.y" /* yacc.c:1652  */
38374     {
38375 					if (list_length((yyvsp[-2].list)) != 2)
38376 						ereport(ERROR,
38377 								(errcode(ERRCODE_SYNTAX_ERROR),
38378 								 errmsg("wrong number of parameters on left side of OVERLAPS expression"),
38379 								 parser_errposition((yylsp[-2]))));
38380 					if (list_length((yyvsp[0].list)) != 2)
38381 						ereport(ERROR,
38382 								(errcode(ERRCODE_SYNTAX_ERROR),
38383 								 errmsg("wrong number of parameters on right side of OVERLAPS expression"),
38384 								 parser_errposition((yylsp[0]))));
38385 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
38386 											   list_concat((yyvsp[-2].list), (yyvsp[0].list)),
38387 											   (yylsp[-1]));
38388 				}
38389 #line 38390 "gram.c" /* yacc.c:1652  */
38390     break;
38391 
38392   case 1774:
38393 #line 11845 "gram.y" /* yacc.c:1652  */
38394     {
38395 					BooleanTest *b = makeNode(BooleanTest);
38396 					b->arg = (Expr *) (yyvsp[-2].node);
38397 					b->booltesttype = IS_TRUE;
38398 					b->location = (yylsp[-1]);
38399 					(yyval.node) = (Node *)b;
38400 				}
38401 #line 38402 "gram.c" /* yacc.c:1652  */
38402     break;
38403 
38404   case 1775:
38405 #line 11853 "gram.y" /* yacc.c:1652  */
38406     {
38407 					BooleanTest *b = makeNode(BooleanTest);
38408 					b->arg = (Expr *) (yyvsp[-3].node);
38409 					b->booltesttype = IS_NOT_TRUE;
38410 					b->location = (yylsp[-2]);
38411 					(yyval.node) = (Node *)b;
38412 				}
38413 #line 38414 "gram.c" /* yacc.c:1652  */
38414     break;
38415 
38416   case 1776:
38417 #line 11861 "gram.y" /* yacc.c:1652  */
38418     {
38419 					BooleanTest *b = makeNode(BooleanTest);
38420 					b->arg = (Expr *) (yyvsp[-2].node);
38421 					b->booltesttype = IS_FALSE;
38422 					b->location = (yylsp[-1]);
38423 					(yyval.node) = (Node *)b;
38424 				}
38425 #line 38426 "gram.c" /* yacc.c:1652  */
38426     break;
38427 
38428   case 1777:
38429 #line 11869 "gram.y" /* yacc.c:1652  */
38430     {
38431 					BooleanTest *b = makeNode(BooleanTest);
38432 					b->arg = (Expr *) (yyvsp[-3].node);
38433 					b->booltesttype = IS_NOT_FALSE;
38434 					b->location = (yylsp[-2]);
38435 					(yyval.node) = (Node *)b;
38436 				}
38437 #line 38438 "gram.c" /* yacc.c:1652  */
38438     break;
38439 
38440   case 1778:
38441 #line 11877 "gram.y" /* yacc.c:1652  */
38442     {
38443 					BooleanTest *b = makeNode(BooleanTest);
38444 					b->arg = (Expr *) (yyvsp[-2].node);
38445 					b->booltesttype = IS_UNKNOWN;
38446 					b->location = (yylsp[-1]);
38447 					(yyval.node) = (Node *)b;
38448 				}
38449 #line 38450 "gram.c" /* yacc.c:1652  */
38450     break;
38451 
38452   case 1779:
38453 #line 11885 "gram.y" /* yacc.c:1652  */
38454     {
38455 					BooleanTest *b = makeNode(BooleanTest);
38456 					b->arg = (Expr *) (yyvsp[-3].node);
38457 					b->booltesttype = IS_NOT_UNKNOWN;
38458 					b->location = (yylsp[-2]);
38459 					(yyval.node) = (Node *)b;
38460 				}
38461 #line 38462 "gram.c" /* yacc.c:1652  */
38462     break;
38463 
38464   case 1780:
38465 #line 11893 "gram.y" /* yacc.c:1652  */
38466     {
38467 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
38468 				}
38469 #line 38470 "gram.c" /* yacc.c:1652  */
38470     break;
38471 
38472   case 1781:
38473 #line 11897 "gram.y" /* yacc.c:1652  */
38474     {
38475 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
38476 				}
38477 #line 38478 "gram.c" /* yacc.c:1652  */
38478     break;
38479 
38480   case 1782:
38481 #line 11901 "gram.y" /* yacc.c:1652  */
38482     {
38483 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
38484 				}
38485 #line 38486 "gram.c" /* yacc.c:1652  */
38486     break;
38487 
38488   case 1783:
38489 #line 11905 "gram.y" /* yacc.c:1652  */
38490     {
38491 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
38492 				}
38493 #line 38494 "gram.c" /* yacc.c:1652  */
38494     break;
38495 
38496   case 1784:
38497 #line 11909 "gram.y" /* yacc.c:1652  */
38498     {
38499 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
38500 												   "BETWEEN",
38501 												   (yyvsp[-5].node),
38502 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
38503 												   (yylsp[-4]));
38504 				}
38505 #line 38506 "gram.c" /* yacc.c:1652  */
38506     break;
38507 
38508   case 1785:
38509 #line 11917 "gram.y" /* yacc.c:1652  */
38510     {
38511 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN,
38512 												   "NOT BETWEEN",
38513 												   (yyvsp[-6].node),
38514 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
38515 												   (yylsp[-5]));
38516 				}
38517 #line 38518 "gram.c" /* yacc.c:1652  */
38518     break;
38519 
38520   case 1786:
38521 #line 11925 "gram.y" /* yacc.c:1652  */
38522     {
38523 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM,
38524 												   "BETWEEN SYMMETRIC",
38525 												   (yyvsp[-5].node),
38526 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
38527 												   (yylsp[-4]));
38528 				}
38529 #line 38530 "gram.c" /* yacc.c:1652  */
38530     break;
38531 
38532   case 1787:
38533 #line 11933 "gram.y" /* yacc.c:1652  */
38534     {
38535 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM,
38536 												   "NOT BETWEEN SYMMETRIC",
38537 												   (yyvsp[-6].node),
38538 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
38539 												   (yylsp[-5]));
38540 				}
38541 #line 38542 "gram.c" /* yacc.c:1652  */
38542     break;
38543 
38544   case 1788:
38545 #line 11941 "gram.y" /* yacc.c:1652  */
38546     {
38547 					/* in_expr returns a SubLink or a list of a_exprs */
38548 					if (IsA((yyvsp[0].node), SubLink))
38549 					{
38550 						/* generate foo = ANY (subquery) */
38551 						SubLink *n = (SubLink *) (yyvsp[0].node);
38552 						n->subLinkType = ANY_SUBLINK;
38553 						n->subLinkId = 0;
38554 						n->testexpr = (yyvsp[-2].node);
38555 						n->operName = NIL;		/* show it's IN not = ANY */
38556 						n->location = (yylsp[-1]);
38557 						(yyval.node) = (Node *)n;
38558 					}
38559 					else
38560 					{
38561 						/* generate scalar IN expression */
38562 						(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
38563 					}
38564 				}
38565 #line 38566 "gram.c" /* yacc.c:1652  */
38566     break;
38567 
38568   case 1789:
38569 #line 11961 "gram.y" /* yacc.c:1652  */
38570     {
38571 					/* in_expr returns a SubLink or a list of a_exprs */
38572 					if (IsA((yyvsp[0].node), SubLink))
38573 					{
38574 						/* generate NOT (foo = ANY (subquery)) */
38575 						/* Make an = ANY node */
38576 						SubLink *n = (SubLink *) (yyvsp[0].node);
38577 						n->subLinkType = ANY_SUBLINK;
38578 						n->subLinkId = 0;
38579 						n->testexpr = (yyvsp[-3].node);
38580 						n->operName = NIL;		/* show it's IN not = ANY */
38581 						n->location = (yylsp[-2]);
38582 						/* Stick a NOT on top; must have same parse location */
38583 						(yyval.node) = makeNotExpr((Node *) n, (yylsp[-2]));
38584 					}
38585 					else
38586 					{
38587 						/* generate scalar NOT IN expression */
38588 						(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
38589 					}
38590 				}
38591 #line 38592 "gram.c" /* yacc.c:1652  */
38592     break;
38593 
38594   case 1790:
38595 #line 11983 "gram.y" /* yacc.c:1652  */
38596     {
38597 					SubLink *n = makeNode(SubLink);
38598 					n->subLinkType = (yyvsp[-1].ival);
38599 					n->subLinkId = 0;
38600 					n->testexpr = (yyvsp[-3].node);
38601 					n->operName = (yyvsp[-2].list);
38602 					n->subselect = (yyvsp[0].node);
38603 					n->location = (yylsp[-2]);
38604 					(yyval.node) = (Node *)n;
38605 				}
38606 #line 38607 "gram.c" /* yacc.c:1652  */
38607     break;
38608 
38609   case 1791:
38610 #line 11994 "gram.y" /* yacc.c:1652  */
38611     {
38612 					if ((yyvsp[-3].ival) == ANY_SUBLINK)
38613 						(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
38614 					else
38615 						(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
38616 				}
38617 #line 38618 "gram.c" /* yacc.c:1652  */
38618     break;
38619 
38620   case 1792:
38621 #line 12001 "gram.y" /* yacc.c:1652  */
38622     {
38623 					/* Not sure how to get rid of the parentheses
38624 					 * but there are lots of shift/reduce errors without them.
38625 					 *
38626 					 * Should be able to implement this by plopping the entire
38627 					 * select into a node, then transforming the target expressions
38628 					 * from whatever they are into count(*), and testing the
38629 					 * entire result equal to one.
38630 					 * But, will probably implement a separate node in the executor.
38631 					 */
38632 					ereport(ERROR,
38633 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
38634 							 errmsg("UNIQUE predicate is not yet implemented"),
38635 							 parser_errposition((yylsp[-1]))));
38636 				}
38637 #line 38638 "gram.c" /* yacc.c:1652  */
38638     break;
38639 
38640   case 1793:
38641 #line 12017 "gram.y" /* yacc.c:1652  */
38642     {
38643 					(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
38644 									 list_make1((yyvsp[-2].node)), (yylsp[-1]));
38645 				}
38646 #line 38647 "gram.c" /* yacc.c:1652  */
38647     break;
38648 
38649   case 1794:
38650 #line 12022 "gram.y" /* yacc.c:1652  */
38651     {
38652 					(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
38653 												 list_make1((yyvsp[-3].node)), (yylsp[-2])),
38654 									 (yylsp[-2]));
38655 				}
38656 #line 38657 "gram.c" /* yacc.c:1652  */
38657     break;
38658 
38659   case 1795:
38660 #line 12039 "gram.y" /* yacc.c:1652  */
38661     { (yyval.node) = (yyvsp[0].node); }
38662 #line 38663 "gram.c" /* yacc.c:1652  */
38663     break;
38664 
38665   case 1796:
38666 #line 12041 "gram.y" /* yacc.c:1652  */
38667     { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
38668 #line 38669 "gram.c" /* yacc.c:1652  */
38669     break;
38670 
38671   case 1797:
38672 #line 12043 "gram.y" /* yacc.c:1652  */
38673     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
38674 #line 38675 "gram.c" /* yacc.c:1652  */
38675     break;
38676 
38677   case 1798:
38678 #line 12045 "gram.y" /* yacc.c:1652  */
38679     { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
38680 #line 38681 "gram.c" /* yacc.c:1652  */
38681     break;
38682 
38683   case 1799:
38684 #line 12047 "gram.y" /* yacc.c:1652  */
38685     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38686 #line 38687 "gram.c" /* yacc.c:1652  */
38687     break;
38688 
38689   case 1800:
38690 #line 12049 "gram.y" /* yacc.c:1652  */
38691     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38692 #line 38693 "gram.c" /* yacc.c:1652  */
38693     break;
38694 
38695   case 1801:
38696 #line 12051 "gram.y" /* yacc.c:1652  */
38697     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38698 #line 38699 "gram.c" /* yacc.c:1652  */
38699     break;
38700 
38701   case 1802:
38702 #line 12053 "gram.y" /* yacc.c:1652  */
38703     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38704 #line 38705 "gram.c" /* yacc.c:1652  */
38705     break;
38706 
38707   case 1803:
38708 #line 12055 "gram.y" /* yacc.c:1652  */
38709     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38710 #line 38711 "gram.c" /* yacc.c:1652  */
38711     break;
38712 
38713   case 1804:
38714 #line 12057 "gram.y" /* yacc.c:1652  */
38715     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38716 #line 38717 "gram.c" /* yacc.c:1652  */
38717     break;
38718 
38719   case 1805:
38720 #line 12059 "gram.y" /* yacc.c:1652  */
38721     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38722 #line 38723 "gram.c" /* yacc.c:1652  */
38723     break;
38724 
38725   case 1806:
38726 #line 12061 "gram.y" /* yacc.c:1652  */
38727     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38728 #line 38729 "gram.c" /* yacc.c:1652  */
38729     break;
38730 
38731   case 1807:
38732 #line 12063 "gram.y" /* yacc.c:1652  */
38733     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38734 #line 38735 "gram.c" /* yacc.c:1652  */
38735     break;
38736 
38737   case 1808:
38738 #line 12065 "gram.y" /* yacc.c:1652  */
38739     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38740 #line 38741 "gram.c" /* yacc.c:1652  */
38741     break;
38742 
38743   case 1809:
38744 #line 12067 "gram.y" /* yacc.c:1652  */
38745     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38746 #line 38747 "gram.c" /* yacc.c:1652  */
38747     break;
38748 
38749   case 1810:
38750 #line 12069 "gram.y" /* yacc.c:1652  */
38751     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38752 #line 38753 "gram.c" /* yacc.c:1652  */
38753     break;
38754 
38755   case 1811:
38756 #line 12071 "gram.y" /* yacc.c:1652  */
38757     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
38758 #line 38759 "gram.c" /* yacc.c:1652  */
38759     break;
38760 
38761   case 1812:
38762 #line 12073 "gram.y" /* yacc.c:1652  */
38763     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
38764 #line 38765 "gram.c" /* yacc.c:1652  */
38765     break;
38766 
38767   case 1813:
38768 #line 12075 "gram.y" /* yacc.c:1652  */
38769     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[0].list), (yyvsp[-1].node), NULL, (yylsp[0])); }
38770 #line 38771 "gram.c" /* yacc.c:1652  */
38771     break;
38772 
38773   case 1814:
38774 #line 12077 "gram.y" /* yacc.c:1652  */
38775     {
38776 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
38777 				}
38778 #line 38779 "gram.c" /* yacc.c:1652  */
38779     break;
38780 
38781   case 1815:
38782 #line 12081 "gram.y" /* yacc.c:1652  */
38783     {
38784 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
38785 				}
38786 #line 38787 "gram.c" /* yacc.c:1652  */
38787     break;
38788 
38789   case 1816:
38790 #line 12085 "gram.y" /* yacc.c:1652  */
38791     {
38792 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "=", (yyvsp[-5].node), (Node *) (yyvsp[-1].list), (yylsp[-4]));
38793 				}
38794 #line 38795 "gram.c" /* yacc.c:1652  */
38795     break;
38796 
38797   case 1817:
38798 #line 12089 "gram.y" /* yacc.c:1652  */
38799     {
38800 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OF, "<>", (yyvsp[-6].node), (Node *) (yyvsp[-1].list), (yylsp[-5]));
38801 				}
38802 #line 38803 "gram.c" /* yacc.c:1652  */
38803     break;
38804 
38805   case 1818:
38806 #line 12093 "gram.y" /* yacc.c:1652  */
38807     {
38808 					(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
38809 									 list_make1((yyvsp[-2].node)), (yylsp[-1]));
38810 				}
38811 #line 38812 "gram.c" /* yacc.c:1652  */
38812     break;
38813 
38814   case 1819:
38815 #line 12098 "gram.y" /* yacc.c:1652  */
38816     {
38817 					(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
38818 												 list_make1((yyvsp[-3].node)), (yylsp[-2])),
38819 									 (yylsp[-2]));
38820 				}
38821 #line 38822 "gram.c" /* yacc.c:1652  */
38822     break;
38823 
38824   case 1820:
38825 #line 12113 "gram.y" /* yacc.c:1652  */
38826     { (yyval.node) = (yyvsp[0].node); }
38827 #line 38828 "gram.c" /* yacc.c:1652  */
38828     break;
38829 
38830   case 1821:
38831 #line 12114 "gram.y" /* yacc.c:1652  */
38832     { (yyval.node) = (yyvsp[0].node); }
38833 #line 38834 "gram.c" /* yacc.c:1652  */
38834     break;
38835 
38836   case 1822:
38837 #line 12116 "gram.y" /* yacc.c:1652  */
38838     {
38839 					ParamRef *p = makeNode(ParamRef);
38840 					p->number = (yyvsp[-1].ival);
38841 					p->location = (yylsp[-1]);
38842 					if ((yyvsp[0].list))
38843 					{
38844 						A_Indirection *n = makeNode(A_Indirection);
38845 						n->arg = (Node *) p;
38846 						n->indirection = check_indirection((yyvsp[0].list), yyscanner);
38847 						(yyval.node) = (Node *) n;
38848 					}
38849 					else
38850 						(yyval.node) = (Node *) p;
38851 				}
38852 #line 38853 "gram.c" /* yacc.c:1652  */
38853     break;
38854 
38855   case 1823:
38856 #line 12131 "gram.y" /* yacc.c:1652  */
38857     {
38858 					if ((yyvsp[0].list))
38859 					{
38860 						A_Indirection *n = makeNode(A_Indirection);
38861 						n->arg = (yyvsp[-2].node);
38862 						n->indirection = check_indirection((yyvsp[0].list), yyscanner);
38863 						(yyval.node) = (Node *)n;
38864 					}
38865 					else if (operator_precedence_warning)
38866 					{
38867 						/*
38868 						 * If precedence warnings are enabled, insert
38869 						 * AEXPR_PAREN nodes wrapping all explicitly
38870 						 * parenthesized subexpressions; this prevents bogus
38871 						 * warnings from being issued when the ordering has
38872 						 * been forced by parentheses.  Take care that an
38873 						 * AEXPR_PAREN node has the same exprLocation as its
38874 						 * child, so as not to cause surprising changes in
38875 						 * error cursor positioning.
38876 						 *
38877 						 * In principle we should not be relying on a GUC to
38878 						 * decide whether to insert AEXPR_PAREN nodes.
38879 						 * However, since they have no effect except to
38880 						 * suppress warnings, it's probably safe enough; and
38881 						 * we'd just as soon not waste cycles on dummy parse
38882 						 * nodes if we don't have to.
38883 						 */
38884 						(yyval.node) = (Node *) makeA_Expr(AEXPR_PAREN, NIL, (yyvsp[-2].node), NULL,
38885 												 exprLocation((yyvsp[-2].node)));
38886 					}
38887 					else
38888 						(yyval.node) = (yyvsp[-2].node);
38889 				}
38890 #line 38891 "gram.c" /* yacc.c:1652  */
38891     break;
38892 
38893   case 1824:
38894 #line 12165 "gram.y" /* yacc.c:1652  */
38895     { (yyval.node) = (yyvsp[0].node); }
38896 #line 38897 "gram.c" /* yacc.c:1652  */
38897     break;
38898 
38899   case 1825:
38900 #line 12167 "gram.y" /* yacc.c:1652  */
38901     { (yyval.node) = (yyvsp[0].node); }
38902 #line 38903 "gram.c" /* yacc.c:1652  */
38903     break;
38904 
38905   case 1826:
38906 #line 12169 "gram.y" /* yacc.c:1652  */
38907     {
38908 					SubLink *n = makeNode(SubLink);
38909 					n->subLinkType = EXPR_SUBLINK;
38910 					n->subLinkId = 0;
38911 					n->testexpr = NULL;
38912 					n->operName = NIL;
38913 					n->subselect = (yyvsp[0].node);
38914 					n->location = (yylsp[0]);
38915 					(yyval.node) = (Node *)n;
38916 				}
38917 #line 38918 "gram.c" /* yacc.c:1652  */
38918     break;
38919 
38920   case 1827:
38921 #line 12180 "gram.y" /* yacc.c:1652  */
38922     {
38923 					/*
38924 					 * Because the select_with_parens nonterminal is designed
38925 					 * to "eat" as many levels of parens as possible, the
38926 					 * '(' a_expr ')' opt_indirection production above will
38927 					 * fail to match a sub-SELECT with indirection decoration;
38928 					 * the sub-SELECT won't be regarded as an a_expr as long
38929 					 * as there are parens around it.  To support applying
38930 					 * subscripting or field selection to a sub-SELECT result,
38931 					 * we need this redundant-looking production.
38932 					 */
38933 					SubLink *n = makeNode(SubLink);
38934 					A_Indirection *a = makeNode(A_Indirection);
38935 					n->subLinkType = EXPR_SUBLINK;
38936 					n->subLinkId = 0;
38937 					n->testexpr = NULL;
38938 					n->operName = NIL;
38939 					n->subselect = (yyvsp[-1].node);
38940 					n->location = (yylsp[-1]);
38941 					a->arg = (Node *)n;
38942 					a->indirection = check_indirection((yyvsp[0].list), yyscanner);
38943 					(yyval.node) = (Node *)a;
38944 				}
38945 #line 38946 "gram.c" /* yacc.c:1652  */
38946     break;
38947 
38948   case 1828:
38949 #line 12204 "gram.y" /* yacc.c:1652  */
38950     {
38951 					SubLink *n = makeNode(SubLink);
38952 					n->subLinkType = EXISTS_SUBLINK;
38953 					n->subLinkId = 0;
38954 					n->testexpr = NULL;
38955 					n->operName = NIL;
38956 					n->subselect = (yyvsp[0].node);
38957 					n->location = (yylsp[-1]);
38958 					(yyval.node) = (Node *)n;
38959 				}
38960 #line 38961 "gram.c" /* yacc.c:1652  */
38961     break;
38962 
38963   case 1829:
38964 #line 12215 "gram.y" /* yacc.c:1652  */
38965     {
38966 					SubLink *n = makeNode(SubLink);
38967 					n->subLinkType = ARRAY_SUBLINK;
38968 					n->subLinkId = 0;
38969 					n->testexpr = NULL;
38970 					n->operName = NIL;
38971 					n->subselect = (yyvsp[0].node);
38972 					n->location = (yylsp[-1]);
38973 					(yyval.node) = (Node *)n;
38974 				}
38975 #line 38976 "gram.c" /* yacc.c:1652  */
38976     break;
38977 
38978   case 1830:
38979 #line 12226 "gram.y" /* yacc.c:1652  */
38980     {
38981 					A_ArrayExpr *n = (A_ArrayExpr *) (yyvsp[0].node);
38982 					Assert(IsA(n, A_ArrayExpr));
38983 					/* point outermost A_ArrayExpr to the ARRAY keyword */
38984 					n->location = (yylsp[-1]);
38985 					(yyval.node) = (Node *)n;
38986 				}
38987 #line 38988 "gram.c" /* yacc.c:1652  */
38988     break;
38989 
38990   case 1831:
38991 #line 12234 "gram.y" /* yacc.c:1652  */
38992     {
38993 					RowExpr *r = makeNode(RowExpr);
38994 					r->args = (yyvsp[0].list);
38995 					r->row_typeid = InvalidOid;	/* not analyzed yet */
38996 					r->colnames = NIL;	/* to be filled in during analysis */
38997 					r->row_format = COERCE_EXPLICIT_CALL; /* abuse */
38998 					r->location = (yylsp[0]);
38999 					(yyval.node) = (Node *)r;
39000 				}
39001 #line 39002 "gram.c" /* yacc.c:1652  */
39002     break;
39003 
39004   case 1832:
39005 #line 12244 "gram.y" /* yacc.c:1652  */
39006     {
39007 					RowExpr *r = makeNode(RowExpr);
39008 					r->args = (yyvsp[0].list);
39009 					r->row_typeid = InvalidOid;	/* not analyzed yet */
39010 					r->colnames = NIL;	/* to be filled in during analysis */
39011 					r->row_format = COERCE_IMPLICIT_CAST; /* abuse */
39012 					r->location = (yylsp[0]);
39013 					(yyval.node) = (Node *)r;
39014 				}
39015 #line 39016 "gram.c" /* yacc.c:1652  */
39016     break;
39017 
39018   case 1833:
39019 #line 12254 "gram.y" /* yacc.c:1652  */
39020     {
39021 				  GroupingFunc *g = makeNode(GroupingFunc);
39022 				  g->args = (yyvsp[-1].list);
39023 				  g->location = (yylsp[-3]);
39024 				  (yyval.node) = (Node *)g;
39025 			  }
39026 #line 39027 "gram.c" /* yacc.c:1652  */
39027     break;
39028 
39029   case 1834:
39030 #line 12263 "gram.y" /* yacc.c:1652  */
39031     {
39032 					(yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL, (yylsp[-2]));
39033 				}
39034 #line 39035 "gram.c" /* yacc.c:1652  */
39035     break;
39036 
39037   case 1835:
39038 #line 12267 "gram.y" /* yacc.c:1652  */
39039     {
39040 					FuncCall *n = makeFuncCall((yyvsp[-4].list), (yyvsp[-2].list), (yylsp[-4]));
39041 					n->agg_order = (yyvsp[-1].list);
39042 					(yyval.node) = (Node *)n;
39043 				}
39044 #line 39045 "gram.c" /* yacc.c:1652  */
39045     break;
39046 
39047   case 1836:
39048 #line 12273 "gram.y" /* yacc.c:1652  */
39049     {
39050 					FuncCall *n = makeFuncCall((yyvsp[-5].list), list_make1((yyvsp[-2].node)), (yylsp[-5]));
39051 					n->func_variadic = TRUE;
39052 					n->agg_order = (yyvsp[-1].list);
39053 					(yyval.node) = (Node *)n;
39054 				}
39055 #line 39056 "gram.c" /* yacc.c:1652  */
39056     break;
39057 
39058   case 1837:
39059 #line 12280 "gram.y" /* yacc.c:1652  */
39060     {
39061 					FuncCall *n = makeFuncCall((yyvsp[-7].list), lappend((yyvsp[-5].list), (yyvsp[-2].node)), (yylsp[-7]));
39062 					n->func_variadic = TRUE;
39063 					n->agg_order = (yyvsp[-1].list);
39064 					(yyval.node) = (Node *)n;
39065 				}
39066 #line 39067 "gram.c" /* yacc.c:1652  */
39067     break;
39068 
39069   case 1838:
39070 #line 12287 "gram.y" /* yacc.c:1652  */
39071     {
39072 					FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
39073 					n->agg_order = (yyvsp[-1].list);
39074 					/* Ideally we'd mark the FuncCall node to indicate
39075 					 * "must be an aggregate", but there's no provision
39076 					 * for that in FuncCall at the moment.
39077 					 */
39078 					(yyval.node) = (Node *)n;
39079 				}
39080 #line 39081 "gram.c" /* yacc.c:1652  */
39081     break;
39082 
39083   case 1839:
39084 #line 12297 "gram.y" /* yacc.c:1652  */
39085     {
39086 					FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list), (yylsp[-5]));
39087 					n->agg_order = (yyvsp[-1].list);
39088 					n->agg_distinct = TRUE;
39089 					(yyval.node) = (Node *)n;
39090 				}
39091 #line 39092 "gram.c" /* yacc.c:1652  */
39092     break;
39093 
39094   case 1840:
39095 #line 12304 "gram.y" /* yacc.c:1652  */
39096     {
39097 					/*
39098 					 * We consider AGGREGATE(*) to invoke a parameterless
39099 					 * aggregate.  This does the right thing for COUNT(*),
39100 					 * and there are no other aggregates in SQL that accept
39101 					 * '*' as parameter.
39102 					 *
39103 					 * The FuncCall node is also marked agg_star = true,
39104 					 * so that later processing can detect what the argument
39105 					 * really was.
39106 					 */
39107 					FuncCall *n = makeFuncCall((yyvsp[-3].list), NIL, (yylsp[-3]));
39108 					n->agg_star = TRUE;
39109 					(yyval.node) = (Node *)n;
39110 				}
39111 #line 39112 "gram.c" /* yacc.c:1652  */
39112     break;
39113 
39114   case 1841:
39115 #line 12332 "gram.y" /* yacc.c:1652  */
39116     {
39117 					FuncCall *n = (FuncCall *) (yyvsp[-3].node);
39118 					/*
39119 					 * The order clause for WITHIN GROUP and the one for
39120 					 * plain-aggregate ORDER BY share a field, so we have to
39121 					 * check here that at most one is present.  We also check
39122 					 * for DISTINCT and VARIADIC here to give a better error
39123 					 * location.  Other consistency checks are deferred to
39124 					 * parse analysis.
39125 					 */
39126 					if ((yyvsp[-2].list) != NIL)
39127 					{
39128 						if (n->agg_order != NIL)
39129 							ereport(ERROR,
39130 									(errcode(ERRCODE_SYNTAX_ERROR),
39131 									 errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
39132 									 parser_errposition((yylsp[-2]))));
39133 						if (n->agg_distinct)
39134 							ereport(ERROR,
39135 									(errcode(ERRCODE_SYNTAX_ERROR),
39136 									 errmsg("cannot use DISTINCT with WITHIN GROUP"),
39137 									 parser_errposition((yylsp[-2]))));
39138 						if (n->func_variadic)
39139 							ereport(ERROR,
39140 									(errcode(ERRCODE_SYNTAX_ERROR),
39141 									 errmsg("cannot use VARIADIC with WITHIN GROUP"),
39142 									 parser_errposition((yylsp[-2]))));
39143 						n->agg_order = (yyvsp[-2].list);
39144 						n->agg_within_group = TRUE;
39145 					}
39146 					n->agg_filter = (yyvsp[-1].node);
39147 					n->over = (yyvsp[0].windef);
39148 					(yyval.node) = (Node *) n;
39149 				}
39150 #line 39151 "gram.c" /* yacc.c:1652  */
39151     break;
39152 
39153   case 1842:
39154 #line 12367 "gram.y" /* yacc.c:1652  */
39155     { (yyval.node) = (yyvsp[0].node); }
39156 #line 39157 "gram.c" /* yacc.c:1652  */
39157     break;
39158 
39159   case 1843:
39160 #line 12377 "gram.y" /* yacc.c:1652  */
39161     { (yyval.node) = (yyvsp[0].node); }
39162 #line 39163 "gram.c" /* yacc.c:1652  */
39163     break;
39164 
39165   case 1844:
39166 #line 12378 "gram.y" /* yacc.c:1652  */
39167     { (yyval.node) = (yyvsp[0].node); }
39168 #line 39169 "gram.c" /* yacc.c:1652  */
39169     break;
39170 
39171   case 1845:
39172 #line 12386 "gram.y" /* yacc.c:1652  */
39173     {
39174 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
39175 											   list_make1((yyvsp[-1].node)),
39176 											   (yylsp[-4]));
39177 				}
39178 #line 39179 "gram.c" /* yacc.c:1652  */
39179     break;
39180 
39181   case 1846:
39182 #line 12392 "gram.y" /* yacc.c:1652  */
39183     {
39184 					/*
39185 					 * Translate as "'now'::text::date".
39186 					 *
39187 					 * We cannot use "'now'::date" because coerce_type() will
39188 					 * immediately reduce that to a constant representing
39189 					 * today's date.  We need to delay the conversion until
39190 					 * runtime, else the wrong things will happen when
39191 					 * CURRENT_DATE is used in a column default value or rule.
39192 					 *
39193 					 * This could be simplified if we had a way to generate
39194 					 * an expression tree representing runtime application
39195 					 * of type-input conversion functions.  (As of PG 7.3
39196 					 * that is actually possible, but not clear that we want
39197 					 * to rely on it.)
39198 					 *
39199 					 * The token location is attached to the run-time
39200 					 * typecast, not to the Const, for the convenience of
39201 					 * pg_stat_statements (which doesn't want these constructs
39202 					 * to appear to be replaceable constants).
39203 					 */
39204 					Node *n;
39205 					n = makeStringConstCast("now", -1, SystemTypeName("text"));
39206 					(yyval.node) = makeTypeCast(n, SystemTypeName("date"), (yylsp[0]));
39207 				}
39208 #line 39209 "gram.c" /* yacc.c:1652  */
39209     break;
39210 
39211   case 1847:
39212 #line 12418 "gram.y" /* yacc.c:1652  */
39213     {
39214 					/*
39215 					 * Translate as "'now'::text::timetz".
39216 					 * See comments for CURRENT_DATE.
39217 					 */
39218 					Node *n;
39219 					n = makeStringConstCast("now", -1, SystemTypeName("text"));
39220 					(yyval.node) = makeTypeCast(n, SystemTypeName("timetz"), (yylsp[0]));
39221 				}
39222 #line 39223 "gram.c" /* yacc.c:1652  */
39223     break;
39224 
39225   case 1848:
39226 #line 12428 "gram.y" /* yacc.c:1652  */
39227     {
39228 					/*
39229 					 * Translate as "'now'::text::timetz(n)".
39230 					 * See comments for CURRENT_DATE.
39231 					 */
39232 					Node *n;
39233 					TypeName *d;
39234 					n = makeStringConstCast("now", -1, SystemTypeName("text"));
39235 					d = SystemTypeName("timetz");
39236 					d->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
39237 					(yyval.node) = makeTypeCast(n, d, (yylsp[-3]));
39238 				}
39239 #line 39240 "gram.c" /* yacc.c:1652  */
39240     break;
39241 
39242   case 1849:
39243 #line 12441 "gram.y" /* yacc.c:1652  */
39244     {
39245 					/*
39246 					 * Translate as "now()", since we have a function that
39247 					 * does exactly what is needed.
39248 					 */
39249 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("now"), NIL, (yylsp[0]));
39250 				}
39251 #line 39252 "gram.c" /* yacc.c:1652  */
39252     break;
39253 
39254   case 1850:
39255 #line 12449 "gram.y" /* yacc.c:1652  */
39256     {
39257 					/*
39258 					 * Translate as "'now'::text::timestamptz(n)".
39259 					 * See comments for CURRENT_DATE.
39260 					 */
39261 					Node *n;
39262 					TypeName *d;
39263 					n = makeStringConstCast("now", -1, SystemTypeName("text"));
39264 					d = SystemTypeName("timestamptz");
39265 					d->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
39266 					(yyval.node) = makeTypeCast(n, d, (yylsp[-3]));
39267 				}
39268 #line 39269 "gram.c" /* yacc.c:1652  */
39269     break;
39270 
39271   case 1851:
39272 #line 12462 "gram.y" /* yacc.c:1652  */
39273     {
39274 					/*
39275 					 * Translate as "'now'::text::time".
39276 					 * See comments for CURRENT_DATE.
39277 					 */
39278 					Node *n;
39279 					n = makeStringConstCast("now", -1, SystemTypeName("text"));
39280 					(yyval.node) = makeTypeCast((Node *)n, SystemTypeName("time"), (yylsp[0]));
39281 				}
39282 #line 39283 "gram.c" /* yacc.c:1652  */
39283     break;
39284 
39285   case 1852:
39286 #line 12472 "gram.y" /* yacc.c:1652  */
39287     {
39288 					/*
39289 					 * Translate as "'now'::text::time(n)".
39290 					 * See comments for CURRENT_DATE.
39291 					 */
39292 					Node *n;
39293 					TypeName *d;
39294 					n = makeStringConstCast("now", -1, SystemTypeName("text"));
39295 					d = SystemTypeName("time");
39296 					d->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
39297 					(yyval.node) = makeTypeCast((Node *)n, d, (yylsp[-3]));
39298 				}
39299 #line 39300 "gram.c" /* yacc.c:1652  */
39300     break;
39301 
39302   case 1853:
39303 #line 12485 "gram.y" /* yacc.c:1652  */
39304     {
39305 					/*
39306 					 * Translate as "'now'::text::timestamp".
39307 					 * See comments for CURRENT_DATE.
39308 					 */
39309 					Node *n;
39310 					n = makeStringConstCast("now", -1, SystemTypeName("text"));
39311 					(yyval.node) = makeTypeCast(n, SystemTypeName("timestamp"), (yylsp[0]));
39312 				}
39313 #line 39314 "gram.c" /* yacc.c:1652  */
39314     break;
39315 
39316   case 1854:
39317 #line 12495 "gram.y" /* yacc.c:1652  */
39318     {
39319 					/*
39320 					 * Translate as "'now'::text::timestamp(n)".
39321 					 * See comments for CURRENT_DATE.
39322 					 */
39323 					Node *n;
39324 					TypeName *d;
39325 					n = makeStringConstCast("now", -1, SystemTypeName("text"));
39326 					d = SystemTypeName("timestamp");
39327 					d->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
39328 					(yyval.node) = makeTypeCast(n, d, (yylsp[-3]));
39329 				}
39330 #line 39331 "gram.c" /* yacc.c:1652  */
39331     break;
39332 
39333   case 1855:
39334 #line 12508 "gram.y" /* yacc.c:1652  */
39335     {
39336 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[0]));
39337 				}
39338 #line 39339 "gram.c" /* yacc.c:1652  */
39339     break;
39340 
39341   case 1856:
39342 #line 12512 "gram.y" /* yacc.c:1652  */
39343     {
39344 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[0]));
39345 				}
39346 #line 39347 "gram.c" /* yacc.c:1652  */
39347     break;
39348 
39349   case 1857:
39350 #line 12516 "gram.y" /* yacc.c:1652  */
39351     {
39352 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("session_user"), NIL, (yylsp[0]));
39353 				}
39354 #line 39355 "gram.c" /* yacc.c:1652  */
39355     break;
39356 
39357   case 1858:
39358 #line 12520 "gram.y" /* yacc.c:1652  */
39359     {
39360 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_user"), NIL, (yylsp[0]));
39361 				}
39362 #line 39363 "gram.c" /* yacc.c:1652  */
39363     break;
39364 
39365   case 1859:
39366 #line 12524 "gram.y" /* yacc.c:1652  */
39367     {
39368 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_database"), NIL, (yylsp[0]));
39369 				}
39370 #line 39371 "gram.c" /* yacc.c:1652  */
39371     break;
39372 
39373   case 1860:
39374 #line 12528 "gram.y" /* yacc.c:1652  */
39375     {
39376 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("current_schema"), NIL, (yylsp[0]));
39377 				}
39378 #line 39379 "gram.c" /* yacc.c:1652  */
39379     break;
39380 
39381   case 1861:
39382 #line 12532 "gram.y" /* yacc.c:1652  */
39383     { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
39384 #line 39385 "gram.c" /* yacc.c:1652  */
39385     break;
39386 
39387   case 1862:
39388 #line 12534 "gram.y" /* yacc.c:1652  */
39389     {
39390 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("date_part"), (yyvsp[-1].list), (yylsp[-3]));
39391 				}
39392 #line 39393 "gram.c" /* yacc.c:1652  */
39393     break;
39394 
39395   case 1863:
39396 #line 12538 "gram.y" /* yacc.c:1652  */
39397     {
39398 					/* overlay(A PLACING B FROM C FOR D) is converted to
39399 					 * overlay(A, B, C, D)
39400 					 * overlay(A PLACING B FROM C) is converted to
39401 					 * overlay(A, B, C)
39402 					 */
39403 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"), (yyvsp[-1].list), (yylsp[-3]));
39404 				}
39405 #line 39406 "gram.c" /* yacc.c:1652  */
39406     break;
39407 
39408   case 1864:
39409 #line 12547 "gram.y" /* yacc.c:1652  */
39410     {
39411 					/* position(A in B) is converted to position(B, A) */
39412 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"), (yyvsp[-1].list), (yylsp[-3]));
39413 				}
39414 #line 39415 "gram.c" /* yacc.c:1652  */
39415     break;
39416 
39417   case 1865:
39418 #line 12552 "gram.y" /* yacc.c:1652  */
39419     {
39420 					/* substring(A from B for C) is converted to
39421 					 * substring(A, B, C) - thomas 2000-11-28
39422 					 */
39423 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"), (yyvsp[-1].list), (yylsp[-3]));
39424 				}
39425 #line 39426 "gram.c" /* yacc.c:1652  */
39426     break;
39427 
39428   case 1866:
39429 #line 12559 "gram.y" /* yacc.c:1652  */
39430     {
39431 					/* TREAT(expr AS target) converts expr of a particular type to target,
39432 					 * which is defined to be a subtype of the original expression.
39433 					 * In SQL99, this is intended for use with structured UDTs,
39434 					 * but let's make this a generally useful form allowing stronger
39435 					 * coercions than are handled by implicit casting.
39436 					 *
39437 					 * Convert SystemTypeName() to SystemFuncName() even though
39438 					 * at the moment they result in the same thing.
39439 					 */
39440 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName(((Value *)llast((yyvsp[-1].typnam)->names))->val.str),
39441 												list_make1((yyvsp[-3].node)),
39442 												(yylsp[-5]));
39443 				}
39444 #line 39445 "gram.c" /* yacc.c:1652  */
39445     break;
39446 
39447   case 1867:
39448 #line 12574 "gram.y" /* yacc.c:1652  */
39449     {
39450 					/* various trim expressions are defined in SQL
39451 					 * - thomas 1997-07-19
39452 					 */
39453 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-4]));
39454 				}
39455 #line 39456 "gram.c" /* yacc.c:1652  */
39456     break;
39457 
39458   case 1868:
39459 #line 12581 "gram.y" /* yacc.c:1652  */
39460     {
39461 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"), (yyvsp[-1].list), (yylsp[-4]));
39462 				}
39463 #line 39464 "gram.c" /* yacc.c:1652  */
39464     break;
39465 
39466   case 1869:
39467 #line 12585 "gram.y" /* yacc.c:1652  */
39468     {
39469 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"), (yyvsp[-1].list), (yylsp[-4]));
39470 				}
39471 #line 39472 "gram.c" /* yacc.c:1652  */
39472     break;
39473 
39474   case 1870:
39475 #line 12589 "gram.y" /* yacc.c:1652  */
39476     {
39477 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"), (yyvsp[-1].list), (yylsp[-3]));
39478 				}
39479 #line 39480 "gram.c" /* yacc.c:1652  */
39480     break;
39481 
39482   case 1871:
39483 #line 12593 "gram.y" /* yacc.c:1652  */
39484     {
39485 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
39486 				}
39487 #line 39488 "gram.c" /* yacc.c:1652  */
39488     break;
39489 
39490   case 1872:
39491 #line 12597 "gram.y" /* yacc.c:1652  */
39492     {
39493 					CoalesceExpr *c = makeNode(CoalesceExpr);
39494 					c->args = (yyvsp[-1].list);
39495 					c->location = (yylsp[-3]);
39496 					(yyval.node) = (Node *)c;
39497 				}
39498 #line 39499 "gram.c" /* yacc.c:1652  */
39499     break;
39500 
39501   case 1873:
39502 #line 12604 "gram.y" /* yacc.c:1652  */
39503     {
39504 					MinMaxExpr *v = makeNode(MinMaxExpr);
39505 					v->args = (yyvsp[-1].list);
39506 					v->op = IS_GREATEST;
39507 					v->location = (yylsp[-3]);
39508 					(yyval.node) = (Node *)v;
39509 				}
39510 #line 39511 "gram.c" /* yacc.c:1652  */
39511     break;
39512 
39513   case 1874:
39514 #line 12612 "gram.y" /* yacc.c:1652  */
39515     {
39516 					MinMaxExpr *v = makeNode(MinMaxExpr);
39517 					v->args = (yyvsp[-1].list);
39518 					v->op = IS_LEAST;
39519 					v->location = (yylsp[-3]);
39520 					(yyval.node) = (Node *)v;
39521 				}
39522 #line 39523 "gram.c" /* yacc.c:1652  */
39523     break;
39524 
39525   case 1875:
39526 #line 12620 "gram.y" /* yacc.c:1652  */
39527     {
39528 					(yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
39529 				}
39530 #line 39531 "gram.c" /* yacc.c:1652  */
39531     break;
39532 
39533   case 1876:
39534 #line 12624 "gram.y" /* yacc.c:1652  */
39535     {
39536 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
39537 				}
39538 #line 39539 "gram.c" /* yacc.c:1652  */
39539     break;
39540 
39541   case 1877:
39542 #line 12628 "gram.y" /* yacc.c:1652  */
39543     {
39544 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
39545 				}
39546 #line 39547 "gram.c" /* yacc.c:1652  */
39547     break;
39548 
39549   case 1878:
39550 #line 12632 "gram.y" /* yacc.c:1652  */
39551     {
39552 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
39553 				}
39554 #line 39555 "gram.c" /* yacc.c:1652  */
39555     break;
39556 
39557   case 1879:
39558 #line 12636 "gram.y" /* yacc.c:1652  */
39559     {
39560 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
39561 				}
39562 #line 39563 "gram.c" /* yacc.c:1652  */
39563     break;
39564 
39565   case 1880:
39566 #line 12640 "gram.y" /* yacc.c:1652  */
39567     {
39568 					/* xmlexists(A PASSING [BY REF] B [BY REF]) is
39569 					 * converted to xmlexists(A, B)*/
39570 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"), list_make2((yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-4]));
39571 				}
39572 #line 39573 "gram.c" /* yacc.c:1652  */
39573     break;
39574 
39575   case 1881:
39576 #line 12646 "gram.y" /* yacc.c:1652  */
39577     {
39578 					(yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
39579 				}
39580 #line 39581 "gram.c" /* yacc.c:1652  */
39581     break;
39582 
39583   case 1882:
39584 #line 12650 "gram.y" /* yacc.c:1652  */
39585     {
39586 					XmlExpr *x = (XmlExpr *)
39587 						makeXmlExpr(IS_XMLPARSE, NULL, NIL,
39588 									list_make2((yyvsp[-2].node), makeBoolAConst((yyvsp[-1].boolean), -1)),
39589 									(yylsp[-5]));
39590 					x->xmloption = (yyvsp[-3].ival);
39591 					(yyval.node) = (Node *)x;
39592 				}
39593 #line 39594 "gram.c" /* yacc.c:1652  */
39594     break;
39595 
39596   case 1883:
39597 #line 12659 "gram.y" /* yacc.c:1652  */
39598     {
39599 					(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
39600 				}
39601 #line 39602 "gram.c" /* yacc.c:1652  */
39602     break;
39603 
39604   case 1884:
39605 #line 12663 "gram.y" /* yacc.c:1652  */
39606     {
39607 					(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
39608 				}
39609 #line 39610 "gram.c" /* yacc.c:1652  */
39610     break;
39611 
39612   case 1885:
39613 #line 12667 "gram.y" /* yacc.c:1652  */
39614     {
39615 					(yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
39616 									 list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
39617 				}
39618 #line 39619 "gram.c" /* yacc.c:1652  */
39619     break;
39620 
39621   case 1886:
39622 #line 12672 "gram.y" /* yacc.c:1652  */
39623     {
39624 					XmlSerialize *n = makeNode(XmlSerialize);
39625 					n->xmloption = (yyvsp[-4].ival);
39626 					n->expr = (yyvsp[-3].node);
39627 					n->typeName = (yyvsp[-1].typnam);
39628 					n->location = (yylsp[-6]);
39629 					(yyval.node) = (Node *)n;
39630 				}
39631 #line 39632 "gram.c" /* yacc.c:1652  */
39632     break;
39633 
39634   case 1887:
39635 #line 12686 "gram.y" /* yacc.c:1652  */
39636     { (yyval.node) = (yyvsp[0].node); }
39637 #line 39638 "gram.c" /* yacc.c:1652  */
39638     break;
39639 
39640   case 1888:
39641 #line 12688 "gram.y" /* yacc.c:1652  */
39642     { (yyval.node) = makeNullAConst(-1); }
39643 #line 39644 "gram.c" /* yacc.c:1652  */
39644     break;
39645 
39646   case 1889:
39647 #line 12692 "gram.y" /* yacc.c:1652  */
39648     { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
39649 #line 39650 "gram.c" /* yacc.c:1652  */
39650     break;
39651 
39652   case 1890:
39653 #line 12694 "gram.y" /* yacc.c:1652  */
39654     { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
39655 #line 39656 "gram.c" /* yacc.c:1652  */
39656     break;
39657 
39658   case 1891:
39659 #line 12696 "gram.y" /* yacc.c:1652  */
39660     { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
39661 #line 39662 "gram.c" /* yacc.c:1652  */
39662     break;
39663 
39664   case 1892:
39665 #line 12698 "gram.y" /* yacc.c:1652  */
39666     { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
39667 #line 39668 "gram.c" /* yacc.c:1652  */
39668     break;
39669 
39670   case 1893:
39671 #line 12701 "gram.y" /* yacc.c:1652  */
39672     { (yyval.list) = (yyvsp[-1].list); }
39673 #line 39674 "gram.c" /* yacc.c:1652  */
39674     break;
39675 
39676   case 1894:
39677 #line 12704 "gram.y" /* yacc.c:1652  */
39678     { (yyval.list) = list_make1((yyvsp[0].target)); }
39679 #line 39680 "gram.c" /* yacc.c:1652  */
39680     break;
39681 
39682   case 1895:
39683 #line 12705 "gram.y" /* yacc.c:1652  */
39684     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
39685 #line 39686 "gram.c" /* yacc.c:1652  */
39686     break;
39687 
39688   case 1896:
39689 #line 12709 "gram.y" /* yacc.c:1652  */
39690     {
39691 					(yyval.target) = makeNode(ResTarget);
39692 					(yyval.target)->name = (yyvsp[0].str);
39693 					(yyval.target)->indirection = NIL;
39694 					(yyval.target)->val = (Node *) (yyvsp[-2].node);
39695 					(yyval.target)->location = (yylsp[-2]);
39696 				}
39697 #line 39698 "gram.c" /* yacc.c:1652  */
39698     break;
39699 
39700   case 1897:
39701 #line 12717 "gram.y" /* yacc.c:1652  */
39702     {
39703 					(yyval.target) = makeNode(ResTarget);
39704 					(yyval.target)->name = NULL;
39705 					(yyval.target)->indirection = NIL;
39706 					(yyval.target)->val = (Node *) (yyvsp[0].node);
39707 					(yyval.target)->location = (yylsp[0]);
39708 				}
39709 #line 39710 "gram.c" /* yacc.c:1652  */
39710     break;
39711 
39712   case 1898:
39713 #line 12726 "gram.y" /* yacc.c:1652  */
39714     { (yyval.ival) = XMLOPTION_DOCUMENT; }
39715 #line 39716 "gram.c" /* yacc.c:1652  */
39716     break;
39717 
39718   case 1899:
39719 #line 12727 "gram.y" /* yacc.c:1652  */
39720     { (yyval.ival) = XMLOPTION_CONTENT; }
39721 #line 39722 "gram.c" /* yacc.c:1652  */
39722     break;
39723 
39724   case 1900:
39725 #line 12730 "gram.y" /* yacc.c:1652  */
39726     { (yyval.boolean) = TRUE; }
39727 #line 39728 "gram.c" /* yacc.c:1652  */
39728     break;
39729 
39730   case 1901:
39731 #line 12731 "gram.y" /* yacc.c:1652  */
39732     { (yyval.boolean) = FALSE; }
39733 #line 39734 "gram.c" /* yacc.c:1652  */
39734     break;
39735 
39736   case 1902:
39737 #line 12732 "gram.y" /* yacc.c:1652  */
39738     { (yyval.boolean) = FALSE; }
39739 #line 39740 "gram.c" /* yacc.c:1652  */
39740     break;
39741 
39742   case 1903:
39743 #line 12738 "gram.y" /* yacc.c:1652  */
39744     {
39745 					(yyval.node) = (yyvsp[0].node);
39746 				}
39747 #line 39748 "gram.c" /* yacc.c:1652  */
39748     break;
39749 
39750   case 1904:
39751 #line 12742 "gram.y" /* yacc.c:1652  */
39752     {
39753 					(yyval.node) = (yyvsp[-2].node);
39754 				}
39755 #line 39756 "gram.c" /* yacc.c:1652  */
39756     break;
39757 
39758   case 1905:
39759 #line 12746 "gram.y" /* yacc.c:1652  */
39760     {
39761 					(yyval.node) = (yyvsp[0].node);
39762 				}
39763 #line 39764 "gram.c" /* yacc.c:1652  */
39764     break;
39765 
39766   case 1906:
39767 #line 12750 "gram.y" /* yacc.c:1652  */
39768     {
39769 					(yyval.node) = (yyvsp[-2].node);
39770 				}
39771 #line 39772 "gram.c" /* yacc.c:1652  */
39772     break;
39773 
39774   case 1907:
39775 #line 12760 "gram.y" /* yacc.c:1652  */
39776     { (yyval.list) = (yyvsp[-1].list); }
39777 #line 39778 "gram.c" /* yacc.c:1652  */
39778     break;
39779 
39780   case 1908:
39781 #line 12761 "gram.y" /* yacc.c:1652  */
39782     { (yyval.list) = NIL; }
39783 #line 39784 "gram.c" /* yacc.c:1652  */
39784     break;
39785 
39786   case 1909:
39787 #line 12765 "gram.y" /* yacc.c:1652  */
39788     { (yyval.node) = (yyvsp[-1].node); }
39789 #line 39790 "gram.c" /* yacc.c:1652  */
39790     break;
39791 
39792   case 1910:
39793 #line 12766 "gram.y" /* yacc.c:1652  */
39794     { (yyval.node) = NULL; }
39795 #line 39796 "gram.c" /* yacc.c:1652  */
39796     break;
39797 
39798   case 1911:
39799 #line 12774 "gram.y" /* yacc.c:1652  */
39800     { (yyval.list) = (yyvsp[0].list); }
39801 #line 39802 "gram.c" /* yacc.c:1652  */
39802     break;
39803 
39804   case 1912:
39805 #line 12775 "gram.y" /* yacc.c:1652  */
39806     { (yyval.list) = NIL; }
39807 #line 39808 "gram.c" /* yacc.c:1652  */
39808     break;
39809 
39810   case 1913:
39811 #line 12779 "gram.y" /* yacc.c:1652  */
39812     { (yyval.list) = list_make1((yyvsp[0].windef)); }
39813 #line 39814 "gram.c" /* yacc.c:1652  */
39814     break;
39815 
39816   case 1914:
39817 #line 12781 "gram.y" /* yacc.c:1652  */
39818     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
39819 #line 39820 "gram.c" /* yacc.c:1652  */
39820     break;
39821 
39822   case 1915:
39823 #line 12786 "gram.y" /* yacc.c:1652  */
39824     {
39825 					WindowDef *n = (yyvsp[0].windef);
39826 					n->name = (yyvsp[-2].str);
39827 					(yyval.windef) = n;
39828 				}
39829 #line 39830 "gram.c" /* yacc.c:1652  */
39830     break;
39831 
39832   case 1916:
39833 #line 12794 "gram.y" /* yacc.c:1652  */
39834     { (yyval.windef) = (yyvsp[0].windef); }
39835 #line 39836 "gram.c" /* yacc.c:1652  */
39836     break;
39837 
39838   case 1917:
39839 #line 12796 "gram.y" /* yacc.c:1652  */
39840     {
39841 					WindowDef *n = makeNode(WindowDef);
39842 					n->name = (yyvsp[0].str);
39843 					n->refname = NULL;
39844 					n->partitionClause = NIL;
39845 					n->orderClause = NIL;
39846 					n->frameOptions = FRAMEOPTION_DEFAULTS;
39847 					n->startOffset = NULL;
39848 					n->endOffset = NULL;
39849 					n->location = (yylsp[0]);
39850 					(yyval.windef) = n;
39851 				}
39852 #line 39853 "gram.c" /* yacc.c:1652  */
39853     break;
39854 
39855   case 1918:
39856 #line 12809 "gram.y" /* yacc.c:1652  */
39857     { (yyval.windef) = NULL; }
39858 #line 39859 "gram.c" /* yacc.c:1652  */
39859     break;
39860 
39861   case 1919:
39862 #line 12814 "gram.y" /* yacc.c:1652  */
39863     {
39864 					WindowDef *n = makeNode(WindowDef);
39865 					n->name = NULL;
39866 					n->refname = (yyvsp[-4].str);
39867 					n->partitionClause = (yyvsp[-3].list);
39868 					n->orderClause = (yyvsp[-2].list);
39869 					/* copy relevant fields of opt_frame_clause */
39870 					n->frameOptions = (yyvsp[-1].windef)->frameOptions;
39871 					n->startOffset = (yyvsp[-1].windef)->startOffset;
39872 					n->endOffset = (yyvsp[-1].windef)->endOffset;
39873 					n->location = (yylsp[-5]);
39874 					(yyval.windef) = n;
39875 				}
39876 #line 39877 "gram.c" /* yacc.c:1652  */
39877     break;
39878 
39879   case 1920:
39880 #line 12839 "gram.y" /* yacc.c:1652  */
39881     { (yyval.str) = (yyvsp[0].str); }
39882 #line 39883 "gram.c" /* yacc.c:1652  */
39883     break;
39884 
39885   case 1921:
39886 #line 12840 "gram.y" /* yacc.c:1652  */
39887     { (yyval.str) = NULL; }
39888 #line 39889 "gram.c" /* yacc.c:1652  */
39889     break;
39890 
39891   case 1922:
39892 #line 12843 "gram.y" /* yacc.c:1652  */
39893     { (yyval.list) = (yyvsp[0].list); }
39894 #line 39895 "gram.c" /* yacc.c:1652  */
39895     break;
39896 
39897   case 1923:
39898 #line 12844 "gram.y" /* yacc.c:1652  */
39899     { (yyval.list) = NIL; }
39900 #line 39901 "gram.c" /* yacc.c:1652  */
39901     break;
39902 
39903   case 1924:
39904 #line 12856 "gram.y" /* yacc.c:1652  */
39905     {
39906 					WindowDef *n = (yyvsp[0].windef);
39907 					n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
39908 					if (n->frameOptions & (FRAMEOPTION_START_VALUE_PRECEDING |
39909 										   FRAMEOPTION_END_VALUE_PRECEDING))
39910 						ereport(ERROR,
39911 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
39912 								 errmsg("RANGE PRECEDING is only supported with UNBOUNDED"),
39913 								 parser_errposition((yylsp[-1]))));
39914 					if (n->frameOptions & (FRAMEOPTION_START_VALUE_FOLLOWING |
39915 										   FRAMEOPTION_END_VALUE_FOLLOWING))
39916 						ereport(ERROR,
39917 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
39918 								 errmsg("RANGE FOLLOWING is only supported with UNBOUNDED"),
39919 								 parser_errposition((yylsp[-1]))));
39920 					(yyval.windef) = n;
39921 				}
39922 #line 39923 "gram.c" /* yacc.c:1652  */
39923     break;
39924 
39925   case 1925:
39926 #line 12874 "gram.y" /* yacc.c:1652  */
39927     {
39928 					WindowDef *n = (yyvsp[0].windef);
39929 					n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
39930 					(yyval.windef) = n;
39931 				}
39932 #line 39933 "gram.c" /* yacc.c:1652  */
39933     break;
39934 
39935   case 1926:
39936 #line 12880 "gram.y" /* yacc.c:1652  */
39937     {
39938 					WindowDef *n = makeNode(WindowDef);
39939 					n->frameOptions = FRAMEOPTION_DEFAULTS;
39940 					n->startOffset = NULL;
39941 					n->endOffset = NULL;
39942 					(yyval.windef) = n;
39943 				}
39944 #line 39945 "gram.c" /* yacc.c:1652  */
39945     break;
39946 
39947   case 1927:
39948 #line 12890 "gram.y" /* yacc.c:1652  */
39949     {
39950 					WindowDef *n = (yyvsp[0].windef);
39951 					/* reject invalid cases */
39952 					if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
39953 						ereport(ERROR,
39954 								(errcode(ERRCODE_WINDOWING_ERROR),
39955 								 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
39956 								 parser_errposition((yylsp[0]))));
39957 					if (n->frameOptions & FRAMEOPTION_START_VALUE_FOLLOWING)
39958 						ereport(ERROR,
39959 								(errcode(ERRCODE_WINDOWING_ERROR),
39960 								 errmsg("frame starting from following row cannot end with current row"),
39961 								 parser_errposition((yylsp[0]))));
39962 					n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW;
39963 					(yyval.windef) = n;
39964 				}
39965 #line 39966 "gram.c" /* yacc.c:1652  */
39966     break;
39967 
39968   case 1928:
39969 #line 12907 "gram.y" /* yacc.c:1652  */
39970     {
39971 					WindowDef *n1 = (yyvsp[-2].windef);
39972 					WindowDef *n2 = (yyvsp[0].windef);
39973 					/* form merged options */
39974 					int		frameOptions = n1->frameOptions;
39975 					/* shift converts START_ options to END_ options */
39976 					frameOptions |= n2->frameOptions << 1;
39977 					frameOptions |= FRAMEOPTION_BETWEEN;
39978 					/* reject invalid cases */
39979 					if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
39980 						ereport(ERROR,
39981 								(errcode(ERRCODE_WINDOWING_ERROR),
39982 								 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
39983 								 parser_errposition((yylsp[-2]))));
39984 					if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
39985 						ereport(ERROR,
39986 								(errcode(ERRCODE_WINDOWING_ERROR),
39987 								 errmsg("frame end cannot be UNBOUNDED PRECEDING"),
39988 								 parser_errposition((yylsp[0]))));
39989 					if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) &&
39990 						(frameOptions & FRAMEOPTION_END_VALUE_PRECEDING))
39991 						ereport(ERROR,
39992 								(errcode(ERRCODE_WINDOWING_ERROR),
39993 								 errmsg("frame starting from current row cannot have preceding rows"),
39994 								 parser_errposition((yylsp[0]))));
39995 					if ((frameOptions & FRAMEOPTION_START_VALUE_FOLLOWING) &&
39996 						(frameOptions & (FRAMEOPTION_END_VALUE_PRECEDING |
39997 										 FRAMEOPTION_END_CURRENT_ROW)))
39998 						ereport(ERROR,
39999 								(errcode(ERRCODE_WINDOWING_ERROR),
40000 								 errmsg("frame starting from following row cannot have preceding rows"),
40001 								 parser_errposition((yylsp[0]))));
40002 					n1->frameOptions = frameOptions;
40003 					n1->endOffset = n2->startOffset;
40004 					(yyval.windef) = n1;
40005 				}
40006 #line 40007 "gram.c" /* yacc.c:1652  */
40007     break;
40008 
40009   case 1929:
40010 #line 12952 "gram.y" /* yacc.c:1652  */
40011     {
40012 					WindowDef *n = makeNode(WindowDef);
40013 					n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
40014 					n->startOffset = NULL;
40015 					n->endOffset = NULL;
40016 					(yyval.windef) = n;
40017 				}
40018 #line 40019 "gram.c" /* yacc.c:1652  */
40019     break;
40020 
40021   case 1930:
40022 #line 12960 "gram.y" /* yacc.c:1652  */
40023     {
40024 					WindowDef *n = makeNode(WindowDef);
40025 					n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
40026 					n->startOffset = NULL;
40027 					n->endOffset = NULL;
40028 					(yyval.windef) = n;
40029 				}
40030 #line 40031 "gram.c" /* yacc.c:1652  */
40031     break;
40032 
40033   case 1931:
40034 #line 12968 "gram.y" /* yacc.c:1652  */
40035     {
40036 					WindowDef *n = makeNode(WindowDef);
40037 					n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
40038 					n->startOffset = NULL;
40039 					n->endOffset = NULL;
40040 					(yyval.windef) = n;
40041 				}
40042 #line 40043 "gram.c" /* yacc.c:1652  */
40043     break;
40044 
40045   case 1932:
40046 #line 12976 "gram.y" /* yacc.c:1652  */
40047     {
40048 					WindowDef *n = makeNode(WindowDef);
40049 					n->frameOptions = FRAMEOPTION_START_VALUE_PRECEDING;
40050 					n->startOffset = (yyvsp[-1].node);
40051 					n->endOffset = NULL;
40052 					(yyval.windef) = n;
40053 				}
40054 #line 40055 "gram.c" /* yacc.c:1652  */
40055     break;
40056 
40057   case 1933:
40058 #line 12984 "gram.y" /* yacc.c:1652  */
40059     {
40060 					WindowDef *n = makeNode(WindowDef);
40061 					n->frameOptions = FRAMEOPTION_START_VALUE_FOLLOWING;
40062 					n->startOffset = (yyvsp[-1].node);
40063 					n->endOffset = NULL;
40064 					(yyval.windef) = n;
40065 				}
40066 #line 40067 "gram.c" /* yacc.c:1652  */
40067     break;
40068 
40069   case 1934:
40070 #line 13004 "gram.y" /* yacc.c:1652  */
40071     { (yyval.list) = (yyvsp[-1].list); }
40072 #line 40073 "gram.c" /* yacc.c:1652  */
40073     break;
40074 
40075   case 1935:
40076 #line 13005 "gram.y" /* yacc.c:1652  */
40077     { (yyval.list) = NIL; }
40078 #line 40079 "gram.c" /* yacc.c:1652  */
40079     break;
40080 
40081   case 1936:
40082 #line 13006 "gram.y" /* yacc.c:1652  */
40083     { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
40084 #line 40085 "gram.c" /* yacc.c:1652  */
40085     break;
40086 
40087   case 1937:
40088 #line 13009 "gram.y" /* yacc.c:1652  */
40089     { (yyval.list) = (yyvsp[-1].list); }
40090 #line 40091 "gram.c" /* yacc.c:1652  */
40091     break;
40092 
40093   case 1938:
40094 #line 13010 "gram.y" /* yacc.c:1652  */
40095     { (yyval.list) = NIL; }
40096 #line 40097 "gram.c" /* yacc.c:1652  */
40097     break;
40098 
40099   case 1939:
40100 #line 13013 "gram.y" /* yacc.c:1652  */
40101     { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
40102 #line 40103 "gram.c" /* yacc.c:1652  */
40103     break;
40104 
40105   case 1940:
40106 #line 13016 "gram.y" /* yacc.c:1652  */
40107     { (yyval.ival) = ANY_SUBLINK; }
40108 #line 40109 "gram.c" /* yacc.c:1652  */
40109     break;
40110 
40111   case 1941:
40112 #line 13017 "gram.y" /* yacc.c:1652  */
40113     { (yyval.ival) = ANY_SUBLINK; }
40114 #line 40115 "gram.c" /* yacc.c:1652  */
40115     break;
40116 
40117   case 1942:
40118 #line 13018 "gram.y" /* yacc.c:1652  */
40119     { (yyval.ival) = ALL_SUBLINK; }
40120 #line 40121 "gram.c" /* yacc.c:1652  */
40121     break;
40122 
40123   case 1943:
40124 #line 13021 "gram.y" /* yacc.c:1652  */
40125     { (yyval.str) = (yyvsp[0].str); }
40126 #line 40127 "gram.c" /* yacc.c:1652  */
40127     break;
40128 
40129   case 1944:
40130 #line 13022 "gram.y" /* yacc.c:1652  */
40131     { (yyval.str) = (yyvsp[0].str); }
40132 #line 40133 "gram.c" /* yacc.c:1652  */
40133     break;
40134 
40135   case 1945:
40136 #line 13025 "gram.y" /* yacc.c:1652  */
40137     { (yyval.str) = "+"; }
40138 #line 40139 "gram.c" /* yacc.c:1652  */
40139     break;
40140 
40141   case 1946:
40142 #line 13026 "gram.y" /* yacc.c:1652  */
40143     { (yyval.str) = "-"; }
40144 #line 40145 "gram.c" /* yacc.c:1652  */
40145     break;
40146 
40147   case 1947:
40148 #line 13027 "gram.y" /* yacc.c:1652  */
40149     { (yyval.str) = "*"; }
40150 #line 40151 "gram.c" /* yacc.c:1652  */
40151     break;
40152 
40153   case 1948:
40154 #line 13028 "gram.y" /* yacc.c:1652  */
40155     { (yyval.str) = "/"; }
40156 #line 40157 "gram.c" /* yacc.c:1652  */
40157     break;
40158 
40159   case 1949:
40160 #line 13029 "gram.y" /* yacc.c:1652  */
40161     { (yyval.str) = "%"; }
40162 #line 40163 "gram.c" /* yacc.c:1652  */
40163     break;
40164 
40165   case 1950:
40166 #line 13030 "gram.y" /* yacc.c:1652  */
40167     { (yyval.str) = "^"; }
40168 #line 40169 "gram.c" /* yacc.c:1652  */
40169     break;
40170 
40171   case 1951:
40172 #line 13031 "gram.y" /* yacc.c:1652  */
40173     { (yyval.str) = "<"; }
40174 #line 40175 "gram.c" /* yacc.c:1652  */
40175     break;
40176 
40177   case 1952:
40178 #line 13032 "gram.y" /* yacc.c:1652  */
40179     { (yyval.str) = ">"; }
40180 #line 40181 "gram.c" /* yacc.c:1652  */
40181     break;
40182 
40183   case 1953:
40184 #line 13033 "gram.y" /* yacc.c:1652  */
40185     { (yyval.str) = "="; }
40186 #line 40187 "gram.c" /* yacc.c:1652  */
40187     break;
40188 
40189   case 1954:
40190 #line 13034 "gram.y" /* yacc.c:1652  */
40191     { (yyval.str) = "<="; }
40192 #line 40193 "gram.c" /* yacc.c:1652  */
40193     break;
40194 
40195   case 1955:
40196 #line 13035 "gram.y" /* yacc.c:1652  */
40197     { (yyval.str) = ">="; }
40198 #line 40199 "gram.c" /* yacc.c:1652  */
40199     break;
40200 
40201   case 1956:
40202 #line 13036 "gram.y" /* yacc.c:1652  */
40203     { (yyval.str) = "<>"; }
40204 #line 40205 "gram.c" /* yacc.c:1652  */
40205     break;
40206 
40207   case 1957:
40208 #line 13040 "gram.y" /* yacc.c:1652  */
40209     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
40210 #line 40211 "gram.c" /* yacc.c:1652  */
40211     break;
40212 
40213   case 1958:
40214 #line 13042 "gram.y" /* yacc.c:1652  */
40215     { (yyval.list) = (yyvsp[-1].list); }
40216 #line 40217 "gram.c" /* yacc.c:1652  */
40217     break;
40218 
40219   case 1959:
40220 #line 13047 "gram.y" /* yacc.c:1652  */
40221     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
40222 #line 40223 "gram.c" /* yacc.c:1652  */
40223     break;
40224 
40225   case 1960:
40226 #line 13049 "gram.y" /* yacc.c:1652  */
40227     { (yyval.list) = (yyvsp[-1].list); }
40228 #line 40229 "gram.c" /* yacc.c:1652  */
40229     break;
40230 
40231   case 1961:
40232 #line 13054 "gram.y" /* yacc.c:1652  */
40233     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
40234 #line 40235 "gram.c" /* yacc.c:1652  */
40235     break;
40236 
40237   case 1962:
40238 #line 13056 "gram.y" /* yacc.c:1652  */
40239     { (yyval.list) = (yyvsp[-1].list); }
40240 #line 40241 "gram.c" /* yacc.c:1652  */
40241     break;
40242 
40243   case 1963:
40244 #line 13058 "gram.y" /* yacc.c:1652  */
40245     { (yyval.list) = list_make1(makeString("~~")); }
40246 #line 40247 "gram.c" /* yacc.c:1652  */
40247     break;
40248 
40249   case 1964:
40250 #line 13060 "gram.y" /* yacc.c:1652  */
40251     { (yyval.list) = list_make1(makeString("!~~")); }
40252 #line 40253 "gram.c" /* yacc.c:1652  */
40253     break;
40254 
40255   case 1965:
40256 #line 13062 "gram.y" /* yacc.c:1652  */
40257     { (yyval.list) = list_make1(makeString("~~*")); }
40258 #line 40259 "gram.c" /* yacc.c:1652  */
40259     break;
40260 
40261   case 1966:
40262 #line 13064 "gram.y" /* yacc.c:1652  */
40263     { (yyval.list) = list_make1(makeString("!~~*")); }
40264 #line 40265 "gram.c" /* yacc.c:1652  */
40265     break;
40266 
40267   case 1967:
40268 #line 13076 "gram.y" /* yacc.c:1652  */
40269     {
40270 					(yyval.list) = list_make1((yyvsp[0].node));
40271 				}
40272 #line 40273 "gram.c" /* yacc.c:1652  */
40273     break;
40274 
40275   case 1968:
40276 #line 13080 "gram.y" /* yacc.c:1652  */
40277     {
40278 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
40279 				}
40280 #line 40281 "gram.c" /* yacc.c:1652  */
40281     break;
40282 
40283   case 1969:
40284 #line 13087 "gram.y" /* yacc.c:1652  */
40285     {
40286 					(yyval.list) = list_make1((yyvsp[0].node));
40287 				}
40288 #line 40289 "gram.c" /* yacc.c:1652  */
40289     break;
40290 
40291   case 1970:
40292 #line 13091 "gram.y" /* yacc.c:1652  */
40293     {
40294 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
40295 				}
40296 #line 40297 "gram.c" /* yacc.c:1652  */
40297     break;
40298 
40299   case 1971:
40300 #line 13097 "gram.y" /* yacc.c:1652  */
40301     {
40302 					(yyval.node) = (yyvsp[0].node);
40303 				}
40304 #line 40305 "gram.c" /* yacc.c:1652  */
40305     break;
40306 
40307   case 1972:
40308 #line 13101 "gram.y" /* yacc.c:1652  */
40309     {
40310 					NamedArgExpr *na = makeNode(NamedArgExpr);
40311 					na->name = (yyvsp[-2].str);
40312 					na->arg = (Expr *) (yyvsp[0].node);
40313 					na->argnumber = -1;		/* until determined */
40314 					na->location = (yylsp[-2]);
40315 					(yyval.node) = (Node *) na;
40316 				}
40317 #line 40318 "gram.c" /* yacc.c:1652  */
40318     break;
40319 
40320   case 1973:
40321 #line 13110 "gram.y" /* yacc.c:1652  */
40322     {
40323 					NamedArgExpr *na = makeNode(NamedArgExpr);
40324 					na->name = (yyvsp[-2].str);
40325 					na->arg = (Expr *) (yyvsp[0].node);
40326 					na->argnumber = -1;		/* until determined */
40327 					na->location = (yylsp[-2]);
40328 					(yyval.node) = (Node *) na;
40329 				}
40330 #line 40331 "gram.c" /* yacc.c:1652  */
40331     break;
40332 
40333   case 1974:
40334 #line 13120 "gram.y" /* yacc.c:1652  */
40335     { (yyval.list) = list_make1((yyvsp[0].typnam)); }
40336 #line 40337 "gram.c" /* yacc.c:1652  */
40337     break;
40338 
40339   case 1975:
40340 #line 13121 "gram.y" /* yacc.c:1652  */
40341     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
40342 #line 40343 "gram.c" /* yacc.c:1652  */
40343     break;
40344 
40345   case 1976:
40346 #line 13125 "gram.y" /* yacc.c:1652  */
40347     {
40348 					(yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
40349 				}
40350 #line 40351 "gram.c" /* yacc.c:1652  */
40351     break;
40352 
40353   case 1977:
40354 #line 13129 "gram.y" /* yacc.c:1652  */
40355     {
40356 					(yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
40357 				}
40358 #line 40359 "gram.c" /* yacc.c:1652  */
40359     break;
40360 
40361   case 1978:
40362 #line 13133 "gram.y" /* yacc.c:1652  */
40363     {
40364 					(yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
40365 				}
40366 #line 40367 "gram.c" /* yacc.c:1652  */
40367     break;
40368 
40369   case 1979:
40370 #line 13138 "gram.y" /* yacc.c:1652  */
40371     { (yyval.list) = list_make1((yyvsp[0].node)); }
40372 #line 40373 "gram.c" /* yacc.c:1652  */
40373     break;
40374 
40375   case 1980:
40376 #line 13139 "gram.y" /* yacc.c:1652  */
40377     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
40378 #line 40379 "gram.c" /* yacc.c:1652  */
40379     break;
40380 
40381   case 1981:
40382 #line 13145 "gram.y" /* yacc.c:1652  */
40383     {
40384 					(yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
40385 				}
40386 #line 40387 "gram.c" /* yacc.c:1652  */
40387     break;
40388 
40389   case 1982:
40390 #line 13148 "gram.y" /* yacc.c:1652  */
40391     { (yyval.list) = NIL; }
40392 #line 40393 "gram.c" /* yacc.c:1652  */
40393     break;
40394 
40395   case 1983:
40396 #line 13155 "gram.y" /* yacc.c:1652  */
40397     { (yyval.str) = (yyvsp[0].str); }
40398 #line 40399 "gram.c" /* yacc.c:1652  */
40399     break;
40400 
40401   case 1984:
40402 #line 13156 "gram.y" /* yacc.c:1652  */
40403     { (yyval.str) = "year"; }
40404 #line 40405 "gram.c" /* yacc.c:1652  */
40405     break;
40406 
40407   case 1985:
40408 #line 13157 "gram.y" /* yacc.c:1652  */
40409     { (yyval.str) = "month"; }
40410 #line 40411 "gram.c" /* yacc.c:1652  */
40411     break;
40412 
40413   case 1986:
40414 #line 13158 "gram.y" /* yacc.c:1652  */
40415     { (yyval.str) = "day"; }
40416 #line 40417 "gram.c" /* yacc.c:1652  */
40417     break;
40418 
40419   case 1987:
40420 #line 13159 "gram.y" /* yacc.c:1652  */
40421     { (yyval.str) = "hour"; }
40422 #line 40423 "gram.c" /* yacc.c:1652  */
40423     break;
40424 
40425   case 1988:
40426 #line 13160 "gram.y" /* yacc.c:1652  */
40427     { (yyval.str) = "minute"; }
40428 #line 40429 "gram.c" /* yacc.c:1652  */
40429     break;
40430 
40431   case 1989:
40432 #line 13161 "gram.y" /* yacc.c:1652  */
40433     { (yyval.str) = "second"; }
40434 #line 40435 "gram.c" /* yacc.c:1652  */
40435     break;
40436 
40437   case 1990:
40438 #line 13162 "gram.y" /* yacc.c:1652  */
40439     { (yyval.str) = (yyvsp[0].str); }
40440 #line 40441 "gram.c" /* yacc.c:1652  */
40441     break;
40442 
40443   case 1991:
40444 #line 13173 "gram.y" /* yacc.c:1652  */
40445     {
40446 					(yyval.list) = list_make4((yyvsp[-3].node), (yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
40447 				}
40448 #line 40449 "gram.c" /* yacc.c:1652  */
40449     break;
40450 
40451   case 1992:
40452 #line 13177 "gram.y" /* yacc.c:1652  */
40453     {
40454 					(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
40455 				}
40456 #line 40457 "gram.c" /* yacc.c:1652  */
40457     break;
40458 
40459   case 1993:
40460 #line 13184 "gram.y" /* yacc.c:1652  */
40461     { (yyval.node) = (yyvsp[0].node); }
40462 #line 40463 "gram.c" /* yacc.c:1652  */
40463     break;
40464 
40465   case 1994:
40466 #line 13190 "gram.y" /* yacc.c:1652  */
40467     { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
40468 #line 40469 "gram.c" /* yacc.c:1652  */
40469     break;
40470 
40471   case 1995:
40472 #line 13191 "gram.y" /* yacc.c:1652  */
40473     { (yyval.list) = NIL; }
40474 #line 40475 "gram.c" /* yacc.c:1652  */
40475     break;
40476 
40477   case 1996:
40478 #line 13208 "gram.y" /* yacc.c:1652  */
40479     {
40480 					(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[-1].node), (yyvsp[0].node));
40481 				}
40482 #line 40483 "gram.c" /* yacc.c:1652  */
40483     break;
40484 
40485   case 1997:
40486 #line 13212 "gram.y" /* yacc.c:1652  */
40487     {
40488 					/* not legal per SQL99, but might as well allow it */
40489 					(yyval.list) = list_make3((yyvsp[-2].node), (yyvsp[0].node), (yyvsp[-1].node));
40490 				}
40491 #line 40492 "gram.c" /* yacc.c:1652  */
40492     break;
40493 
40494   case 1998:
40495 #line 13217 "gram.y" /* yacc.c:1652  */
40496     {
40497 					(yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].node));
40498 				}
40499 #line 40500 "gram.c" /* yacc.c:1652  */
40500     break;
40501 
40502   case 1999:
40503 #line 13221 "gram.y" /* yacc.c:1652  */
40504     {
40505 					/*
40506 					 * Since there are no cases where this syntax allows
40507 					 * a textual FOR value, we forcibly cast the argument
40508 					 * to int4.  The possible matches in pg_proc are
40509 					 * substring(text,int4) and substring(text,text),
40510 					 * and we don't want the parser to choose the latter,
40511 					 * which it is likely to do if the second argument
40512 					 * is unknown or doesn't have an implicit cast to int4.
40513 					 */
40514 					(yyval.list) = list_make3((yyvsp[-1].node), makeIntConst(1, -1),
40515 									makeTypeCast((yyvsp[0].node),
40516 												 SystemTypeName("int4"), -1));
40517 				}
40518 #line 40519 "gram.c" /* yacc.c:1652  */
40519     break;
40520 
40521   case 2000:
40522 #line 13236 "gram.y" /* yacc.c:1652  */
40523     {
40524 					(yyval.list) = (yyvsp[0].list);
40525 				}
40526 #line 40527 "gram.c" /* yacc.c:1652  */
40527     break;
40528 
40529   case 2001:
40530 #line 13240 "gram.y" /* yacc.c:1652  */
40531     { (yyval.list) = NIL; }
40532 #line 40533 "gram.c" /* yacc.c:1652  */
40533     break;
40534 
40535   case 2002:
40536 #line 13244 "gram.y" /* yacc.c:1652  */
40537     { (yyval.node) = (yyvsp[0].node); }
40538 #line 40539 "gram.c" /* yacc.c:1652  */
40539     break;
40540 
40541   case 2003:
40542 #line 13247 "gram.y" /* yacc.c:1652  */
40543     { (yyval.node) = (yyvsp[0].node); }
40544 #line 40545 "gram.c" /* yacc.c:1652  */
40545     break;
40546 
40547   case 2004:
40548 #line 13250 "gram.y" /* yacc.c:1652  */
40549     { (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
40550 #line 40551 "gram.c" /* yacc.c:1652  */
40551     break;
40552 
40553   case 2005:
40554 #line 13251 "gram.y" /* yacc.c:1652  */
40555     { (yyval.list) = (yyvsp[0].list); }
40556 #line 40557 "gram.c" /* yacc.c:1652  */
40557     break;
40558 
40559   case 2006:
40560 #line 13252 "gram.y" /* yacc.c:1652  */
40561     { (yyval.list) = (yyvsp[0].list); }
40562 #line 40563 "gram.c" /* yacc.c:1652  */
40563     break;
40564 
40565   case 2007:
40566 #line 13256 "gram.y" /* yacc.c:1652  */
40567     {
40568 					SubLink *n = makeNode(SubLink);
40569 					n->subselect = (yyvsp[0].node);
40570 					/* other fields will be filled later */
40571 					(yyval.node) = (Node *)n;
40572 				}
40573 #line 40574 "gram.c" /* yacc.c:1652  */
40574     break;
40575 
40576   case 2008:
40577 #line 13262 "gram.y" /* yacc.c:1652  */
40578     { (yyval.node) = (Node *)(yyvsp[-1].list); }
40579 #line 40580 "gram.c" /* yacc.c:1652  */
40580     break;
40581 
40582   case 2009:
40583 #line 13273 "gram.y" /* yacc.c:1652  */
40584     {
40585 					CaseExpr *c = makeNode(CaseExpr);
40586 					c->casetype = InvalidOid; /* not analyzed yet */
40587 					c->arg = (Expr *) (yyvsp[-3].node);
40588 					c->args = (yyvsp[-2].list);
40589 					c->defresult = (Expr *) (yyvsp[-1].node);
40590 					c->location = (yylsp[-4]);
40591 					(yyval.node) = (Node *)c;
40592 				}
40593 #line 40594 "gram.c" /* yacc.c:1652  */
40594     break;
40595 
40596   case 2010:
40597 #line 13286 "gram.y" /* yacc.c:1652  */
40598     { (yyval.list) = list_make1((yyvsp[0].node)); }
40599 #line 40600 "gram.c" /* yacc.c:1652  */
40600     break;
40601 
40602   case 2011:
40603 #line 13287 "gram.y" /* yacc.c:1652  */
40604     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
40605 #line 40606 "gram.c" /* yacc.c:1652  */
40606     break;
40607 
40608   case 2012:
40609 #line 13292 "gram.y" /* yacc.c:1652  */
40610     {
40611 					CaseWhen *w = makeNode(CaseWhen);
40612 					w->expr = (Expr *) (yyvsp[-2].node);
40613 					w->result = (Expr *) (yyvsp[0].node);
40614 					w->location = (yylsp[-3]);
40615 					(yyval.node) = (Node *)w;
40616 				}
40617 #line 40618 "gram.c" /* yacc.c:1652  */
40618     break;
40619 
40620   case 2013:
40621 #line 13302 "gram.y" /* yacc.c:1652  */
40622     { (yyval.node) = (yyvsp[0].node); }
40623 #line 40624 "gram.c" /* yacc.c:1652  */
40624     break;
40625 
40626   case 2014:
40627 #line 13303 "gram.y" /* yacc.c:1652  */
40628     { (yyval.node) = NULL; }
40629 #line 40630 "gram.c" /* yacc.c:1652  */
40630     break;
40631 
40632   case 2015:
40633 #line 13306 "gram.y" /* yacc.c:1652  */
40634     { (yyval.node) = (yyvsp[0].node); }
40635 #line 40636 "gram.c" /* yacc.c:1652  */
40636     break;
40637 
40638   case 2016:
40639 #line 13307 "gram.y" /* yacc.c:1652  */
40640     { (yyval.node) = NULL; }
40641 #line 40642 "gram.c" /* yacc.c:1652  */
40642     break;
40643 
40644   case 2017:
40645 #line 13311 "gram.y" /* yacc.c:1652  */
40646     {
40647 					(yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
40648 				}
40649 #line 40650 "gram.c" /* yacc.c:1652  */
40650     break;
40651 
40652   case 2018:
40653 #line 13315 "gram.y" /* yacc.c:1652  */
40654     {
40655 					(yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
40656 				}
40657 #line 40658 "gram.c" /* yacc.c:1652  */
40658     break;
40659 
40660   case 2019:
40661 #line 13322 "gram.y" /* yacc.c:1652  */
40662     {
40663 					(yyval.node) = (Node *) makeString((yyvsp[0].str));
40664 				}
40665 #line 40666 "gram.c" /* yacc.c:1652  */
40666     break;
40667 
40668   case 2020:
40669 #line 13326 "gram.y" /* yacc.c:1652  */
40670     {
40671 					(yyval.node) = (Node *) makeNode(A_Star);
40672 				}
40673 #line 40674 "gram.c" /* yacc.c:1652  */
40674     break;
40675 
40676   case 2021:
40677 #line 13330 "gram.y" /* yacc.c:1652  */
40678     {
40679 					A_Indices *ai = makeNode(A_Indices);
40680 					ai->is_slice = false;
40681 					ai->lidx = NULL;
40682 					ai->uidx = (yyvsp[-1].node);
40683 					(yyval.node) = (Node *) ai;
40684 				}
40685 #line 40686 "gram.c" /* yacc.c:1652  */
40686     break;
40687 
40688   case 2022:
40689 #line 13338 "gram.y" /* yacc.c:1652  */
40690     {
40691 					A_Indices *ai = makeNode(A_Indices);
40692 					ai->is_slice = true;
40693 					ai->lidx = (yyvsp[-3].node);
40694 					ai->uidx = (yyvsp[-1].node);
40695 					(yyval.node) = (Node *) ai;
40696 				}
40697 #line 40698 "gram.c" /* yacc.c:1652  */
40698     break;
40699 
40700   case 2023:
40701 #line 13348 "gram.y" /* yacc.c:1652  */
40702     { (yyval.node) = (yyvsp[0].node); }
40703 #line 40704 "gram.c" /* yacc.c:1652  */
40704     break;
40705 
40706   case 2024:
40707 #line 13349 "gram.y" /* yacc.c:1652  */
40708     { (yyval.node) = NULL; }
40709 #line 40710 "gram.c" /* yacc.c:1652  */
40710     break;
40711 
40712   case 2025:
40713 #line 13353 "gram.y" /* yacc.c:1652  */
40714     { (yyval.list) = list_make1((yyvsp[0].node)); }
40715 #line 40716 "gram.c" /* yacc.c:1652  */
40716     break;
40717 
40718   case 2026:
40719 #line 13354 "gram.y" /* yacc.c:1652  */
40720     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
40721 #line 40722 "gram.c" /* yacc.c:1652  */
40722     break;
40723 
40724   case 2027:
40725 #line 13358 "gram.y" /* yacc.c:1652  */
40726     { (yyval.list) = NIL; }
40727 #line 40728 "gram.c" /* yacc.c:1652  */
40728     break;
40729 
40730   case 2028:
40731 #line 13359 "gram.y" /* yacc.c:1652  */
40732     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
40733 #line 40734 "gram.c" /* yacc.c:1652  */
40734     break;
40735 
40736   case 2031:
40737 #line 13374 "gram.y" /* yacc.c:1652  */
40738     { (yyval.node) = (Node *) (yyvsp[0].node); }
40739 #line 40740 "gram.c" /* yacc.c:1652  */
40740     break;
40741 
40742   case 2032:
40743 #line 13376 "gram.y" /* yacc.c:1652  */
40744     {
40745 					SetToDefault *n = makeNode(SetToDefault);
40746 					n->location = (yylsp[0]);
40747 					(yyval.node) = (Node *) n;
40748 				}
40749 #line 40750 "gram.c" /* yacc.c:1652  */
40750     break;
40751 
40752   case 2033:
40753 #line 13384 "gram.y" /* yacc.c:1652  */
40754     { (yyval.list) = list_make1((yyvsp[0].node)); }
40755 #line 40756 "gram.c" /* yacc.c:1652  */
40756     break;
40757 
40758   case 2034:
40759 #line 13385 "gram.y" /* yacc.c:1652  */
40760     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
40761 #line 40762 "gram.c" /* yacc.c:1652  */
40762     break;
40763 
40764   case 2035:
40765 #line 13393 "gram.y" /* yacc.c:1652  */
40766     { (yyval.list) = (yyvsp[-1].list); }
40767 #line 40768 "gram.c" /* yacc.c:1652  */
40768     break;
40769 
40770   case 2036:
40771 #line 13403 "gram.y" /* yacc.c:1652  */
40772     { (yyval.list) = (yyvsp[0].list); }
40773 #line 40774 "gram.c" /* yacc.c:1652  */
40774     break;
40775 
40776   case 2037:
40777 #line 13404 "gram.y" /* yacc.c:1652  */
40778     { (yyval.list) = NIL; }
40779 #line 40780 "gram.c" /* yacc.c:1652  */
40780     break;
40781 
40782   case 2038:
40783 #line 13408 "gram.y" /* yacc.c:1652  */
40784     { (yyval.list) = list_make1((yyvsp[0].target)); }
40785 #line 40786 "gram.c" /* yacc.c:1652  */
40786     break;
40787 
40788   case 2039:
40789 #line 13409 "gram.y" /* yacc.c:1652  */
40790     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
40791 #line 40792 "gram.c" /* yacc.c:1652  */
40792     break;
40793 
40794   case 2040:
40795 #line 13413 "gram.y" /* yacc.c:1652  */
40796     {
40797 					(yyval.target) = makeNode(ResTarget);
40798 					(yyval.target)->name = (yyvsp[0].str);
40799 					(yyval.target)->indirection = NIL;
40800 					(yyval.target)->val = (Node *)(yyvsp[-2].node);
40801 					(yyval.target)->location = (yylsp[-2]);
40802 				}
40803 #line 40804 "gram.c" /* yacc.c:1652  */
40804     break;
40805 
40806   case 2041:
40807 #line 13429 "gram.y" /* yacc.c:1652  */
40808     {
40809 					(yyval.target) = makeNode(ResTarget);
40810 					(yyval.target)->name = (yyvsp[0].str);
40811 					(yyval.target)->indirection = NIL;
40812 					(yyval.target)->val = (Node *)(yyvsp[-1].node);
40813 					(yyval.target)->location = (yylsp[-1]);
40814 				}
40815 #line 40816 "gram.c" /* yacc.c:1652  */
40816     break;
40817 
40818   case 2042:
40819 #line 13437 "gram.y" /* yacc.c:1652  */
40820     {
40821 					(yyval.target) = makeNode(ResTarget);
40822 					(yyval.target)->name = NULL;
40823 					(yyval.target)->indirection = NIL;
40824 					(yyval.target)->val = (Node *)(yyvsp[0].node);
40825 					(yyval.target)->location = (yylsp[0]);
40826 				}
40827 #line 40828 "gram.c" /* yacc.c:1652  */
40828     break;
40829 
40830   case 2043:
40831 #line 13445 "gram.y" /* yacc.c:1652  */
40832     {
40833 					ColumnRef *n = makeNode(ColumnRef);
40834 					n->fields = list_make1(makeNode(A_Star));
40835 					n->location = (yylsp[0]);
40836 
40837 					(yyval.target) = makeNode(ResTarget);
40838 					(yyval.target)->name = NULL;
40839 					(yyval.target)->indirection = NIL;
40840 					(yyval.target)->val = (Node *)n;
40841 					(yyval.target)->location = (yylsp[0]);
40842 				}
40843 #line 40844 "gram.c" /* yacc.c:1652  */
40844     break;
40845 
40846   case 2044:
40847 #line 13466 "gram.y" /* yacc.c:1652  */
40848     { (yyval.list) = list_make1((yyvsp[0].range)); }
40849 #line 40850 "gram.c" /* yacc.c:1652  */
40850     break;
40851 
40852   case 2045:
40853 #line 13467 "gram.y" /* yacc.c:1652  */
40854     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
40855 #line 40856 "gram.c" /* yacc.c:1652  */
40856     break;
40857 
40858   case 2046:
40859 #line 13479 "gram.y" /* yacc.c:1652  */
40860     {
40861 					(yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
40862 				}
40863 #line 40864 "gram.c" /* yacc.c:1652  */
40864     break;
40865 
40866   case 2047:
40867 #line 13483 "gram.y" /* yacc.c:1652  */
40868     {
40869 					check_qualified_name((yyvsp[0].list), yyscanner);
40870 					(yyval.range) = makeRangeVar(NULL, NULL, (yylsp[-1]));
40871 					switch (list_length((yyvsp[0].list)))
40872 					{
40873 						case 1:
40874 							(yyval.range)->catalogname = NULL;
40875 							(yyval.range)->schemaname = (yyvsp[-1].str);
40876 							(yyval.range)->relname = strVal(linitial((yyvsp[0].list)));
40877 							break;
40878 						case 2:
40879 							(yyval.range)->catalogname = (yyvsp[-1].str);
40880 							(yyval.range)->schemaname = strVal(linitial((yyvsp[0].list)));
40881 							(yyval.range)->relname = strVal(lsecond((yyvsp[0].list)));
40882 							break;
40883 						default:
40884 							ereport(ERROR,
40885 									(errcode(ERRCODE_SYNTAX_ERROR),
40886 									 errmsg("improper qualified name (too many dotted names): %s",
40887 											NameListToString(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)))),
40888 									 parser_errposition((yylsp[-1]))));
40889 							break;
40890 					}
40891 				}
40892 #line 40893 "gram.c" /* yacc.c:1652  */
40893     break;
40894 
40895   case 2048:
40896 #line 13510 "gram.y" /* yacc.c:1652  */
40897     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
40898 #line 40899 "gram.c" /* yacc.c:1652  */
40899     break;
40900 
40901   case 2049:
40902 #line 13512 "gram.y" /* yacc.c:1652  */
40903     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
40904 #line 40905 "gram.c" /* yacc.c:1652  */
40905     break;
40906 
40907   case 2050:
40908 #line 13516 "gram.y" /* yacc.c:1652  */
40909     { (yyval.str) = (yyvsp[0].str); }
40910 #line 40911 "gram.c" /* yacc.c:1652  */
40911     break;
40912 
40913   case 2051:
40914 #line 13519 "gram.y" /* yacc.c:1652  */
40915     { (yyval.str) = (yyvsp[0].str); }
40916 #line 40917 "gram.c" /* yacc.c:1652  */
40917     break;
40918 
40919   case 2052:
40920 #line 13522 "gram.y" /* yacc.c:1652  */
40921     { (yyval.str) = (yyvsp[0].str); }
40922 #line 40923 "gram.c" /* yacc.c:1652  */
40923     break;
40924 
40925   case 2053:
40926 #line 13524 "gram.y" /* yacc.c:1652  */
40927     { (yyval.str) = (yyvsp[0].str); }
40928 #line 40929 "gram.c" /* yacc.c:1652  */
40929     break;
40930 
40931   case 2054:
40932 #line 13526 "gram.y" /* yacc.c:1652  */
40933     { (yyval.str) = (yyvsp[0].str); }
40934 #line 40935 "gram.c" /* yacc.c:1652  */
40935     break;
40936 
40937   case 2055:
40938 #line 13528 "gram.y" /* yacc.c:1652  */
40939     { (yyval.str) = (yyvsp[0].str); }
40940 #line 40941 "gram.c" /* yacc.c:1652  */
40941     break;
40942 
40943   case 2056:
40944 #line 13539 "gram.y" /* yacc.c:1652  */
40945     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
40946 #line 40947 "gram.c" /* yacc.c:1652  */
40947     break;
40948 
40949   case 2057:
40950 #line 13541 "gram.y" /* yacc.c:1652  */
40951     {
40952 						(yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
40953 											 yyscanner);
40954 					}
40955 #line 40956 "gram.c" /* yacc.c:1652  */
40956     break;
40957 
40958   case 2058:
40959 #line 13552 "gram.y" /* yacc.c:1652  */
40960     {
40961 					(yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
40962 				}
40963 #line 40964 "gram.c" /* yacc.c:1652  */
40964     break;
40965 
40966   case 2059:
40967 #line 13556 "gram.y" /* yacc.c:1652  */
40968     {
40969 					(yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
40970 				}
40971 #line 40972 "gram.c" /* yacc.c:1652  */
40972     break;
40973 
40974   case 2060:
40975 #line 13560 "gram.y" /* yacc.c:1652  */
40976     {
40977 					(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
40978 				}
40979 #line 40980 "gram.c" /* yacc.c:1652  */
40980     break;
40981 
40982   case 2061:
40983 #line 13564 "gram.y" /* yacc.c:1652  */
40984     {
40985 					(yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
40986 				}
40987 #line 40988 "gram.c" /* yacc.c:1652  */
40988     break;
40989 
40990   case 2062:
40991 #line 13568 "gram.y" /* yacc.c:1652  */
40992     {
40993 					/* This is a bit constant per SQL99:
40994 					 * Without Feature F511, "BIT data type",
40995 					 * a <general literal> shall not be a
40996 					 * <bit string literal> or a <hex string literal>.
40997 					 */
40998 					(yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
40999 				}
41000 #line 41001 "gram.c" /* yacc.c:1652  */
41001     break;
41002 
41003   case 2063:
41004 #line 13577 "gram.y" /* yacc.c:1652  */
41005     {
41006 					/* generic type 'literal' syntax */
41007 					TypeName *t = makeTypeNameFromNameList((yyvsp[-1].list));
41008 					t->location = (yylsp[-1]);
41009 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
41010 				}
41011 #line 41012 "gram.c" /* yacc.c:1652  */
41012     break;
41013 
41014   case 2064:
41015 #line 13584 "gram.y" /* yacc.c:1652  */
41016     {
41017 					/* generic syntax with a type modifier */
41018 					TypeName *t = makeTypeNameFromNameList((yyvsp[-5].list));
41019 					ListCell *lc;
41020 
41021 					/*
41022 					 * We must use func_arg_list and opt_sort_clause in the
41023 					 * production to avoid reduce/reduce conflicts, but we
41024 					 * don't actually wish to allow NamedArgExpr in this
41025 					 * context, nor ORDER BY.
41026 					 */
41027 					foreach(lc, (yyvsp[-3].list))
41028 					{
41029 						NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);
41030 
41031 						if (IsA(arg, NamedArgExpr))
41032 							ereport(ERROR,
41033 									(errcode(ERRCODE_SYNTAX_ERROR),
41034 									 errmsg("type modifier cannot have parameter name"),
41035 									 parser_errposition(arg->location)));
41036 					}
41037 					if ((yyvsp[-2].list) != NIL)
41038 							ereport(ERROR,
41039 									(errcode(ERRCODE_SYNTAX_ERROR),
41040 									 errmsg("type modifier cannot have ORDER BY"),
41041 									 parser_errposition((yylsp[-2]))));
41042 
41043 					t->typmods = (yyvsp[-3].list);
41044 					t->location = (yylsp[-5]);
41045 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
41046 				}
41047 #line 41048 "gram.c" /* yacc.c:1652  */
41048     break;
41049 
41050   case 2065:
41051 #line 13616 "gram.y" /* yacc.c:1652  */
41052     {
41053 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
41054 				}
41055 #line 41056 "gram.c" /* yacc.c:1652  */
41056     break;
41057 
41058   case 2066:
41059 #line 13620 "gram.y" /* yacc.c:1652  */
41060     {
41061 					TypeName *t = (yyvsp[-2].typnam);
41062 					t->typmods = (yyvsp[0].list);
41063 					(yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
41064 				}
41065 #line 41066 "gram.c" /* yacc.c:1652  */
41066     break;
41067 
41068   case 2067:
41069 #line 13626 "gram.y" /* yacc.c:1652  */
41070     {
41071 					TypeName *t = (yyvsp[-4].typnam);
41072 					t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
41073 											makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
41074 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
41075 				}
41076 #line 41077 "gram.c" /* yacc.c:1652  */
41077     break;
41078 
41079   case 2068:
41080 #line 13633 "gram.y" /* yacc.c:1652  */
41081     {
41082 					(yyval.node) = makeBoolAConst(TRUE, (yylsp[0]));
41083 				}
41084 #line 41085 "gram.c" /* yacc.c:1652  */
41085     break;
41086 
41087   case 2069:
41088 #line 13637 "gram.y" /* yacc.c:1652  */
41089     {
41090 					(yyval.node) = makeBoolAConst(FALSE, (yylsp[0]));
41091 				}
41092 #line 41093 "gram.c" /* yacc.c:1652  */
41093     break;
41094 
41095   case 2070:
41096 #line 13641 "gram.y" /* yacc.c:1652  */
41097     {
41098 					(yyval.node) = makeNullAConst((yylsp[0]));
41099 				}
41100 #line 41101 "gram.c" /* yacc.c:1652  */
41101     break;
41102 
41103   case 2071:
41104 #line 13646 "gram.y" /* yacc.c:1652  */
41105     { (yyval.ival) = (yyvsp[0].ival); }
41106 #line 41107 "gram.c" /* yacc.c:1652  */
41107     break;
41108 
41109   case 2072:
41110 #line 13647 "gram.y" /* yacc.c:1652  */
41111     { (yyval.str) = (yyvsp[0].str); }
41112 #line 41113 "gram.c" /* yacc.c:1652  */
41113     break;
41114 
41115   case 2073:
41116 #line 13649 "gram.y" /* yacc.c:1652  */
41117     { (yyval.ival) = (yyvsp[0].ival); }
41118 #line 41119 "gram.c" /* yacc.c:1652  */
41119     break;
41120 
41121   case 2074:
41122 #line 13650 "gram.y" /* yacc.c:1652  */
41123     { (yyval.ival) = + (yyvsp[0].ival); }
41124 #line 41125 "gram.c" /* yacc.c:1652  */
41125     break;
41126 
41127   case 2075:
41128 #line 13651 "gram.y" /* yacc.c:1652  */
41129     { (yyval.ival) = - (yyvsp[0].ival); }
41130 #line 41131 "gram.c" /* yacc.c:1652  */
41131     break;
41132 
41133   case 2076:
41134 #line 13656 "gram.y" /* yacc.c:1652  */
41135     {
41136 					RoleSpec *spc = (RoleSpec *) (yyvsp[0].node);
41137 					switch (spc->roletype)
41138 					{
41139 						case ROLESPEC_CSTRING:
41140 							(yyval.str) = spc->rolename;
41141 							break;
41142 						case ROLESPEC_PUBLIC:
41143 							ereport(ERROR,
41144 									(errcode(ERRCODE_RESERVED_NAME),
41145 									 errmsg("role name \"%s\" is reserved",
41146 											"public"),
41147 									 parser_errposition((yylsp[0]))));
41148 						case ROLESPEC_SESSION_USER:
41149 							ereport(ERROR,
41150 									(errcode(ERRCODE_RESERVED_NAME),
41151 									 errmsg("%s cannot be used as a role name here",
41152 											"SESSION_USER"),
41153 									 parser_errposition((yylsp[0]))));
41154 						case ROLESPEC_CURRENT_USER:
41155 							ereport(ERROR,
41156 									(errcode(ERRCODE_RESERVED_NAME),
41157 									 errmsg("%s cannot be used as a role name here",
41158 											"CURRENT_USER"),
41159 									 parser_errposition((yylsp[0]))));
41160 					}
41161 				}
41162 #line 41163 "gram.c" /* yacc.c:1652  */
41163     break;
41164 
41165   case 2077:
41166 #line 13686 "gram.y" /* yacc.c:1652  */
41167     {
41168 						/*
41169 						 * "public" and "none" are not keywords, but they must
41170 						 * be treated specially here.
41171 						 */
41172 						RoleSpec *n;
41173 						if (strcmp((yyvsp[0].str), "public") == 0)
41174 						{
41175 							n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[0]));
41176 							n->roletype = ROLESPEC_PUBLIC;
41177 						}
41178 						else if (strcmp((yyvsp[0].str), "none") == 0)
41179 						{
41180 							ereport(ERROR,
41181 									(errcode(ERRCODE_RESERVED_NAME),
41182 									 errmsg("role name \"%s\" is reserved",
41183 											"none"),
41184 									 parser_errposition((yylsp[0]))));
41185 						}
41186 						else
41187 						{
41188 							n = (RoleSpec *) makeRoleSpec(ROLESPEC_CSTRING, (yylsp[0]));
41189 							n->rolename = pstrdup((yyvsp[0].str));
41190 						}
41191 						(yyval.node) = (Node *) n;
41192 					}
41193 #line 41194 "gram.c" /* yacc.c:1652  */
41194     break;
41195 
41196   case 2078:
41197 #line 13713 "gram.y" /* yacc.c:1652  */
41198     {
41199 						(yyval.node) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
41200 					}
41201 #line 41202 "gram.c" /* yacc.c:1652  */
41202     break;
41203 
41204   case 2079:
41205 #line 13717 "gram.y" /* yacc.c:1652  */
41206     {
41207 						(yyval.node) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
41208 					}
41209 #line 41210 "gram.c" /* yacc.c:1652  */
41210     break;
41211 
41212   case 2080:
41213 #line 13723 "gram.y" /* yacc.c:1652  */
41214     { (yyval.list) = list_make1((yyvsp[0].node)); }
41215 #line 41216 "gram.c" /* yacc.c:1652  */
41216     break;
41217 
41218   case 2081:
41219 #line 13725 "gram.y" /* yacc.c:1652  */
41220     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
41221 #line 41222 "gram.c" /* yacc.c:1652  */
41222     break;
41223 
41224   case 2082:
41225 #line 13741 "gram.y" /* yacc.c:1652  */
41226     { (yyval.str) = (yyvsp[0].str); }
41227 #line 41228 "gram.c" /* yacc.c:1652  */
41228     break;
41229 
41230   case 2083:
41231 #line 13742 "gram.y" /* yacc.c:1652  */
41232     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
41233 #line 41234 "gram.c" /* yacc.c:1652  */
41234     break;
41235 
41236   case 2084:
41237 #line 13743 "gram.y" /* yacc.c:1652  */
41238     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
41239 #line 41240 "gram.c" /* yacc.c:1652  */
41240     break;
41241 
41242   case 2085:
41243 #line 13748 "gram.y" /* yacc.c:1652  */
41244     { (yyval.str) = (yyvsp[0].str); }
41245 #line 41246 "gram.c" /* yacc.c:1652  */
41246     break;
41247 
41248   case 2086:
41249 #line 13749 "gram.y" /* yacc.c:1652  */
41250     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
41251 #line 41252 "gram.c" /* yacc.c:1652  */
41252     break;
41253 
41254   case 2087:
41255 #line 13750 "gram.y" /* yacc.c:1652  */
41256     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
41257 #line 41258 "gram.c" /* yacc.c:1652  */
41258     break;
41259 
41260   case 2088:
41261 #line 13755 "gram.y" /* yacc.c:1652  */
41262     { (yyval.str) = (yyvsp[0].str); }
41263 #line 41264 "gram.c" /* yacc.c:1652  */
41264     break;
41265 
41266   case 2089:
41267 #line 13756 "gram.y" /* yacc.c:1652  */
41268     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
41269 #line 41270 "gram.c" /* yacc.c:1652  */
41270     break;
41271 
41272   case 2090:
41273 #line 13757 "gram.y" /* yacc.c:1652  */
41274     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
41275 #line 41276 "gram.c" /* yacc.c:1652  */
41276     break;
41277 
41278   case 2091:
41279 #line 13758 "gram.y" /* yacc.c:1652  */
41280     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
41281 #line 41282 "gram.c" /* yacc.c:1652  */
41282     break;
41283 
41284   case 2092:
41285 #line 13764 "gram.y" /* yacc.c:1652  */
41286     { (yyval.str) = (yyvsp[0].str); }
41287 #line 41288 "gram.c" /* yacc.c:1652  */
41288     break;
41289 
41290   case 2093:
41291 #line 13765 "gram.y" /* yacc.c:1652  */
41292     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
41293 #line 41294 "gram.c" /* yacc.c:1652  */
41294     break;
41295 
41296   case 2094:
41297 #line 13766 "gram.y" /* yacc.c:1652  */
41298     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
41299 #line 41300 "gram.c" /* yacc.c:1652  */
41300     break;
41301 
41302   case 2095:
41303 #line 13767 "gram.y" /* yacc.c:1652  */
41304     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
41305 #line 41306 "gram.c" /* yacc.c:1652  */
41306     break;
41307 
41308   case 2096:
41309 #line 13768 "gram.y" /* yacc.c:1652  */
41310     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
41311 #line 41312 "gram.c" /* yacc.c:1652  */
41312     break;
41313 
41314 
41315 #line 41316 "gram.c" /* yacc.c:1652  */
41316       default: break;
41317     }
41318   /* User semantic actions sometimes alter yychar, and that requires
41319      that yytoken be updated with the new translation.  We take the
41320      approach of translating immediately before every use of yytoken.
41321      One alternative is translating here after every semantic action,
41322      but that translation would be missed if the semantic action invokes
41323      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
41324      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
41325      incorrect destructor might then be invoked immediately.  In the
41326      case of YYERROR or YYBACKUP, subsequent parser actions might lead
41327      to an incorrect destructor call or verbose syntax error message
41328      before the lookahead is translated.  */
41329   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
41330 
41331   YYPOPSTACK (yylen);
41332   yylen = 0;
41333   YY_STACK_PRINT (yyss, yyssp);
41334 
41335   *++yyvsp = yyval;
41336   *++yylsp = yyloc;
41337 
41338   /* Now 'shift' the result of the reduction.  Determine what state
41339      that goes to, based on the state we popped back to and the rule
41340      number reduced by.  */
41341   {
41342     const int yylhs = yyr1[yyn] - YYNTOKENS;
41343     const int yyi = yypgoto[yylhs] + *yyssp;
41344     yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
41345                ? yytable[yyi]
41346                : yydefgoto[yylhs]);
41347   }
41348 
41349   goto yynewstate;
41350 
41351 
41352 /*--------------------------------------.
41353 | yyerrlab -- here on detecting error.  |
41354 `--------------------------------------*/
41355 yyerrlab:
41356   /* Make sure we have latest lookahead translation.  See comments at
41357      user semantic actions for why this is necessary.  */
41358   yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
41359 
41360   /* If not already recovering from an error, report this error.  */
41361   if (!yyerrstatus)
41362     {
41363       ++yynerrs;
41364 #if ! YYERROR_VERBOSE
41365       yyerror (&yylloc, yyscanner, YY_("syntax error"));
41366 #else
41367 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
41368                                         yyssp, yytoken)
41369       {
41370         char const *yymsgp = YY_("syntax error");
41371         int yysyntax_error_status;
41372         yysyntax_error_status = YYSYNTAX_ERROR;
41373         if (yysyntax_error_status == 0)
41374           yymsgp = yymsg;
41375         else if (yysyntax_error_status == 1)
41376           {
41377             if (yymsg != yymsgbuf)
41378               YYSTACK_FREE (yymsg);
41379             yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
41380             if (!yymsg)
41381               {
41382                 yymsg = yymsgbuf;
41383                 yymsg_alloc = sizeof yymsgbuf;
41384                 yysyntax_error_status = 2;
41385               }
41386             else
41387               {
41388                 yysyntax_error_status = YYSYNTAX_ERROR;
41389                 yymsgp = yymsg;
41390               }
41391           }
41392         yyerror (&yylloc, yyscanner, yymsgp);
41393         if (yysyntax_error_status == 2)
41394           goto yyexhaustedlab;
41395       }
41396 # undef YYSYNTAX_ERROR
41397 #endif
41398     }
41399 
41400   yyerror_range[1] = yylloc;
41401 
41402   if (yyerrstatus == 3)
41403     {
41404       /* If just tried and failed to reuse lookahead token after an
41405          error, discard it.  */
41406 
41407       if (yychar <= YYEOF)
41408         {
41409           /* Return failure if at end of input.  */
41410           if (yychar == YYEOF)
41411             YYABORT;
41412         }
41413       else
41414         {
41415           yydestruct ("Error: discarding",
41416                       yytoken, &yylval, &yylloc, yyscanner);
41417           yychar = YYEMPTY;
41418         }
41419     }
41420 
41421   /* Else will try to reuse lookahead token after shifting the error
41422      token.  */
41423   goto yyerrlab1;
41424 
41425 
41426 /*---------------------------------------------------.
41427 | yyerrorlab -- error raised explicitly by YYERROR.  |
41428 `---------------------------------------------------*/
41429 yyerrorlab:
41430   /* Pacify compilers when the user code never invokes YYERROR and the
41431      label yyerrorlab therefore never appears in user code.  */
41432   if (0)
41433     YYERROR;
41434 
41435   /* Do not reclaim the symbols of the rule whose action triggered
41436      this YYERROR.  */
41437   YYPOPSTACK (yylen);
41438   yylen = 0;
41439   YY_STACK_PRINT (yyss, yyssp);
41440   yystate = *yyssp;
41441   goto yyerrlab1;
41442 
41443 
41444 /*-------------------------------------------------------------.
41445 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
41446 `-------------------------------------------------------------*/
41447 yyerrlab1:
41448   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
41449 
41450   for (;;)
41451     {
41452       yyn = yypact[yystate];
41453       if (!yypact_value_is_default (yyn))
41454         {
41455           yyn += YYTERROR;
41456           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
41457             {
41458               yyn = yytable[yyn];
41459               if (0 < yyn)
41460                 break;
41461             }
41462         }
41463 
41464       /* Pop the current state because it cannot handle the error token.  */
41465       if (yyssp == yyss)
41466         YYABORT;
41467 
41468       yyerror_range[1] = *yylsp;
41469       yydestruct ("Error: popping",
41470                   yystos[yystate], yyvsp, yylsp, yyscanner);
41471       YYPOPSTACK (1);
41472       yystate = *yyssp;
41473       YY_STACK_PRINT (yyss, yyssp);
41474     }
41475 
41476   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
41477   *++yyvsp = yylval;
41478   YY_IGNORE_MAYBE_UNINITIALIZED_END
41479 
41480   yyerror_range[2] = yylloc;
41481   /* Using YYLLOC is tempting, but would change the location of
41482      the lookahead.  YYLOC is available though.  */
41483   YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
41484   *++yylsp = yyloc;
41485 
41486   /* Shift the error token.  */
41487   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
41488 
41489   yystate = yyn;
41490   goto yynewstate;
41491 
41492 
41493 /*-------------------------------------.
41494 | yyacceptlab -- YYACCEPT comes here.  |
41495 `-------------------------------------*/
41496 yyacceptlab:
41497   yyresult = 0;
41498   goto yyreturn;
41499 
41500 
41501 /*-----------------------------------.
41502 | yyabortlab -- YYABORT comes here.  |
41503 `-----------------------------------*/
41504 yyabortlab:
41505   yyresult = 1;
41506   goto yyreturn;
41507 
41508 
41509 #if !defined yyoverflow || YYERROR_VERBOSE
41510 /*-------------------------------------------------.
41511 | yyexhaustedlab -- memory exhaustion comes here.  |
41512 `-------------------------------------------------*/
41513 yyexhaustedlab:
41514   yyerror (&yylloc, yyscanner, YY_("memory exhausted"));
41515   yyresult = 2;
41516   /* Fall through.  */
41517 #endif
41518 
41519 
41520 /*-----------------------------------------------------.
41521 | yyreturn -- parsing is finished, return the result.  |
41522 `-----------------------------------------------------*/
41523 yyreturn:
41524   if (yychar != YYEMPTY)
41525     {
41526       /* Make sure we have latest lookahead translation.  See comments at
41527          user semantic actions for why this is necessary.  */
41528       yytoken = YYTRANSLATE (yychar);
41529       yydestruct ("Cleanup: discarding lookahead",
41530                   yytoken, &yylval, &yylloc, yyscanner);
41531     }
41532   /* Do not reclaim the symbols of the rule whose action triggered
41533      this YYABORT or YYACCEPT.  */
41534   YYPOPSTACK (yylen);
41535   YY_STACK_PRINT (yyss, yyssp);
41536   while (yyssp != yyss)
41537     {
41538       yydestruct ("Cleanup: popping",
41539                   yystos[*yyssp], yyvsp, yylsp, yyscanner);
41540       YYPOPSTACK (1);
41541     }
41542 #ifndef yyoverflow
41543   if (yyss != yyssa)
41544     YYSTACK_FREE (yyss);
41545 #endif
41546 #if YYERROR_VERBOSE
41547   if (yymsg != yymsgbuf)
41548     YYSTACK_FREE (yymsg);
41549 #endif
41550   return yyresult;
41551 }
41552 #line 14244 "gram.y" /* yacc.c:1918  */
41553 
41554 
41555 /*
41556  * The signature of this function is required by bison.  However, we
41557  * ignore the passed yylloc and instead use the last token position
41558  * available from the scanner.
41559  */
41560 static void
base_yyerror(YYLTYPE * yylloc,core_yyscan_t yyscanner,const char * msg)41561 base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner, const char *msg)
41562 {
41563 	parser_yyerror(msg);
41564 }
41565 
41566 static Node *
makeColumnRef(char * colname,List * indirection,int location,core_yyscan_t yyscanner)41567 makeColumnRef(char *colname, List *indirection,
41568 			  int location, core_yyscan_t yyscanner)
41569 {
41570 	/*
41571 	 * Generate a ColumnRef node, with an A_Indirection node added if there
41572 	 * is any subscripting in the specified indirection list.  However,
41573 	 * any field selection at the start of the indirection list must be
41574 	 * transposed into the "fields" part of the ColumnRef node.
41575 	 */
41576 	ColumnRef  *c = makeNode(ColumnRef);
41577 	int		nfields = 0;
41578 	ListCell *l;
41579 
41580 	c->location = location;
41581 	foreach(l, indirection)
41582 	{
41583 		if (IsA(lfirst(l), A_Indices))
41584 		{
41585 			A_Indirection *i = makeNode(A_Indirection);
41586 
41587 			if (nfields == 0)
41588 			{
41589 				/* easy case - all indirection goes to A_Indirection */
41590 				c->fields = list_make1(makeString(colname));
41591 				i->indirection = check_indirection(indirection, yyscanner);
41592 			}
41593 			else
41594 			{
41595 				/* got to split the list in two */
41596 				i->indirection = check_indirection(list_copy_tail(indirection,
41597 																  nfields),
41598 												   yyscanner);
41599 				indirection = list_truncate(indirection, nfields);
41600 				c->fields = lcons(makeString(colname), indirection);
41601 			}
41602 			i->arg = (Node *) c;
41603 			return (Node *) i;
41604 		}
41605 		else if (IsA(lfirst(l), A_Star))
41606 		{
41607 			/* We only allow '*' at the end of a ColumnRef */
41608 			if (lnext(l) != NULL)
41609 				parser_yyerror("improper use of \"*\"");
41610 		}
41611 		nfields++;
41612 	}
41613 	/* No subscripting, so all indirection gets added to field list */
41614 	c->fields = lcons(makeString(colname), indirection);
41615 	return (Node *) c;
41616 }
41617 
41618 static Node *
makeTypeCast(Node * arg,TypeName * typename,int location)41619 makeTypeCast(Node *arg, TypeName *typename, int location)
41620 {
41621 	TypeCast *n = makeNode(TypeCast);
41622 	n->arg = arg;
41623 	n->typeName = typename;
41624 	n->location = location;
41625 	return (Node *) n;
41626 }
41627 
41628 static Node *
makeStringConst(char * str,int location)41629 makeStringConst(char *str, int location)
41630 {
41631 	A_Const *n = makeNode(A_Const);
41632 
41633 	n->val.type = T_String;
41634 	n->val.val.str = str;
41635 	n->location = location;
41636 
41637 	return (Node *)n;
41638 }
41639 
41640 static Node *
makeStringConstCast(char * str,int location,TypeName * typename)41641 makeStringConstCast(char *str, int location, TypeName *typename)
41642 {
41643 	Node *s = makeStringConst(str, location);
41644 
41645 	return makeTypeCast(s, typename, -1);
41646 }
41647 
41648 static Node *
makeIntConst(int val,int location)41649 makeIntConst(int val, int location)
41650 {
41651 	A_Const *n = makeNode(A_Const);
41652 
41653 	n->val.type = T_Integer;
41654 	n->val.val.ival = val;
41655 	n->location = location;
41656 
41657 	return (Node *)n;
41658 }
41659 
41660 static Node *
makeFloatConst(char * str,int location)41661 makeFloatConst(char *str, int location)
41662 {
41663 	A_Const *n = makeNode(A_Const);
41664 
41665 	n->val.type = T_Float;
41666 	n->val.val.str = str;
41667 	n->location = location;
41668 
41669 	return (Node *)n;
41670 }
41671 
41672 static Node *
makeBitStringConst(char * str,int location)41673 makeBitStringConst(char *str, int location)
41674 {
41675 	A_Const *n = makeNode(A_Const);
41676 
41677 	n->val.type = T_BitString;
41678 	n->val.val.str = str;
41679 	n->location = location;
41680 
41681 	return (Node *)n;
41682 }
41683 
41684 static Node *
makeNullAConst(int location)41685 makeNullAConst(int location)
41686 {
41687 	A_Const *n = makeNode(A_Const);
41688 
41689 	n->val.type = T_Null;
41690 	n->location = location;
41691 
41692 	return (Node *)n;
41693 }
41694 
41695 static Node *
makeAConst(Value * v,int location)41696 makeAConst(Value *v, int location)
41697 {
41698 	Node *n;
41699 
41700 	switch (v->type)
41701 	{
41702 		case T_Float:
41703 			n = makeFloatConst(v->val.str, location);
41704 			break;
41705 
41706 		case T_Integer:
41707 			n = makeIntConst(v->val.ival, location);
41708 			break;
41709 
41710 		case T_String:
41711 		default:
41712 			n = makeStringConst(v->val.str, location);
41713 			break;
41714 	}
41715 
41716 	return n;
41717 }
41718 
41719 /* makeBoolAConst()
41720  * Create an A_Const string node and put it inside a boolean cast.
41721  */
41722 static Node *
makeBoolAConst(bool state,int location)41723 makeBoolAConst(bool state, int location)
41724 {
41725 	A_Const *n = makeNode(A_Const);
41726 
41727 	n->val.type = T_String;
41728 	n->val.val.str = (state ? "t" : "f");
41729 	n->location = location;
41730 
41731 	return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
41732 }
41733 
41734 /* makeRoleSpec
41735  * Create a RoleSpec with the given type
41736  */
41737 static Node *
makeRoleSpec(RoleSpecType type,int location)41738 makeRoleSpec(RoleSpecType type, int location)
41739 {
41740 	RoleSpec *spec = makeNode(RoleSpec);
41741 
41742 	spec->roletype = type;
41743 	spec->location = location;
41744 
41745 	return (Node *) spec;
41746 }
41747 
41748 /* check_qualified_name --- check the result of qualified_name production
41749  *
41750  * It's easiest to let the grammar production for qualified_name allow
41751  * subscripts and '*', which we then must reject here.
41752  */
41753 static void
check_qualified_name(List * names,core_yyscan_t yyscanner)41754 check_qualified_name(List *names, core_yyscan_t yyscanner)
41755 {
41756 	ListCell   *i;
41757 
41758 	foreach(i, names)
41759 	{
41760 		if (!IsA(lfirst(i), String))
41761 			parser_yyerror("syntax error");
41762 	}
41763 }
41764 
41765 /* check_func_name --- check the result of func_name production
41766  *
41767  * It's easiest to let the grammar production for func_name allow subscripts
41768  * and '*', which we then must reject here.
41769  */
41770 static List *
check_func_name(List * names,core_yyscan_t yyscanner)41771 check_func_name(List *names, core_yyscan_t yyscanner)
41772 {
41773 	ListCell   *i;
41774 
41775 	foreach(i, names)
41776 	{
41777 		if (!IsA(lfirst(i), String))
41778 			parser_yyerror("syntax error");
41779 	}
41780 	return names;
41781 }
41782 
41783 /* check_indirection --- check the result of indirection production
41784  *
41785  * We only allow '*' at the end of the list, but it's hard to enforce that
41786  * in the grammar, so do it here.
41787  */
41788 static List *
check_indirection(List * indirection,core_yyscan_t yyscanner)41789 check_indirection(List *indirection, core_yyscan_t yyscanner)
41790 {
41791 	ListCell *l;
41792 
41793 	foreach(l, indirection)
41794 	{
41795 		if (IsA(lfirst(l), A_Star))
41796 		{
41797 			if (lnext(l) != NULL)
41798 				parser_yyerror("improper use of \"*\"");
41799 		}
41800 	}
41801 	return indirection;
41802 }
41803 
41804 /* extractArgTypes()
41805  * Given a list of FunctionParameter nodes, extract a list of just the
41806  * argument types (TypeNames) for input parameters only.  This is what
41807  * is needed to look up an existing function, which is what is wanted by
41808  * the productions that use this call.
41809  */
41810 static List *
extractArgTypes(List * parameters)41811 extractArgTypes(List *parameters)
41812 {
41813 	List	   *result = NIL;
41814 	ListCell   *i;
41815 
41816 	foreach(i, parameters)
41817 	{
41818 		FunctionParameter *p = (FunctionParameter *) lfirst(i);
41819 
41820 		if (p->mode != FUNC_PARAM_OUT && p->mode != FUNC_PARAM_TABLE)
41821 			result = lappend(result, p->argType);
41822 	}
41823 	return result;
41824 }
41825 
41826 /* extractAggrArgTypes()
41827  * As above, but work from the output of the aggr_args production.
41828  */
41829 static List *
extractAggrArgTypes(List * aggrargs)41830 extractAggrArgTypes(List *aggrargs)
41831 {
41832 	Assert(list_length(aggrargs) == 2);
41833 	return extractArgTypes((List *) linitial(aggrargs));
41834 }
41835 
41836 /* makeOrderedSetArgs()
41837  * Build the result of the aggr_args production (which see the comments for).
41838  * This handles only the case where both given lists are nonempty, so that
41839  * we have to deal with multiple VARIADIC arguments.
41840  */
41841 static List *
makeOrderedSetArgs(List * directargs,List * orderedargs,core_yyscan_t yyscanner)41842 makeOrderedSetArgs(List *directargs, List *orderedargs,
41843 				   core_yyscan_t yyscanner)
41844 {
41845 	FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
41846 	Value	   *ndirectargs;
41847 
41848 	/* No restriction unless last direct arg is VARIADIC */
41849 	if (lastd->mode == FUNC_PARAM_VARIADIC)
41850 	{
41851 		FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);
41852 
41853 		/*
41854 		 * We ignore the names, though the aggr_arg production allows them;
41855 		 * it doesn't allow default values, so those need not be checked.
41856 		 */
41857 		if (list_length(orderedargs) != 1 ||
41858 			firsto->mode != FUNC_PARAM_VARIADIC ||
41859 			!equal(lastd->argType, firsto->argType))
41860 			ereport(ERROR,
41861 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
41862 					 errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
41863 					 parser_errposition(exprLocation((Node *) firsto))));
41864 
41865 		/* OK, drop the duplicate VARIADIC argument from the internal form */
41866 		orderedargs = NIL;
41867 	}
41868 
41869 	/* don't merge into the next line, as list_concat changes directargs */
41870 	ndirectargs = makeInteger(list_length(directargs));
41871 
41872 	return list_make2(list_concat(directargs, orderedargs),
41873 					  ndirectargs);
41874 }
41875 
41876 /* insertSelectOptions()
41877  * Insert ORDER BY, etc into an already-constructed SelectStmt.
41878  *
41879  * This routine is just to avoid duplicating code in SelectStmt productions.
41880  */
41881 static void
insertSelectOptions(SelectStmt * stmt,List * sortClause,List * lockingClause,Node * limitOffset,Node * limitCount,WithClause * withClause,core_yyscan_t yyscanner)41882 insertSelectOptions(SelectStmt *stmt,
41883 					List *sortClause, List *lockingClause,
41884 					Node *limitOffset, Node *limitCount,
41885 					WithClause *withClause,
41886 					core_yyscan_t yyscanner)
41887 {
41888 	Assert(IsA(stmt, SelectStmt));
41889 
41890 	/*
41891 	 * Tests here are to reject constructs like
41892 	 *	(SELECT foo ORDER BY bar) ORDER BY baz
41893 	 */
41894 	if (sortClause)
41895 	{
41896 		if (stmt->sortClause)
41897 			ereport(ERROR,
41898 					(errcode(ERRCODE_SYNTAX_ERROR),
41899 					 errmsg("multiple ORDER BY clauses not allowed"),
41900 					 parser_errposition(exprLocation((Node *) sortClause))));
41901 		stmt->sortClause = sortClause;
41902 	}
41903 	/* We can handle multiple locking clauses, though */
41904 	stmt->lockingClause = list_concat(stmt->lockingClause, lockingClause);
41905 	if (limitOffset)
41906 	{
41907 		if (stmt->limitOffset)
41908 			ereport(ERROR,
41909 					(errcode(ERRCODE_SYNTAX_ERROR),
41910 					 errmsg("multiple OFFSET clauses not allowed"),
41911 					 parser_errposition(exprLocation(limitOffset))));
41912 		stmt->limitOffset = limitOffset;
41913 	}
41914 	if (limitCount)
41915 	{
41916 		if (stmt->limitCount)
41917 			ereport(ERROR,
41918 					(errcode(ERRCODE_SYNTAX_ERROR),
41919 					 errmsg("multiple LIMIT clauses not allowed"),
41920 					 parser_errposition(exprLocation(limitCount))));
41921 		stmt->limitCount = limitCount;
41922 	}
41923 	if (withClause)
41924 	{
41925 		if (stmt->withClause)
41926 			ereport(ERROR,
41927 					(errcode(ERRCODE_SYNTAX_ERROR),
41928 					 errmsg("multiple WITH clauses not allowed"),
41929 					 parser_errposition(exprLocation((Node *) withClause))));
41930 		stmt->withClause = withClause;
41931 	}
41932 }
41933 
41934 static Node *
makeSetOp(SetOperation op,bool all,Node * larg,Node * rarg)41935 makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg)
41936 {
41937 	SelectStmt *n = makeNode(SelectStmt);
41938 
41939 	n->op = op;
41940 	n->all = all;
41941 	n->larg = (SelectStmt *) larg;
41942 	n->rarg = (SelectStmt *) rarg;
41943 	return (Node *) n;
41944 }
41945 
41946 /* SystemFuncName()
41947  * Build a properly-qualified reference to a built-in function.
41948  */
41949 List *
SystemFuncName(char * name)41950 SystemFuncName(char *name)
41951 {
41952 	return list_make2(makeString("pg_catalog"), makeString(name));
41953 }
41954 
41955 /* SystemTypeName()
41956  * Build a properly-qualified reference to a built-in type.
41957  *
41958  * typmod is defaulted, but may be changed afterwards by caller.
41959  * Likewise for the location.
41960  */
41961 TypeName *
SystemTypeName(char * name)41962 SystemTypeName(char *name)
41963 {
41964 	return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
41965 											   makeString(name)));
41966 }
41967 
41968 /* doNegate()
41969  * Handle negation of a numeric constant.
41970  *
41971  * Formerly, we did this here because the optimizer couldn't cope with
41972  * indexquals that looked like "var = -4" --- it wants "var = const"
41973  * and a unary minus operator applied to a constant didn't qualify.
41974  * As of Postgres 7.0, that problem doesn't exist anymore because there
41975  * is a constant-subexpression simplifier in the optimizer.  However,
41976  * there's still a good reason for doing this here, which is that we can
41977  * postpone committing to a particular internal representation for simple
41978  * negative constants.	It's better to leave "-123.456" in string form
41979  * until we know what the desired type is.
41980  */
41981 static Node *
doNegate(Node * n,int location)41982 doNegate(Node *n, int location)
41983 {
41984 	if (IsA(n, A_Const))
41985 	{
41986 		A_Const *con = (A_Const *)n;
41987 
41988 		/* report the constant's location as that of the '-' sign */
41989 		con->location = location;
41990 
41991 		if (con->val.type == T_Integer)
41992 		{
41993 			con->val.val.ival = -con->val.val.ival;
41994 			return n;
41995 		}
41996 		if (con->val.type == T_Float)
41997 		{
41998 			doNegateFloat(&con->val);
41999 			return n;
42000 		}
42001 	}
42002 
42003 	return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
42004 }
42005 
42006 static void
doNegateFloat(Value * v)42007 doNegateFloat(Value *v)
42008 {
42009 	char   *oldval = v->val.str;
42010 
42011 	Assert(IsA(v, Float));
42012 	if (*oldval == '+')
42013 		oldval++;
42014 	if (*oldval == '-')
42015 		v->val.str = oldval+1;	/* just strip the '-' */
42016 	else
42017 		v->val.str = psprintf("-%s", oldval);
42018 }
42019 
42020 static Node *
makeAndExpr(Node * lexpr,Node * rexpr,int location)42021 makeAndExpr(Node *lexpr, Node *rexpr, int location)
42022 {
42023 	Node	   *lexp = lexpr;
42024 
42025 	/* Look through AEXPR_PAREN nodes so they don't affect flattening */
42026 	while (IsA(lexp, A_Expr) &&
42027 		   ((A_Expr *) lexp)->kind == AEXPR_PAREN)
42028 		lexp = ((A_Expr *) lexp)->lexpr;
42029 	/* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
42030 	if (IsA(lexp, BoolExpr))
42031 	{
42032 		BoolExpr *blexpr = (BoolExpr *) lexp;
42033 
42034 		if (blexpr->boolop == AND_EXPR)
42035 		{
42036 			blexpr->args = lappend(blexpr->args, rexpr);
42037 			return (Node *) blexpr;
42038 		}
42039 	}
42040 	return (Node *) makeBoolExpr(AND_EXPR, list_make2(lexpr, rexpr), location);
42041 }
42042 
42043 static Node *
makeOrExpr(Node * lexpr,Node * rexpr,int location)42044 makeOrExpr(Node *lexpr, Node *rexpr, int location)
42045 {
42046 	Node	   *lexp = lexpr;
42047 
42048 	/* Look through AEXPR_PAREN nodes so they don't affect flattening */
42049 	while (IsA(lexp, A_Expr) &&
42050 		   ((A_Expr *) lexp)->kind == AEXPR_PAREN)
42051 		lexp = ((A_Expr *) lexp)->lexpr;
42052 	/* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
42053 	if (IsA(lexp, BoolExpr))
42054 	{
42055 		BoolExpr *blexpr = (BoolExpr *) lexp;
42056 
42057 		if (blexpr->boolop == OR_EXPR)
42058 		{
42059 			blexpr->args = lappend(blexpr->args, rexpr);
42060 			return (Node *) blexpr;
42061 		}
42062 	}
42063 	return (Node *) makeBoolExpr(OR_EXPR, list_make2(lexpr, rexpr), location);
42064 }
42065 
42066 static Node *
makeNotExpr(Node * expr,int location)42067 makeNotExpr(Node *expr, int location)
42068 {
42069 	return (Node *) makeBoolExpr(NOT_EXPR, list_make1(expr), location);
42070 }
42071 
42072 static Node *
makeAArrayExpr(List * elements,int location)42073 makeAArrayExpr(List *elements, int location)
42074 {
42075 	A_ArrayExpr *n = makeNode(A_ArrayExpr);
42076 
42077 	n->elements = elements;
42078 	n->location = location;
42079 	return (Node *) n;
42080 }
42081 
42082 static Node *
makeXmlExpr(XmlExprOp op,char * name,List * named_args,List * args,int location)42083 makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
42084 			int location)
42085 {
42086 	XmlExpr		*x = makeNode(XmlExpr);
42087 
42088 	x->op = op;
42089 	x->name = name;
42090 	/*
42091 	 * named_args is a list of ResTarget; it'll be split apart into separate
42092 	 * expression and name lists in transformXmlExpr().
42093 	 */
42094 	x->named_args = named_args;
42095 	x->arg_names = NIL;
42096 	x->args = args;
42097 	/* xmloption, if relevant, must be filled in by caller */
42098 	/* type and typmod will be filled in during parse analysis */
42099 	x->type = InvalidOid;			/* marks the node as not analyzed */
42100 	x->location = location;
42101 	return (Node *) x;
42102 }
42103 
42104 /*
42105  * Merge the input and output parameters of a table function.
42106  */
42107 static List *
mergeTableFuncParameters(List * func_args,List * columns)42108 mergeTableFuncParameters(List *func_args, List *columns)
42109 {
42110 	ListCell   *lc;
42111 
42112 	/* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
42113 	foreach(lc, func_args)
42114 	{
42115 		FunctionParameter *p = (FunctionParameter *) lfirst(lc);
42116 
42117 		if (p->mode != FUNC_PARAM_IN && p->mode != FUNC_PARAM_VARIADIC)
42118 			ereport(ERROR,
42119 					(errcode(ERRCODE_SYNTAX_ERROR),
42120 					 errmsg("OUT and INOUT arguments aren't allowed in TABLE functions")));
42121 	}
42122 
42123 	return list_concat(func_args, columns);
42124 }
42125 
42126 /*
42127  * Determine return type of a TABLE function.  A single result column
42128  * returns setof that column's type; otherwise return setof record.
42129  */
42130 static TypeName *
TableFuncTypeName(List * columns)42131 TableFuncTypeName(List *columns)
42132 {
42133 	TypeName *result;
42134 
42135 	if (list_length(columns) == 1)
42136 	{
42137 		FunctionParameter *p = (FunctionParameter *) linitial(columns);
42138 
42139 		result = (TypeName *) copyObject(p->argType);
42140 	}
42141 	else
42142 		result = SystemTypeName("record");
42143 
42144 	result->setof = true;
42145 
42146 	return result;
42147 }
42148 
42149 /*
42150  * Convert a list of (dotted) names to a RangeVar (like
42151  * makeRangeVarFromNameList, but with position support).  The
42152  * "AnyName" refers to the any_name production in the grammar.
42153  */
42154 static RangeVar *
makeRangeVarFromAnyName(List * names,int position,core_yyscan_t yyscanner)42155 makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner)
42156 {
42157 	RangeVar *r = makeNode(RangeVar);
42158 
42159 	switch (list_length(names))
42160 	{
42161 		case 1:
42162 			r->catalogname = NULL;
42163 			r->schemaname = NULL;
42164 			r->relname = strVal(linitial(names));
42165 			break;
42166 		case 2:
42167 			r->catalogname = NULL;
42168 			r->schemaname = strVal(linitial(names));
42169 			r->relname = strVal(lsecond(names));
42170 			break;
42171 		case 3:
42172 			r->catalogname = strVal(linitial(names));
42173 			r->schemaname = strVal(lsecond(names));
42174 			r->relname = strVal(lthird(names));
42175 			break;
42176 		default:
42177 			ereport(ERROR,
42178 					(errcode(ERRCODE_SYNTAX_ERROR),
42179 					 errmsg("improper qualified name (too many dotted names): %s",
42180 							NameListToString(names)),
42181 					 parser_errposition(position)));
42182 			break;
42183 	}
42184 
42185 	r->relpersistence = RELPERSISTENCE_PERMANENT;
42186 	r->location = position;
42187 
42188 	return r;
42189 }
42190 
42191 /* Separate Constraint nodes from COLLATE clauses in a ColQualList */
42192 static void
SplitColQualList(List * qualList,List ** constraintList,CollateClause ** collClause,core_yyscan_t yyscanner)42193 SplitColQualList(List *qualList,
42194 				 List **constraintList, CollateClause **collClause,
42195 				 core_yyscan_t yyscanner)
42196 {
42197 	ListCell   *cell;
42198 	ListCell   *prev;
42199 	ListCell   *next;
42200 
42201 	*collClause = NULL;
42202 	prev = NULL;
42203 	for (cell = list_head(qualList); cell; cell = next)
42204 	{
42205 		Node   *n = (Node *) lfirst(cell);
42206 
42207 		next = lnext(cell);
42208 		if (IsA(n, Constraint))
42209 		{
42210 			/* keep it in list */
42211 			prev = cell;
42212 			continue;
42213 		}
42214 		if (IsA(n, CollateClause))
42215 		{
42216 			CollateClause *c = (CollateClause *) n;
42217 
42218 			if (*collClause)
42219 				ereport(ERROR,
42220 						(errcode(ERRCODE_SYNTAX_ERROR),
42221 						 errmsg("multiple COLLATE clauses not allowed"),
42222 						 parser_errposition(c->location)));
42223 			*collClause = c;
42224 		}
42225 		else
42226 			elog(ERROR, "unexpected node type %d", (int) n->type);
42227 		/* remove non-Constraint nodes from qualList */
42228 		qualList = list_delete_cell(qualList, cell, prev);
42229 	}
42230 	*constraintList = qualList;
42231 }
42232 
42233 /*
42234  * Process result of ConstraintAttributeSpec, and set appropriate bool flags
42235  * in the output command node.  Pass NULL for any flags the particular
42236  * command doesn't support.
42237  */
42238 static void
processCASbits(int cas_bits,int location,const char * constrType,bool * deferrable,bool * initdeferred,bool * not_valid,bool * no_inherit,core_yyscan_t yyscanner)42239 processCASbits(int cas_bits, int location, const char *constrType,
42240 			   bool *deferrable, bool *initdeferred, bool *not_valid,
42241 			   bool *no_inherit, core_yyscan_t yyscanner)
42242 {
42243 	/* defaults */
42244 	if (deferrable)
42245 		*deferrable = false;
42246 	if (initdeferred)
42247 		*initdeferred = false;
42248 	if (not_valid)
42249 		*not_valid = false;
42250 
42251 	if (cas_bits & (CAS_DEFERRABLE | CAS_INITIALLY_DEFERRED))
42252 	{
42253 		if (deferrable)
42254 			*deferrable = true;
42255 		else
42256 			ereport(ERROR,
42257 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
42258 					 /* translator: %s is CHECK, UNIQUE, or similar */
42259 					 errmsg("%s constraints cannot be marked DEFERRABLE",
42260 							constrType),
42261 					 parser_errposition(location)));
42262 	}
42263 
42264 	if (cas_bits & CAS_INITIALLY_DEFERRED)
42265 	{
42266 		if (initdeferred)
42267 			*initdeferred = true;
42268 		else
42269 			ereport(ERROR,
42270 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
42271 					 /* translator: %s is CHECK, UNIQUE, or similar */
42272 					 errmsg("%s constraints cannot be marked DEFERRABLE",
42273 							constrType),
42274 					 parser_errposition(location)));
42275 	}
42276 
42277 	if (cas_bits & CAS_NOT_VALID)
42278 	{
42279 		if (not_valid)
42280 			*not_valid = true;
42281 		else
42282 			ereport(ERROR,
42283 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
42284 					 /* translator: %s is CHECK, UNIQUE, or similar */
42285 					 errmsg("%s constraints cannot be marked NOT VALID",
42286 							constrType),
42287 					 parser_errposition(location)));
42288 	}
42289 
42290 	if (cas_bits & CAS_NO_INHERIT)
42291 	{
42292 		if (no_inherit)
42293 			*no_inherit = true;
42294 		else
42295 			ereport(ERROR,
42296 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
42297 					 /* translator: %s is CHECK, UNIQUE, or similar */
42298 					 errmsg("%s constraints cannot be marked NO INHERIT",
42299 							constrType),
42300 					 parser_errposition(location)));
42301 	}
42302 }
42303 
42304 /*----------
42305  * Recursive view transformation
42306  *
42307  * Convert
42308  *
42309  *     CREATE RECURSIVE VIEW relname (aliases) AS query
42310  *
42311  * to
42312  *
42313  *     CREATE VIEW relname (aliases) AS
42314  *         WITH RECURSIVE relname (aliases) AS (query)
42315  *         SELECT aliases FROM relname
42316  *
42317  * Actually, just the WITH ... part, which is then inserted into the original
42318  * view definition as the query.
42319  * ----------
42320  */
42321 static Node *
makeRecursiveViewSelect(char * relname,List * aliases,Node * query)42322 makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
42323 {
42324 	SelectStmt *s = makeNode(SelectStmt);
42325 	WithClause *w = makeNode(WithClause);
42326 	CommonTableExpr *cte = makeNode(CommonTableExpr);
42327 	List	   *tl = NIL;
42328 	ListCell   *lc;
42329 
42330 	/* create common table expression */
42331 	cte->ctename = relname;
42332 	cte->aliascolnames = aliases;
42333 	cte->ctequery = query;
42334 	cte->location = -1;
42335 
42336 	/* create WITH clause and attach CTE */
42337 	w->recursive = true;
42338 	w->ctes = list_make1(cte);
42339 	w->location = -1;
42340 
42341 	/* create target list for the new SELECT from the alias list of the
42342 	 * recursive view specification */
42343 	foreach (lc, aliases)
42344 	{
42345 		ResTarget *rt = makeNode(ResTarget);
42346 
42347 		rt->name = NULL;
42348 		rt->indirection = NIL;
42349 		rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
42350 		rt->location = -1;
42351 
42352 		tl = lappend(tl, rt);
42353 	}
42354 
42355 	/* create new SELECT combining WITH clause, target list, and fake FROM
42356 	 * clause */
42357 	s->withClause = w;
42358 	s->targetList = tl;
42359 	s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));
42360 
42361 	return (Node *) s;
42362 }
42363 
42364 /* parser_init()
42365  * Initialize to parse one query string
42366  */
42367 void
parser_init(base_yy_extra_type * yyext)42368 parser_init(base_yy_extra_type *yyext)
42369 {
42370 	yyext->parsetree = NIL;		/* in case grammar forgets to set it */
42371 }
42372