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-2021, PostgreSQL Global Development Group
85  * Portions Copyright (c) 1994, Regents of the University of California
86  *
87  *
88  * IDENTIFICATION
89  *	  src/backend/parser/gram.y
90  *
91  * HISTORY
92  *	  AUTHOR			DATE			MAJOR EVENT
93  *	  Andrew Yu			Sept, 1994		POSTQUEL to SQL conversion
94  *	  Andrew Yu			Oct, 1994		lispy code conversion
95  *
96  * NOTES
97  *	  CAPITALS are used to represent terminal symbols.
98  *	  non-capitals are used to represent non-terminals.
99  *
100  *	  In general, nothing in this file should initiate database accesses
101  *	  nor depend on changeable state (such as SET variables).  If you do
102  *	  database accesses, your code will fail when we have aborted the
103  *	  current transaction and are just parsing commands to find the next
104  *	  ROLLBACK or COMMIT.  If you make use of SET variables, then you
105  *	  will do the wrong thing in multi-query strings like this:
106  *			SET constraint_exclusion TO off; SELECT * FROM foo;
107  *	  because the entire string is parsed by gram.y before the SET gets
108  *	  executed.  Anything that depends on the database or changeable state
109  *	  should be handled during parse analysis so that it happens at the
110  *	  right time not the wrong time.
111  *
112  * WARNINGS
113  *	  If you use a list, make sure the datum is a node so that the printing
114  *	  routines work.
115  *
116  *	  Sometimes we assign constants to makeStrings. Make sure we don't free
117  *	  those.
118  *
119  *-------------------------------------------------------------------------
120  */
121 #include "postgres.h"
122 
123 #include <ctype.h>
124 #include <limits.h>
125 
126 #include "access/tableam.h"
127 #include "catalog/index.h"
128 #include "catalog/namespace.h"
129 #include "catalog/pg_am.h"
130 #include "catalog/pg_trigger.h"
131 #include "commands/defrem.h"
132 #include "commands/trigger.h"
133 #include "nodes/makefuncs.h"
134 #include "nodes/nodeFuncs.h"
135 #include "parser/gramparse.h"
136 #include "parser/parser.h"
137 #include "storage/lmgr.h"
138 #include "utils/date.h"
139 #include "utils/datetime.h"
140 #include "utils/numeric.h"
141 #include "utils/xml.h"
142 
143 
144 /*
145  * Location tracking support --- simpler than bison's default, since we only
146  * want to track the start position not the end position of each nonterminal.
147  */
148 #define YYLLOC_DEFAULT(Current, Rhs, N) \
149 	do { \
150 		if ((N) > 0) \
151 			(Current) = (Rhs)[1]; \
152 		else \
153 			(Current) = (-1); \
154 	} while (0)
155 
156 /*
157  * The above macro assigns -1 (unknown) as the parse location of any
158  * nonterminal that was reduced from an empty rule, or whose leftmost
159  * component was reduced from an empty rule.  This is problematic
160  * for nonterminals defined like
161  *		OptFooList: / * EMPTY * / { ... } | OptFooList Foo { ... } ;
162  * because we'll set -1 as the location during the first reduction and then
163  * copy it during each subsequent reduction, leaving us with -1 for the
164  * location even when the list is not empty.  To fix that, do this in the
165  * action for the nonempty rule(s):
166  *		if (@$ < 0) @$ = @2;
167  * (Although we have many nonterminals that follow this pattern, we only
168  * bother with fixing @$ like this when the nonterminal's parse location
169  * is actually referenced in some rule.)
170  *
171  * A cleaner answer would be to make YYLLOC_DEFAULT scan all the Rhs
172  * locations until it's found one that's not -1.  Then we'd get a correct
173  * location for any nonterminal that isn't entirely empty.  But this way
174  * would add overhead to every rule reduction, and so far there's not been
175  * a compelling reason to pay that overhead.
176  */
177 
178 /*
179  * Bison doesn't allocate anything that needs to live across parser calls,
180  * so we can easily have it use palloc instead of malloc.  This prevents
181  * memory leaks if we error out during parsing.  Note this only works with
182  * bison >= 2.0.  However, in bison 1.875 the default is to use alloca()
183  * if possible, so there's not really much problem anyhow, at least if
184  * you're building with gcc.
185  */
186 #define YYMALLOC palloc
187 #define YYFREE   pfree
188 
189 /* Private struct for the result of privilege_target production */
190 typedef struct PrivTarget
191 {
192 	GrantTargetType targtype;
193 	ObjectType	objtype;
194 	List	   *objs;
195 } PrivTarget;
196 
197 /* Private struct for the result of import_qualification production */
198 typedef struct ImportQual
199 {
200 	ImportForeignSchemaType type;
201 	List	   *table_names;
202 } ImportQual;
203 
204 /* Private struct for the result of opt_select_limit production */
205 typedef struct SelectLimit
206 {
207 	Node *limitOffset;
208 	Node *limitCount;
209 	LimitOption limitOption;
210 } SelectLimit;
211 
212 /* Private struct for the result of group_clause production */
213 typedef struct GroupClause
214 {
215 	bool	distinct;
216 	List   *list;
217 } GroupClause;
218 
219 /* ConstraintAttributeSpec yields an integer bitmask of these flags: */
220 #define CAS_NOT_DEFERRABLE			0x01
221 #define CAS_DEFERRABLE				0x02
222 #define CAS_INITIALLY_IMMEDIATE		0x04
223 #define CAS_INITIALLY_DEFERRED		0x08
224 #define CAS_NOT_VALID				0x10
225 #define CAS_NO_INHERIT				0x20
226 
227 
228 #define parser_yyerror(msg)  scanner_yyerror(msg, yyscanner)
229 #define parser_errposition(pos)  scanner_errposition(pos, yyscanner)
230 
231 static void base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner,
232 						 const char *msg);
233 static RawStmt *makeRawStmt(Node *stmt, int stmt_location);
234 static void updateRawStmtEnd(RawStmt *rs, int end_location);
235 static Node *makeColumnRef(char *colname, List *indirection,
236 						   int location, core_yyscan_t yyscanner);
237 static Node *makeTypeCast(Node *arg, TypeName *typename, int location);
238 static Node *makeStringConst(char *str, int location);
239 static Node *makeStringConstCast(char *str, int location, TypeName *typename);
240 static Node *makeIntConst(int val, int location);
241 static Node *makeFloatConst(char *str, int location);
242 static Node *makeBitStringConst(char *str, int location);
243 static Node *makeNullAConst(int location);
244 static Node *makeAConst(Value *v, int location);
245 static Node *makeBoolAConst(bool state, int location);
246 static RoleSpec *makeRoleSpec(RoleSpecType type, int location);
247 static void check_qualified_name(List *names, core_yyscan_t yyscanner);
248 static List *check_func_name(List *names, core_yyscan_t yyscanner);
249 static List *check_indirection(List *indirection, core_yyscan_t yyscanner);
250 static List *extractArgTypes(List *parameters);
251 static List *extractAggrArgTypes(List *aggrargs);
252 static List *makeOrderedSetArgs(List *directargs, List *orderedargs,
253 								core_yyscan_t yyscanner);
254 static void insertSelectOptions(SelectStmt *stmt,
255 								List *sortClause, List *lockingClause,
256 								SelectLimit *limitClause,
257 								WithClause *withClause,
258 								core_yyscan_t yyscanner);
259 static Node *makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg);
260 static Node *doNegate(Node *n, int location);
261 static void doNegateFloat(Value *v);
262 static Node *makeAndExpr(Node *lexpr, Node *rexpr, int location);
263 static Node *makeOrExpr(Node *lexpr, Node *rexpr, int location);
264 static Node *makeNotExpr(Node *expr, int location);
265 static Node *makeAArrayExpr(List *elements, int location);
266 static Node *makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod,
267 								  int location);
268 static Node *makeXmlExpr(XmlExprOp op, char *name, List *named_args,
269 						 List *args, int location);
270 static List *mergeTableFuncParameters(List *func_args, List *columns);
271 static TypeName *TableFuncTypeName(List *columns);
272 static RangeVar *makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner);
273 static void SplitColQualList(List *qualList,
274 							 List **constraintList, CollateClause **collClause,
275 							 core_yyscan_t yyscanner);
276 static void processCASbits(int cas_bits, int location, const char *constrType,
277 			   bool *deferrable, bool *initdeferred, bool *not_valid,
278 			   bool *no_inherit, core_yyscan_t yyscanner);
279 static Node *makeRecursiveViewSelect(char *relname, List *aliases, Node *query);
280 
281 
282 #line 283 "gram.c" /* yacc.c:337  */
283 # ifndef YY_NULLPTR
284 #  if defined __cplusplus
285 #   if 201103L <= __cplusplus
286 #    define YY_NULLPTR nullptr
287 #   else
288 #    define YY_NULLPTR 0
289 #   endif
290 #  else
291 #   define YY_NULLPTR ((void*)0)
292 #  endif
293 # endif
294 
295 /* Enabling verbose error messages.  */
296 #ifdef YYERROR_VERBOSE
297 # undef YYERROR_VERBOSE
298 # define YYERROR_VERBOSE 1
299 #else
300 # define YYERROR_VERBOSE 0
301 #endif
302 
303 /* In a future release of Bison, this section will be replaced
304    by #include "gram.h".  */
305 #ifndef YY_BASE_YY_GRAM_H_INCLUDED
306 # define YY_BASE_YY_GRAM_H_INCLUDED
307 /* Debug traces.  */
308 #ifndef YYDEBUG
309 # define YYDEBUG 0
310 #endif
311 #if YYDEBUG
312 extern int base_yydebug;
313 #endif
314 
315 /* Token type.  */
316 #ifndef YYTOKENTYPE
317 # define YYTOKENTYPE
318   enum yytokentype
319   {
320     IDENT = 258,
321     UIDENT = 259,
322     FCONST = 260,
323     SCONST = 261,
324     USCONST = 262,
325     BCONST = 263,
326     XCONST = 264,
327     Op = 265,
328     ICONST = 266,
329     PARAM = 267,
330     TYPECAST = 268,
331     DOT_DOT = 269,
332     COLON_EQUALS = 270,
333     EQUALS_GREATER = 271,
334     LESS_EQUALS = 272,
335     GREATER_EQUALS = 273,
336     NOT_EQUALS = 274,
337     ABORT_P = 275,
338     ABSOLUTE_P = 276,
339     ACCESS = 277,
340     ACTION = 278,
341     ADD_P = 279,
342     ADMIN = 280,
343     AFTER = 281,
344     AGGREGATE = 282,
345     ALL = 283,
346     ALSO = 284,
347     ALTER = 285,
348     ALWAYS = 286,
349     ANALYSE = 287,
350     ANALYZE = 288,
351     AND = 289,
352     ANY = 290,
353     ARRAY = 291,
354     AS = 292,
355     ASC = 293,
356     ASENSITIVE = 294,
357     ASSERTION = 295,
358     ASSIGNMENT = 296,
359     ASYMMETRIC = 297,
360     ATOMIC = 298,
361     AT = 299,
362     ATTACH = 300,
363     ATTRIBUTE = 301,
364     AUTHORIZATION = 302,
365     BACKWARD = 303,
366     BEFORE = 304,
367     BEGIN_P = 305,
368     BETWEEN = 306,
369     BIGINT = 307,
370     BINARY = 308,
371     BIT = 309,
372     BOOLEAN_P = 310,
373     BOTH = 311,
374     BREADTH = 312,
375     BY = 313,
376     CACHE = 314,
377     CALL = 315,
378     CALLED = 316,
379     CASCADE = 317,
380     CASCADED = 318,
381     CASE = 319,
382     CAST = 320,
383     CATALOG_P = 321,
384     CHAIN = 322,
385     CHAR_P = 323,
386     CHARACTER = 324,
387     CHARACTERISTICS = 325,
388     CHECK = 326,
389     CHECKPOINT = 327,
390     CLASS = 328,
391     CLOSE = 329,
392     CLUSTER = 330,
393     COALESCE = 331,
394     COLLATE = 332,
395     COLLATION = 333,
396     COLUMN = 334,
397     COLUMNS = 335,
398     COMMENT = 336,
399     COMMENTS = 337,
400     COMMIT = 338,
401     COMMITTED = 339,
402     COMPRESSION = 340,
403     CONCURRENTLY = 341,
404     CONFIGURATION = 342,
405     CONFLICT = 343,
406     CONNECTION = 344,
407     CONSTRAINT = 345,
408     CONSTRAINTS = 346,
409     CONTENT_P = 347,
410     CONTINUE_P = 348,
411     CONVERSION_P = 349,
412     COPY = 350,
413     COST = 351,
414     CREATE = 352,
415     CROSS = 353,
416     CSV = 354,
417     CUBE = 355,
418     CURRENT_P = 356,
419     CURRENT_CATALOG = 357,
420     CURRENT_DATE = 358,
421     CURRENT_ROLE = 359,
422     CURRENT_SCHEMA = 360,
423     CURRENT_TIME = 361,
424     CURRENT_TIMESTAMP = 362,
425     CURRENT_USER = 363,
426     CURSOR = 364,
427     CYCLE = 365,
428     DATA_P = 366,
429     DATABASE = 367,
430     DAY_P = 368,
431     DEALLOCATE = 369,
432     DEC = 370,
433     DECIMAL_P = 371,
434     DECLARE = 372,
435     DEFAULT = 373,
436     DEFAULTS = 374,
437     DEFERRABLE = 375,
438     DEFERRED = 376,
439     DEFINER = 377,
440     DELETE_P = 378,
441     DELIMITER = 379,
442     DELIMITERS = 380,
443     DEPENDS = 381,
444     DEPTH = 382,
445     DESC = 383,
446     DETACH = 384,
447     DICTIONARY = 385,
448     DISABLE_P = 386,
449     DISCARD = 387,
450     DISTINCT = 388,
451     DO = 389,
452     DOCUMENT_P = 390,
453     DOMAIN_P = 391,
454     DOUBLE_P = 392,
455     DROP = 393,
456     EACH = 394,
457     ELSE = 395,
458     ENABLE_P = 396,
459     ENCODING = 397,
460     ENCRYPTED = 398,
461     END_P = 399,
462     ENUM_P = 400,
463     ESCAPE = 401,
464     EVENT = 402,
465     EXCEPT = 403,
466     EXCLUDE = 404,
467     EXCLUDING = 405,
468     EXCLUSIVE = 406,
469     EXECUTE = 407,
470     EXISTS = 408,
471     EXPLAIN = 409,
472     EXPRESSION = 410,
473     EXTENSION = 411,
474     EXTERNAL = 412,
475     EXTRACT = 413,
476     FALSE_P = 414,
477     FAMILY = 415,
478     FETCH = 416,
479     FILTER = 417,
480     FINALIZE = 418,
481     FIRST_P = 419,
482     FLOAT_P = 420,
483     FOLLOWING = 421,
484     FOR = 422,
485     FORCE = 423,
486     FOREIGN = 424,
487     FORWARD = 425,
488     FREEZE = 426,
489     FROM = 427,
490     FULL = 428,
491     FUNCTION = 429,
492     FUNCTIONS = 430,
493     GENERATED = 431,
494     GLOBAL = 432,
495     GRANT = 433,
496     GRANTED = 434,
497     GREATEST = 435,
498     GROUP_P = 436,
499     GROUPING = 437,
500     GROUPS = 438,
501     HANDLER = 439,
502     HAVING = 440,
503     HEADER_P = 441,
504     HOLD = 442,
505     HOUR_P = 443,
506     IDENTITY_P = 444,
507     IF_P = 445,
508     ILIKE = 446,
509     IMMEDIATE = 447,
510     IMMUTABLE = 448,
511     IMPLICIT_P = 449,
512     IMPORT_P = 450,
513     IN_P = 451,
514     INCLUDE = 452,
515     INCLUDING = 453,
516     INCREMENT = 454,
517     INDEX = 455,
518     INDEXES = 456,
519     INHERIT = 457,
520     INHERITS = 458,
521     INITIALLY = 459,
522     INLINE_P = 460,
523     INNER_P = 461,
524     INOUT = 462,
525     INPUT_P = 463,
526     INSENSITIVE = 464,
527     INSERT = 465,
528     INSTEAD = 466,
529     INT_P = 467,
530     INTEGER = 468,
531     INTERSECT = 469,
532     INTERVAL = 470,
533     INTO = 471,
534     INVOKER = 472,
535     IS = 473,
536     ISNULL = 474,
537     ISOLATION = 475,
538     JOIN = 476,
539     KEY = 477,
540     LABEL = 478,
541     LANGUAGE = 479,
542     LARGE_P = 480,
543     LAST_P = 481,
544     LATERAL_P = 482,
545     LEADING = 483,
546     LEAKPROOF = 484,
547     LEAST = 485,
548     LEFT = 486,
549     LEVEL = 487,
550     LIKE = 488,
551     LIMIT = 489,
552     LISTEN = 490,
553     LOAD = 491,
554     LOCAL = 492,
555     LOCALTIME = 493,
556     LOCALTIMESTAMP = 494,
557     LOCATION = 495,
558     LOCK_P = 496,
559     LOCKED = 497,
560     LOGGED = 498,
561     MAPPING = 499,
562     MATCH = 500,
563     MATERIALIZED = 501,
564     MAXVALUE = 502,
565     METHOD = 503,
566     MINUTE_P = 504,
567     MINVALUE = 505,
568     MODE = 506,
569     MONTH_P = 507,
570     MOVE = 508,
571     NAME_P = 509,
572     NAMES = 510,
573     NATIONAL = 511,
574     NATURAL = 512,
575     NCHAR = 513,
576     NEW = 514,
577     NEXT = 515,
578     NFC = 516,
579     NFD = 517,
580     NFKC = 518,
581     NFKD = 519,
582     NO = 520,
583     NONE = 521,
584     NORMALIZE = 522,
585     NORMALIZED = 523,
586     NOT = 524,
587     NOTHING = 525,
588     NOTIFY = 526,
589     NOTNULL = 527,
590     NOWAIT = 528,
591     NULL_P = 529,
592     NULLIF = 530,
593     NULLS_P = 531,
594     NUMERIC = 532,
595     OBJECT_P = 533,
596     OF = 534,
597     OFF = 535,
598     OFFSET = 536,
599     OIDS = 537,
600     OLD = 538,
601     ON = 539,
602     ONLY = 540,
603     OPERATOR = 541,
604     OPTION = 542,
605     OPTIONS = 543,
606     OR = 544,
607     ORDER = 545,
608     ORDINALITY = 546,
609     OTHERS = 547,
610     OUT_P = 548,
611     OUTER_P = 549,
612     OVER = 550,
613     OVERLAPS = 551,
614     OVERLAY = 552,
615     OVERRIDING = 553,
616     OWNED = 554,
617     OWNER = 555,
618     PARALLEL = 556,
619     PARSER = 557,
620     PARTIAL = 558,
621     PARTITION = 559,
622     PASSING = 560,
623     PASSWORD = 561,
624     PLACING = 562,
625     PLANS = 563,
626     POLICY = 564,
627     POSITION = 565,
628     PRECEDING = 566,
629     PRECISION = 567,
630     PRESERVE = 568,
631     PREPARE = 569,
632     PREPARED = 570,
633     PRIMARY = 571,
634     PRIOR = 572,
635     PRIVILEGES = 573,
636     PROCEDURAL = 574,
637     PROCEDURE = 575,
638     PROCEDURES = 576,
639     PROGRAM = 577,
640     PUBLICATION = 578,
641     QUOTE = 579,
642     RANGE = 580,
643     READ = 581,
644     REAL = 582,
645     REASSIGN = 583,
646     RECHECK = 584,
647     RECURSIVE = 585,
648     REF = 586,
649     REFERENCES = 587,
650     REFERENCING = 588,
651     REFRESH = 589,
652     REINDEX = 590,
653     RELATIVE_P = 591,
654     RELEASE = 592,
655     RENAME = 593,
656     REPEATABLE = 594,
657     REPLACE = 595,
658     REPLICA = 596,
659     RESET = 597,
660     RESTART = 598,
661     RESTRICT = 599,
662     RETURN = 600,
663     RETURNING = 601,
664     RETURNS = 602,
665     REVOKE = 603,
666     RIGHT = 604,
667     ROLE = 605,
668     ROLLBACK = 606,
669     ROLLUP = 607,
670     ROUTINE = 608,
671     ROUTINES = 609,
672     ROW = 610,
673     ROWS = 611,
674     RULE = 612,
675     SAVEPOINT = 613,
676     SCHEMA = 614,
677     SCHEMAS = 615,
678     SCROLL = 616,
679     SEARCH = 617,
680     SECOND_P = 618,
681     SECURITY = 619,
682     SELECT = 620,
683     SEQUENCE = 621,
684     SEQUENCES = 622,
685     SERIALIZABLE = 623,
686     SERVER = 624,
687     SESSION = 625,
688     SESSION_USER = 626,
689     SET = 627,
690     SETS = 628,
691     SETOF = 629,
692     SHARE = 630,
693     SHOW = 631,
694     SIMILAR = 632,
695     SIMPLE = 633,
696     SKIP = 634,
697     SMALLINT = 635,
698     SNAPSHOT = 636,
699     SOME = 637,
700     SQL_P = 638,
701     STABLE = 639,
702     STANDALONE_P = 640,
703     START = 641,
704     STATEMENT = 642,
705     STATISTICS = 643,
706     STDIN = 644,
707     STDOUT = 645,
708     STORAGE = 646,
709     STORED = 647,
710     STRICT_P = 648,
711     STRIP_P = 649,
712     SUBSCRIPTION = 650,
713     SUBSTRING = 651,
714     SUPPORT = 652,
715     SYMMETRIC = 653,
716     SYSID = 654,
717     SYSTEM_P = 655,
718     TABLE = 656,
719     TABLES = 657,
720     TABLESAMPLE = 658,
721     TABLESPACE = 659,
722     TEMP = 660,
723     TEMPLATE = 661,
724     TEMPORARY = 662,
725     TEXT_P = 663,
726     THEN = 664,
727     TIES = 665,
728     TIME = 666,
729     TIMESTAMP = 667,
730     TO = 668,
731     TRAILING = 669,
732     TRANSACTION = 670,
733     TRANSFORM = 671,
734     TREAT = 672,
735     TRIGGER = 673,
736     TRIM = 674,
737     TRUE_P = 675,
738     TRUNCATE = 676,
739     TRUSTED = 677,
740     TYPE_P = 678,
741     TYPES_P = 679,
742     UESCAPE = 680,
743     UNBOUNDED = 681,
744     UNCOMMITTED = 682,
745     UNENCRYPTED = 683,
746     UNION = 684,
747     UNIQUE = 685,
748     UNKNOWN = 686,
749     UNLISTEN = 687,
750     UNLOGGED = 688,
751     UNTIL = 689,
752     UPDATE = 690,
753     USER = 691,
754     USING = 692,
755     VACUUM = 693,
756     VALID = 694,
757     VALIDATE = 695,
758     VALIDATOR = 696,
759     VALUE_P = 697,
760     VALUES = 698,
761     VARCHAR = 699,
762     VARIADIC = 700,
763     VARYING = 701,
764     VERBOSE = 702,
765     VERSION_P = 703,
766     VIEW = 704,
767     VIEWS = 705,
768     VOLATILE = 706,
769     WHEN = 707,
770     WHERE = 708,
771     WHITESPACE_P = 709,
772     WINDOW = 710,
773     WITH = 711,
774     WITHIN = 712,
775     WITHOUT = 713,
776     WORK = 714,
777     WRAPPER = 715,
778     WRITE = 716,
779     XML_P = 717,
780     XMLATTRIBUTES = 718,
781     XMLCONCAT = 719,
782     XMLELEMENT = 720,
783     XMLEXISTS = 721,
784     XMLFOREST = 722,
785     XMLNAMESPACES = 723,
786     XMLPARSE = 724,
787     XMLPI = 725,
788     XMLROOT = 726,
789     XMLSERIALIZE = 727,
790     XMLTABLE = 728,
791     YEAR_P = 729,
792     YES_P = 730,
793     ZONE = 731,
794     NOT_LA = 732,
795     NULLS_LA = 733,
796     WITH_LA = 734,
797     MODE_TYPE_NAME = 735,
798     MODE_PLPGSQL_EXPR = 736,
799     MODE_PLPGSQL_ASSIGN1 = 737,
800     MODE_PLPGSQL_ASSIGN2 = 738,
801     MODE_PLPGSQL_ASSIGN3 = 739,
802     UMINUS = 740
803   };
804 #endif
805 
806 /* Value type.  */
807 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
808 
809 union YYSTYPE
810 {
811 #line 217 "gram.y" /* yacc.c:352  */
812 
813 	core_YYSTYPE		core_yystype;
814 	/* these fields must match core_YYSTYPE: */
815 	int					ival;
816 	char				*str;
817 	const char			*keyword;
818 
819 	char				chr;
820 	bool				boolean;
821 	JoinType			jtype;
822 	DropBehavior		dbehavior;
823 	OnCommitAction		oncommit;
824 	List				*list;
825 	Node				*node;
826 	Value				*value;
827 	ObjectType			objtype;
828 	TypeName			*typnam;
829 	FunctionParameter   *fun_param;
830 	FunctionParameterMode fun_param_mode;
831 	ObjectWithArgs		*objwithargs;
832 	DefElem				*defelt;
833 	SortBy				*sortby;
834 	WindowDef			*windef;
835 	JoinExpr			*jexpr;
836 	IndexElem			*ielem;
837 	StatsElem			*selem;
838 	Alias				*alias;
839 	RangeVar			*range;
840 	IntoClause			*into;
841 	WithClause			*with;
842 	InferClause			*infer;
843 	OnConflictClause	*onconflict;
844 	A_Indices			*aind;
845 	ResTarget			*target;
846 	struct PrivTarget	*privtarget;
847 	AccessPriv			*accesspriv;
848 	struct ImportQual	*importqual;
849 	InsertStmt			*istmt;
850 	VariableSetStmt		*vsetstmt;
851 	PartitionElem		*partelem;
852 	PartitionSpec		*partspec;
853 	PartitionBoundSpec	*partboundspec;
854 	RoleSpec			*rolespec;
855 	struct SelectLimit	*selectlimit;
856 	SetQuantifier	 setquantifier;
857 	struct GroupClause  *groupclause;
858 
859 #line 860 "gram.c" /* yacc.c:352  */
860 };
861 
862 typedef union YYSTYPE YYSTYPE;
863 # define YYSTYPE_IS_TRIVIAL 1
864 # define YYSTYPE_IS_DECLARED 1
865 #endif
866 
867 /* Location type.  */
868 #if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
869 typedef struct YYLTYPE YYLTYPE;
870 struct YYLTYPE
871 {
872   int first_line;
873   int first_column;
874   int last_line;
875   int last_column;
876 };
877 # define YYLTYPE_IS_DECLARED 1
878 # define YYLTYPE_IS_TRIVIAL 1
879 #endif
880 
881 
882 
883 int base_yyparse (core_yyscan_t yyscanner);
884 
885 #endif /* !YY_BASE_YY_GRAM_H_INCLUDED  */
886 
887 
888 
889 #ifdef short
890 # undef short
891 #endif
892 
893 #ifdef YYTYPE_UINT8
894 typedef YYTYPE_UINT8 yytype_uint8;
895 #else
896 typedef unsigned char yytype_uint8;
897 #endif
898 
899 #ifdef YYTYPE_INT8
900 typedef YYTYPE_INT8 yytype_int8;
901 #else
902 typedef signed char yytype_int8;
903 #endif
904 
905 #ifdef YYTYPE_UINT16
906 typedef YYTYPE_UINT16 yytype_uint16;
907 #else
908 typedef unsigned short yytype_uint16;
909 #endif
910 
911 #ifdef YYTYPE_INT16
912 typedef YYTYPE_INT16 yytype_int16;
913 #else
914 typedef short yytype_int16;
915 #endif
916 
917 #ifndef YYSIZE_T
918 # ifdef __SIZE_TYPE__
919 #  define YYSIZE_T __SIZE_TYPE__
920 # elif defined size_t
921 #  define YYSIZE_T size_t
922 # elif ! defined YYSIZE_T
923 #  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
924 #  define YYSIZE_T size_t
925 # else
926 #  define YYSIZE_T unsigned
927 # endif
928 #endif
929 
930 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
931 
932 #ifndef YY_
933 # if defined YYENABLE_NLS && YYENABLE_NLS
934 #  if ENABLE_NLS
935 #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
936 #   define YY_(Msgid) dgettext ("bison-runtime", Msgid)
937 #  endif
938 # endif
939 # ifndef YY_
940 #  define YY_(Msgid) Msgid
941 # endif
942 #endif
943 
944 #ifndef YY_ATTRIBUTE
945 # if (defined __GNUC__                                               \
946       && (2 < __GNUC__ || (__GNUC__ == 2 && 96 <= __GNUC_MINOR__)))  \
947      || defined __SUNPRO_C && 0x5110 <= __SUNPRO_C
948 #  define YY_ATTRIBUTE(Spec) __attribute__(Spec)
949 # else
950 #  define YY_ATTRIBUTE(Spec) /* empty */
951 # endif
952 #endif
953 
954 #ifndef YY_ATTRIBUTE_PURE
955 # define YY_ATTRIBUTE_PURE   YY_ATTRIBUTE ((__pure__))
956 #endif
957 
958 #ifndef YY_ATTRIBUTE_UNUSED
959 # define YY_ATTRIBUTE_UNUSED YY_ATTRIBUTE ((__unused__))
960 #endif
961 
962 /* Suppress unused-variable warnings by "using" E.  */
963 #if ! defined lint || defined __GNUC__
964 # define YYUSE(E) ((void) (E))
965 #else
966 # define YYUSE(E) /* empty */
967 #endif
968 
969 #if defined __GNUC__ && ! defined __ICC && 407 <= __GNUC__ * 100 + __GNUC_MINOR__
970 /* Suppress an incorrect diagnostic about yylval being uninitialized.  */
971 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN \
972     _Pragma ("GCC diagnostic push") \
973     _Pragma ("GCC diagnostic ignored \"-Wuninitialized\"")\
974     _Pragma ("GCC diagnostic ignored \"-Wmaybe-uninitialized\"")
975 # define YY_IGNORE_MAYBE_UNINITIALIZED_END \
976     _Pragma ("GCC diagnostic pop")
977 #else
978 # define YY_INITIAL_VALUE(Value) Value
979 #endif
980 #ifndef YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
981 # define YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
982 # define YY_IGNORE_MAYBE_UNINITIALIZED_END
983 #endif
984 #ifndef YY_INITIAL_VALUE
985 # define YY_INITIAL_VALUE(Value) /* Nothing. */
986 #endif
987 
988 
989 #if ! defined yyoverflow || YYERROR_VERBOSE
990 
991 /* The parser invokes alloca or malloc; define the necessary symbols.  */
992 
993 # ifdef YYSTACK_USE_ALLOCA
994 #  if YYSTACK_USE_ALLOCA
995 #   ifdef __GNUC__
996 #    define YYSTACK_ALLOC __builtin_alloca
997 #   elif defined __BUILTIN_VA_ARG_INCR
998 #    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
999 #   elif defined _AIX
1000 #    define YYSTACK_ALLOC __alloca
1001 #   elif defined _MSC_VER
1002 #    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
1003 #    define alloca _alloca
1004 #   else
1005 #    define YYSTACK_ALLOC alloca
1006 #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS
1007 #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1008       /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
1009 #     ifndef EXIT_SUCCESS
1010 #      define EXIT_SUCCESS 0
1011 #     endif
1012 #    endif
1013 #   endif
1014 #  endif
1015 # endif
1016 
1017 # ifdef YYSTACK_ALLOC
1018    /* Pacify GCC's 'empty if-body' warning.  */
1019 #  define YYSTACK_FREE(Ptr) do { /* empty */; } while (0)
1020 #  ifndef YYSTACK_ALLOC_MAXIMUM
1021     /* The OS might guarantee only one guard page at the bottom of the stack,
1022        and a page size can be as small as 4096 bytes.  So we cannot safely
1023        invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
1024        to allow for a few compiler-allocated temporary stack slots.  */
1025 #   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
1026 #  endif
1027 # else
1028 #  define YYSTACK_ALLOC YYMALLOC
1029 #  define YYSTACK_FREE YYFREE
1030 #  ifndef YYSTACK_ALLOC_MAXIMUM
1031 #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
1032 #  endif
1033 #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
1034        && ! ((defined YYMALLOC || defined malloc) \
1035              && (defined YYFREE || defined free)))
1036 #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1037 #   ifndef EXIT_SUCCESS
1038 #    define EXIT_SUCCESS 0
1039 #   endif
1040 #  endif
1041 #  ifndef YYMALLOC
1042 #   define YYMALLOC malloc
1043 #   if ! defined malloc && ! defined EXIT_SUCCESS
1044 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1045 #   endif
1046 #  endif
1047 #  ifndef YYFREE
1048 #   define YYFREE free
1049 #   if ! defined free && ! defined EXIT_SUCCESS
1050 void free (void *); /* INFRINGES ON USER NAME SPACE */
1051 #   endif
1052 #  endif
1053 # endif
1054 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
1055 
1056 
1057 #if (! defined yyoverflow \
1058      && (! defined __cplusplus \
1059          || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
1060              && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1061 
1062 /* A type that is properly aligned for any stack member.  */
1063 union yyalloc
1064 {
1065   yytype_int16 yyss_alloc;
1066   YYSTYPE yyvs_alloc;
1067   YYLTYPE yyls_alloc;
1068 };
1069 
1070 /* The size of the maximum gap between one aligned stack and the next.  */
1071 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
1072 
1073 /* The size of an array large to enough to hold all stacks, each with
1074    N elements.  */
1075 # define YYSTACK_BYTES(N) \
1076      ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
1077       + 2 * YYSTACK_GAP_MAXIMUM)
1078 
1079 # define YYCOPY_NEEDED 1
1080 
1081 /* Relocate STACK from its old location to the new one.  The
1082    local variables YYSIZE and YYSTACKSIZE give the old and new number of
1083    elements in the stack, and YYPTR gives the new location of the
1084    stack.  Advance YYPTR to a properly aligned location for the next
1085    stack.  */
1086 # define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
1087     do                                                                  \
1088       {                                                                 \
1089         YYSIZE_T yynewbytes;                                            \
1090         YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
1091         Stack = &yyptr->Stack_alloc;                                    \
1092         yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1093         yyptr += yynewbytes / sizeof (*yyptr);                          \
1094       }                                                                 \
1095     while (0)
1096 
1097 #endif
1098 
1099 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
1100 /* Copy COUNT objects from SRC to DST.  The source and destination do
1101    not overlap.  */
1102 # ifndef YYCOPY
1103 #  if defined __GNUC__ && 1 < __GNUC__
1104 #   define YYCOPY(Dst, Src, Count) \
1105       __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
1106 #  else
1107 #   define YYCOPY(Dst, Src, Count)              \
1108       do                                        \
1109         {                                       \
1110           YYSIZE_T yyi;                         \
1111           for (yyi = 0; yyi < (Count); yyi++)   \
1112             (Dst)[yyi] = (Src)[yyi];            \
1113         }                                       \
1114       while (0)
1115 #  endif
1116 # endif
1117 #endif /* !YYCOPY_NEEDED */
1118 
1119 /* YYFINAL -- State number of the termination state.  */
1120 #define YYFINAL  895
1121 /* YYLAST -- Last index in YYTABLE.  */
1122 #define YYLAST   108111
1123 
1124 /* YYNTOKENS -- Number of terminals.  */
1125 #define YYNTOKENS  503
1126 /* YYNNTS -- Number of nonterminals.  */
1127 #define YYNNTS  676
1128 /* YYNRULES -- Number of rules.  */
1129 #define YYNRULES  3159
1130 /* YYNSTATES -- Number of states.  */
1131 #define YYNSTATES  5980
1132 
1133 #define YYUNDEFTOK  2
1134 #define YYMAXUTOK   740
1135 
1136 /* YYTRANSLATE(TOKEN-NUM) -- Symbol number corresponding to TOKEN-NUM
1137    as returned by yylex, with out-of-bounds checking.  */
1138 #define YYTRANSLATE(YYX)                                                \
1139   ((unsigned) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1140 
1141 /* YYTRANSLATE[TOKEN-NUM] -- Symbol number corresponding to TOKEN-NUM
1142    as returned by yylex.  */
1143 static const yytype_uint16 yytranslate[] =
1144 {
1145        0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1146        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1147        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1148        2,     2,     2,     2,     2,     2,     2,   492,     2,     2,
1149      497,   498,   490,   488,   501,   489,   499,   491,     2,     2,
1150        2,     2,     2,     2,     2,     2,     2,     2,   502,   500,
1151      485,   487,   486,     2,     2,     2,     2,     2,     2,     2,
1152        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1153        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1154        2,   495,     2,   496,   493,     2,     2,     2,     2,     2,
1155        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1156        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1157        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1158        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1159        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1160        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1161        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1162        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1163        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1164        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1165        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1166        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1167        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1168        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1169        2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
1170        2,     2,     2,     2,     2,     2,     1,     2,     3,     4,
1171        5,     6,     7,     8,     9,    10,    11,    12,    13,    14,
1172       15,    16,    17,    18,    19,    20,    21,    22,    23,    24,
1173       25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
1174       35,    36,    37,    38,    39,    40,    41,    42,    43,    44,
1175       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
1176       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
1177       65,    66,    67,    68,    69,    70,    71,    72,    73,    74,
1178       75,    76,    77,    78,    79,    80,    81,    82,    83,    84,
1179       85,    86,    87,    88,    89,    90,    91,    92,    93,    94,
1180       95,    96,    97,    98,    99,   100,   101,   102,   103,   104,
1181      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
1182      115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
1183      125,   126,   127,   128,   129,   130,   131,   132,   133,   134,
1184      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
1185      145,   146,   147,   148,   149,   150,   151,   152,   153,   154,
1186      155,   156,   157,   158,   159,   160,   161,   162,   163,   164,
1187      165,   166,   167,   168,   169,   170,   171,   172,   173,   174,
1188      175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1189      185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1190      195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1191      205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1192      215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1193      225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1194      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1195      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1196      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1197      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1198      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1199      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1200      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1201      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1202      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1203      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1204      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1205      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1206      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1207      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1208      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1209      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1210      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1211      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1212      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1213      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1214      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1215      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1216      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1217      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1218      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1219      494
1220 };
1221 
1222 #if YYDEBUG
1223   /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1224 static const yytype_uint16 yyrline[] =
1225 {
1226        0,   827,   827,   831,   835,   840,   847,   854,   873,   885,
1227      899,   900,   904,   905,   906,   907,   908,   909,   910,   911,
1228      912,   913,   914,   915,   916,   917,   918,   919,   920,   921,
1229      922,   923,   924,   925,   926,   927,   928,   929,   930,   931,
1230      932,   933,   934,   935,   936,   937,   938,   939,   940,   941,
1231      942,   943,   944,   945,   946,   947,   948,   949,   950,   951,
1232      952,   953,   954,   955,   956,   957,   958,   959,   960,   961,
1233      962,   963,   964,   965,   966,   967,   968,   969,   970,   971,
1234      972,   973,   974,   975,   976,   977,   978,   979,   980,   981,
1235      982,   983,   984,   985,   986,   987,   988,   989,   990,   991,
1236      992,   993,   994,   995,   996,   997,   998,   999,  1000,  1001,
1237     1002,  1003,  1004,  1005,  1006,  1007,  1008,  1009,  1010,  1011,
1238     1012,  1013,  1014,  1015,  1016,  1017,  1018,  1019,  1020,  1021,
1239     1022,  1023,  1024,  1025,  1026,  1028,  1037,  1052,  1063,  1064,
1240     1065,  1074,  1075,  1079,  1080,  1084,  1089,  1093,  1103,  1111,
1241     1115,  1119,  1124,  1128,  1176,  1178,  1182,  1186,  1190,  1194,
1242     1208,  1226,  1234,  1245,  1246,  1250,  1258,  1266,  1274,  1295,
1243     1302,  1309,  1316,  1323,  1330,  1347,  1365,  1376,  1377,  1388,
1244     1398,  1408,  1423,  1441,  1442,  1446,  1453,  1461,  1462,  1463,
1245     1464,  1465,  1466,  1480,  1486,  1492,  1501,  1509,  1517,  1521,
1246     1529,  1537,  1544,  1554,  1555,  1563,  1574,  1582,  1590,  1601,
1247     1609,  1617,  1624,  1633,  1643,  1644,  1648,  1649,  1652,  1654,
1248     1658,  1659,  1660,  1661,  1665,  1666,  1667,  1673,  1685,  1689,
1249     1693,  1708,  1715,  1716,  1717,  1721,  1722,  1723,  1727,  1728,
1250     1732,  1736,  1737,  1744,  1751,  1761,  1768,  1778,  1779,  1784,
1251     1785,  1790,  1796,  1802,  1808,  1814,  1824,  1834,  1835,  1839,
1252     1840,  1848,  1863,  1869,  1875,  1881,  1887,  1906,  1915,  1924,
1253     1933,  1942,  1953,  1964,  1973,  1982,  1991,  2002,  2013,  2022,
1254     2031,  2040,  2049,  2058,  2067,  2078,  2089,  2098,  2110,  2111,
1255     2116,  2130,  2143,  2159,  2176,  2185,  2194,  2203,  2212,  2221,
1256     2229,  2237,  2245,  2254,  2263,  2279,  2288,  2297,  2306,  2315,
1257     2332,  2341,  2350,  2359,  2369,  2382,  2397,  2406,  2414,  2429,
1258     2437,  2447,  2457,  2464,  2472,  2480,  2487,  2494,  2502,  2510,
1259     2518,  2525,  2532,  2540,  2547,  2554,  2562,  2570,  2578,  2586,
1260     2594,  2602,  2612,  2619,  2627,  2635,  2643,  2651,  2659,  2666,
1261     2673,  2680,  2686,  2696,  2697,  2701,  2702,  2703,  2707,  2715,
1262     2719,  2720,  2724,  2731,  2738,  2745,  2755,  2758,  2759,  2763,
1263     2764,  2769,  2773,  2777,  2782,  2789,  2791,  2796,  2800,  2804,
1264     2815,  2823,  2876,  2889,  2903,  2915,  2922,  2926,  2940,  2953,
1265     2954,  2959,  2968,  2978,  2988,  3014,  3020,  3053,  3088,  3110,
1266     3111,  3115,  3116,  3125,  3126,  3127,  3130,  3131,  3136,  3137,
1267     3141,  3145,  3149,  3153,  3157,  3161,  3165,  3169,  3173,  3177,
1268     3181,  3185,  3189,  3198,  3202,  3206,  3210,  3214,  3215,  3220,
1269     3224,  3231,  3238,  3239,  3240,  3241,  3242,  3246,  3250,  3258,
1270     3269,  3288,  3307,  3327,  3347,  3367,  3400,  3401,  3402,  3403,
1271     3404,  3411,  3418,  3419,  3423,  3424,  3428,  3429,  3433,  3437,
1272     3444,  3448,  3455,  3456,  3457,  3461,  3462,  3465,  3487,  3505,
1273     3526,  3527,  3531,  3532,  3536,  3537,  3541,  3548,  3549,  3550,
1274     3581,  3588,  3595,  3606,  3617,  3629,  3638,  3647,  3670,  3688,
1275     3689,  3708,  3715,  3722,  3729,  3740,  3751,  3752,  3753,  3757,
1276     3758,  3759,  3760,  3761,  3762,  3763,  3764,  3765,  3766,  3775,
1277     3782,  3786,  3799,  3815,  3830,  3846,  3861,  3880,  3901,  3902,
1278     3906,  3907,  3911,  3912,  3915,  3921,  3922,  3925,  3929,  3937,
1279     3942,  3948,  3949,  3953,  3958,  3965,  3966,  3976,  3978,  3980,
1280     3982,  3985,  3988,  3991,  3995,  3996,  3997,  3998,  3999,  4002,
1281     4003,  4007,  4008,  4011,  4023,  4024,  4027,  4038,  4049,  4063,
1282     4064,  4069,  4070,  4071,  4074,  4075,  4076,  4077,  4080,  4081,
1283     4084,  4085,  4088,  4106,  4118,  4139,  4140,  4143,  4149,  4155,
1284     4172,  4180,  4201,  4214,  4230,  4246,  4247,  4248,  4260,  4273,
1285     4289,  4303,  4304,  4316,  4336,  4346,  4359,  4367,  4378,  4379,
1286     4382,  4383,  4386,  4387,  4390,  4394,  4398,  4402,  4406,  4410,
1287     4414,  4418,  4422,  4426,  4430,  4435,  4439,  4443,  4449,  4450,
1288     4454,  4455,  4456,  4461,  4464,  4465,  4477,  4492,  4507,  4508,
1289     4516,  4517,  4521,  4522,  4526,  4527,  4531,  4532,  4536,  4537,
1290     4547,  4558,  4559,  4572,  4579,  4596,  4604,  4615,  4618,  4622,
1291     4626,  4630,  4637,  4649,  4659,  4662,  4666,  4679,  4688,  4697,
1292     4706,  4715,  4724,  4733,  4742,  4751,  4760,  4769,  4778,  4787,
1293     4805,  4816,  4817,  4818,  4819,  4823,  4824,  4828,  4829,  4839,
1294     4847,  4859,  4860,  4864,  4868,  4876,  4880,  4884,  4891,  4895,
1295     4900,  4905,  4912,  4919,  4924,  4934,  4946,  4961,  4962,  4967,
1296     4968,  4972,  4973,  4983,  4992,  5000,  5017,  5037,  5057,  5078,
1297     5111,  5126,  5127,  5131,  5139,  5154,  5163,  5175,  5176,  5188,
1298     5196,  5213,  5237,  5254,  5268,  5269,  5273,  5274,  5278,  5279,
1299     5283,  5284,  5288,  5302,  5306,  5307,  5311,  5312,  5313,  5314,
1300     5315,  5325,  5336,  5337,  5348,  5370,  5401,  5402,  5403,  5407,
1301     5409,  5431,  5433,  5435,  5437,  5439,  5444,  5445,  5449,  5450,
1302     5454,  5465,  5466,  5470,  5479,  5483,  5487,  5492,  5502,  5503,
1303     5507,  5508,  5512,  5513,  5517,  5518,  5522,  5523,  5524,  5528,
1304     5532,  5533,  5534,  5538,  5539,  5544,  5545,  5572,  5573,  5574,
1305     5575,  5576,  5577,  5590,  5600,  5614,  5616,  5621,  5626,  5628,
1306     5633,  5643,  5644,  5645,  5646,  5657,  5676,  5687,  5699,  5709,
1307     5719,  5730,  5739,  5746,  5753,  5762,  5771,  5780,  5789,  5798,
1308     5808,  5817,  5829,  5832,  5833,  5836,  5840,  5847,  5848,  5849,
1309     5850,  5851,  5852,  5855,  5858,  5859,  5867,  5874,  5875,  5878,
1310     5880,  5891,  5902,  5913,  5924,  5937,  5938,  5954,  5969,  5970,
1311     5974,  5986,  5996,  6004,  6013,  6022,  6023,  6026,  6027,  6030,
1312     6031,  6032,  6035,  6049,  6054,  6064,  6073,  6085,  6086,  6090,
1313     6098,  6110,  6120,  6133,  6143,  6165,  6175,  6193,  6203,  6213,
1314     6223,  6233,  6243,  6253,  6263,  6273,  6283,  6293,  6303,  6317,
1315     6318,  6319,  6320,  6321,  6322,  6323,  6324,  6325,  6326,  6327,
1316     6328,  6329,  6339,  6340,  6341,  6342,  6343,  6347,  6348,  6349,
1317     6350,  6351,  6352,  6353,  6354,  6359,  6360,  6361,  6365,  6366,
1318     6369,  6370,  6373,  6375,  6380,  6381,  6392,  6403,  6404,  6405,
1319     6415,  6423,  6431,  6439,  6447,  6455,  6463,  6471,  6479,  6487,
1320     6500,  6508,  6516,  6524,  6532,  6540,  6548,  6556,  6567,  6568,
1321     6582,  6592,  6602,  6612,  6622,  6632,  6642,  6652,  6662,  6672,
1322     6684,  6685,  6688,  6689,  6699,  6705,  6713,  6721,  6729,  6737,
1323     6745,  6753,  6761,  6769,  6777,  6785,  6793,  6801,  6809,  6817,
1324     6825,  6833,  6843,  6844,  6847,  6848,  6858,  6875,  6890,  6917,
1325     6919,  6921,  6923,  6930,  6939,  6940,  6943,  6950,  6957,  6964,
1326     6978,  6986,  6994,  7002,  7010,  7018,  7026,  7034,  7042,  7050,
1327     7058,  7066,  7074,  7082,  7090,  7098,  7106,  7114,  7122,  7130,
1328     7142,  7143,  7147,  7148,  7153,  7154,  7164,  7177,  7187,  7199,
1329     7200,  7203,  7204,  7214,  7224,  7225,  7229,  7233,  7237,  7248,
1330     7261,  7275,  7292,  7293,  7294,  7295,  7296,  7297,  7309,  7339,
1331     7372,  7373,  7377,  7378,  7382,  7383,  7387,  7388,  7391,  7392,
1332     7397,  7409,  7428,  7433,  7438,  7445,  7446,  7449,  7450,  7453,
1333     7454,  7457,  7458,  7461,  7462,  7463,  7466,  7467,  7468,  7484,
1334     7497,  7511,  7524,  7540,  7541,  7544,  7545,  7549,  7550,  7554,
1335     7555,  7560,  7573,  7580,  7587,  7602,  7603,  7607,  7608,  7623,
1336     7632,  7641,  7650,  7659,  7671,  7672,  7673,  7674,  7675,  7681,
1337     7685,  7700,  7701,  7707,  7717,  7721,  7726,  7734,  7776,  7780,
1338     7784,  7788,  7796,  7797,  7801,  7812,  7813,  7818,  7819,  7824,
1339     7825,  7832,  7836,  7840,  7844,  7848,  7852,  7856,  7860,  7864,
1340     7868,  7872,  7876,  7880,  7884,  7888,  7892,  7897,  7904,  7908,
1341     7912,  7916,  7920,  7926,  7927,  7933,  7942,  7946,  7957,  7963,
1342     7972,  7978,  7979,  7983,  7984,  7988,  7989,  7992,  8004,  8008,
1343     8023,  8031,  8039,  8051,  8052,  8057,  8058,  8075,  8085,  8095,
1344     8105,  8115,  8125,  8138,  8148,  8161,  8171,  8184,  8192,  8194,
1345     8196,  8201,  8203,  8208,  8209,  8214,  8232,  8241,  8242,  8246,
1346     8250,  8262,  8273,  8284,  8297,  8298,  8299,  8303,  8315,  8316,
1347     8326,  8338,  8342,  8346,  8350,  8357,  8377,  8389,  8401,  8413,
1348     8427,  8428,  8431,  8432,  8433,  8443,  8452,  8469,  8478,  8487,
1349     8496,  8505,  8514,  8523,  8532,  8541,  8550,  8559,  8568,  8577,
1350     8587,  8597,  8606,  8615,  8624,  8633,  8642,  8651,  8661,  8671,
1351     8681,  8691,  8701,  8711,  8721,  8731,  8741,  8751,  8761,  8771,
1352     8782,  8793,  8804,  8815,  8826,  8837,  8847,  8857,  8868,  8879,
1353     8889,  8899,  8907,  8916,  8925,  8934,  8943,  8952,  8961,  8970,
1354     8979,  8988,  9002,  9003,  9006,  9007,  9017,  9026,  9035,  9044,
1355     9054,  9063,  9074,  9075,  9085,  9094,  9103,  9112,  9121,  9130,
1356     9139,  9148,  9157,  9166,  9175,  9184,  9193,  9202,  9211,  9220,
1357     9229,  9238,  9247,  9256,  9265,  9274,  9283,  9292,  9301,  9310,
1358     9319,  9337,  9346,  9347,  9350,  9352,  9358,  9359,  9360,  9361,
1359     9362,  9374,  9389,  9397,  9405,  9413,  9421,  9429,  9437,  9445,
1360     9453,  9461,  9469,  9477,  9485,  9493,  9501,  9509,  9517,  9525,
1361     9533,  9541,  9549,  9557,  9565,  9573,  9591,  9610,  9611,  9615,
1362     9619,  9639,  9646,  9654,  9662,  9679,  9698,  9707,  9716,  9725,
1363     9735,  9745,  9755,  9765,  9783,  9791,  9807,  9824,  9825,  9826,
1364     9831,  9837,  9846,  9847,  9848,  9849,  9850,  9854,  9855,  9858,
1365     9859,  9860,  9861,  9865,  9866,  9867,  9879,  9889,  9890,  9893,
1366     9902,  9908,  9927,  9935,  9942,  9950,  9958,  9965,  9972,  9979,
1367     9986,  9993, 10000, 10007, 10017, 10024, 10034, 10035, 10036, 10040,
1368    10043, 10046, 10049, 10052, 10059, 10061, 10063, 10068, 10070, 10074,
1369    10075, 10076, 10088, 10101, 10114, 10132, 10153, 10154, 10155, 10156,
1370    10166, 10182, 10192, 10193, 10197, 10198, 10202, 10206, 10210, 10228,
1371    10229, 10230, 10231, 10232, 10233, 10234, 10241, 10242, 10253, 10260,
1372    10267, 10278, 10295, 10303, 10311, 10319, 10330, 10334, 10345, 10357,
1373    10374, 10380, 10396, 10409, 10418, 10426, 10434, 10443, 10454, 10465,
1374    10475, 10476, 10487, 10497, 10508, 10519, 10530, 10541, 10550, 10562,
1375    10563, 10577, 10601, 10612, 10620, 10631, 10644, 10645, 10657, 10677,
1376    10687, 10698, 10709, 10713, 10720, 10721, 10725, 10732, 10733, 10737,
1377    10738, 10739, 10743, 10744, 10748, 10749, 10752, 10753, 10756, 10757,
1378    10761, 10762, 10766, 10773, 10775, 10780, 10781, 10794, 10801, 10811,
1379    10818, 10828, 10829, 10830, 10831, 10832, 10833, 10834, 10835, 10836,
1380    10846, 10856, 10857, 10861, 10862, 10863, 10864, 10874, 10881, 10898,
1381    10917, 10918, 10928, 10934, 10940, 10946, 10962, 10980, 10984, 10992,
1382    10998, 11005, 11011, 11018, 11027, 11028, 11032, 11034, 11039, 11050,
1383    11060, 11070, 11076, 11085, 11094, 11100, 11101, 11112, 11126, 11127,
1384    11138, 11149, 11150, 11153, 11154, 11155, 11156, 11157, 11158, 11159,
1385    11160, 11163, 11164, 11168, 11169, 11170, 11181, 11199, 11200, 11204,
1386    11209, 11233, 11244, 11245, 11255, 11266, 11269, 11270, 11271, 11272,
1387    11273, 11274, 11277, 11278, 11279, 11327, 11328, 11332, 11333, 11348,
1388    11349, 11356, 11364, 11372, 11380, 11388, 11396, 11407, 11408, 11440,
1389    11455, 11471, 11472, 11491, 11495, 11499, 11514, 11521, 11528, 11538,
1390    11539, 11542, 11557, 11558, 11559, 11563, 11572, 11582, 11588, 11599,
1391    11611, 11617, 11618, 11622, 11634, 11642, 11647, 11652, 11657, 11662,
1392    11670, 11678, 11683, 11688, 11695, 11696, 11700, 11701, 11702, 11709,
1393    11710, 11714, 11715, 11719, 11720, 11724, 11725, 11729, 11733, 11734,
1394    11737, 11746, 11759, 11764, 11769, 11773, 11784, 11785, 11789, 11797,
1395    11813, 11821, 11829, 11837, 11848, 11851, 11856, 11857, 11865, 11885,
1396    11886, 11888, 11893, 11894, 11898, 11899, 11902, 11903, 11928, 11936,
1397    11945, 11946, 11950, 11951, 11952, 11953, 11954, 11958, 11971, 11978,
1398    11985, 11992, 11993, 11997, 11998, 12002, 12003, 12007, 12008, 12012,
1399    12023, 12024, 12025, 12026, 12030, 12031, 12041, 12047, 12065, 12066,
1400    12070, 12071, 12077, 12082, 12090, 12097, 12105, 12111, 12118, 12153,
1401    12178, 12182, 12208, 12212, 12225, 12245, 12266, 12278, 12294, 12300,
1402    12305, 12311, 12318, 12319, 12329, 12335, 12343, 12347, 12351, 12357,
1403    12364, 12369, 12370, 12371, 12372, 12376, 12377, 12392, 12396, 12404,
1404    12411, 12418, 12425, 12436, 12437, 12450, 12454, 12461, 12474, 12487,
1405    12488, 12503, 12513, 12525, 12530, 12531, 12534, 12535, 12538, 12539,
1406    12544, 12545, 12550, 12551, 12559, 12564, 12565, 12569, 12573, 12579,
1407    12603, 12613, 12626, 12627, 12631, 12645, 12702, 12716, 12718, 12723,
1408    12725, 12727, 12729, 12734, 12736, 12741, 12749, 12769, 12774, 12781,
1409    12786, 12792, 12797, 12806, 12808, 12811, 12815, 12816, 12817, 12818,
1410    12819, 12820, 12825, 12845, 12846, 12847, 12848, 12859, 12865, 12873,
1411    12874, 12880, 12885, 12890, 12895, 12900, 12905, 12910, 12915, 12921,
1412    12927, 12933, 12940, 12962, 12971, 12975, 12983, 12987, 12995, 13007,
1413    13028, 13032, 13038, 13042, 13055, 13063, 13073, 13075, 13077, 13079,
1414    13081, 13083, 13088, 13089, 13096, 13105, 13113, 13122, 13133, 13141,
1415    13142, 13143, 13147, 13149, 13151, 13153, 13155, 13157, 13159, 13164,
1416    13169, 13175, 13183, 13188, 13195, 13202, 13206, 13210, 13246, 13247,
1417    13249, 13257, 13273, 13275, 13277, 13279, 13281, 13283, 13285, 13287,
1418    13289, 13291, 13293, 13295, 13297, 13299, 13302, 13304, 13307, 13309,
1419    13311, 13313, 13316, 13321, 13330, 13335, 13344, 13349, 13358, 13363,
1420    13373, 13382, 13391, 13400, 13419, 13427, 13435, 13443, 13451, 13468,
1421    13476, 13484, 13492, 13500, 13508, 13516, 13520, 13524, 13532, 13540,
1422    13548, 13556, 13576, 13598, 13609, 13616, 13632, 13637, 13643, 13650,
1423    13657, 13665, 13673, 13698, 13700, 13702, 13704, 13706, 13708, 13710,
1424    13712, 13714, 13716, 13718, 13720, 13722, 13724, 13726, 13728, 13730,
1425    13732, 13734, 13738, 13742, 13747, 13763, 13764, 13765, 13780, 13792,
1426    13794, 13796, 13807, 13831, 13842, 13853, 13860, 13870, 13880, 13889,
1427    13895, 13903, 13912, 13921, 13933, 13942, 13972, 14007, 14018, 14019,
1428    14026, 14033, 14037, 14041, 14045, 14049, 14053, 14057, 14061, 14065,
1429    14069, 14073, 14077, 14081, 14085, 14089, 14093, 14095, 14102, 14109,
1430    14116, 14123, 14134, 14148, 14158, 14169, 14185, 14195, 14202, 14209,
1431    14216, 14220, 14227, 14235, 14243, 14247, 14251, 14255, 14259, 14263,
1432    14272, 14276, 14285, 14289, 14293, 14298, 14312, 14314, 14318, 14320,
1433    14322, 14325, 14328, 14331, 14332, 14335, 14343, 14353, 14354, 14357,
1434    14358, 14359, 14364, 14368, 14372, 14376, 14383, 14384, 14392, 14393,
1435    14397, 14398, 14406, 14407, 14411, 14412, 14417, 14425, 14427, 14441,
1436    14444, 14471, 14472, 14475, 14476, 14484, 14491, 14498, 14506, 14515,
1437    14532, 14577, 14585, 14593, 14601, 14609, 14620, 14621, 14622, 14623,
1438    14624, 14638, 14639, 14640, 14643, 14644, 14647, 14650, 14651, 14652,
1439    14655, 14656, 14659, 14660, 14661, 14662, 14663, 14664, 14665, 14666,
1440    14667, 14668, 14669, 14670, 14673, 14675, 14680, 14682, 14687, 14689,
1441    14691, 14693, 14695, 14697, 14709, 14713, 14720, 14724, 14730, 14734,
1442    14743, 14754, 14755, 14758, 14759, 14762, 14766, 14770, 14776, 14777,
1443    14782, 14792, 14793, 14794, 14795, 14796, 14797, 14798, 14799, 14803,
1444    14804, 14805, 14806, 14811, 14816, 14825, 14846, 14850, 14855, 14866,
1445    14883, 14889, 14890, 14891, 14894, 14901, 14911, 14925, 14926, 14930,
1446    14941, 14942, 14945, 14946, 14949, 14953, 14960, 14964, 14968, 14976,
1447    14987, 14988, 14992, 14993, 14997, 14998, 15001, 15002, 15012, 15013,
1448    15017, 15018, 15021, 15029, 15037, 15045, 15067, 15068, 15079, 15083,
1449    15110, 15112, 15117, 15119, 15121, 15131, 15133, 15144, 15148, 15152,
1450    15156, 15160, 15169, 15176, 15208, 15212, 15218, 15225, 15229, 15233,
1451    15239, 15240, 15242, 15243, 15244, 15248, 15288, 15315, 15319, 15323,
1452    15329, 15331, 15345, 15381, 15394, 15395, 15398, 15399, 15416, 15417,
1453    15418, 15423, 15424, 15425, 15430, 15431, 15432, 15433, 15439, 15440,
1454    15441, 15442, 15443, 15449, 15450, 15470, 15471, 15472, 15473, 15474,
1455    15475, 15476, 15477, 15478, 15479, 15480, 15481, 15482, 15483, 15484,
1456    15485, 15486, 15487, 15488, 15489, 15490, 15491, 15492, 15493, 15494,
1457    15495, 15496, 15497, 15498, 15499, 15500, 15501, 15502, 15503, 15504,
1458    15505, 15506, 15507, 15508, 15509, 15510, 15511, 15512, 15513, 15514,
1459    15515, 15516, 15517, 15518, 15519, 15520, 15521, 15522, 15523, 15524,
1460    15525, 15526, 15527, 15528, 15529, 15530, 15531, 15532, 15533, 15534,
1461    15535, 15536, 15537, 15538, 15539, 15540, 15541, 15542, 15543, 15544,
1462    15545, 15546, 15547, 15548, 15549, 15550, 15551, 15552, 15553, 15554,
1463    15555, 15556, 15557, 15558, 15559, 15560, 15561, 15562, 15563, 15564,
1464    15565, 15566, 15567, 15568, 15569, 15570, 15571, 15572, 15573, 15574,
1465    15575, 15576, 15577, 15578, 15579, 15580, 15581, 15582, 15583, 15584,
1466    15585, 15586, 15587, 15588, 15589, 15590, 15591, 15592, 15593, 15594,
1467    15595, 15596, 15597, 15598, 15599, 15600, 15601, 15602, 15603, 15604,
1468    15605, 15606, 15607, 15608, 15609, 15610, 15611, 15612, 15613, 15614,
1469    15615, 15616, 15617, 15618, 15619, 15620, 15621, 15622, 15623, 15624,
1470    15625, 15626, 15627, 15628, 15629, 15630, 15631, 15632, 15633, 15634,
1471    15635, 15636, 15637, 15638, 15639, 15640, 15641, 15642, 15643, 15644,
1472    15645, 15646, 15647, 15648, 15649, 15650, 15651, 15652, 15653, 15654,
1473    15655, 15656, 15657, 15658, 15659, 15660, 15661, 15662, 15663, 15664,
1474    15665, 15666, 15667, 15668, 15669, 15670, 15671, 15672, 15673, 15674,
1475    15675, 15676, 15677, 15678, 15679, 15680, 15681, 15682, 15683, 15684,
1476    15685, 15686, 15687, 15688, 15689, 15690, 15691, 15692, 15693, 15694,
1477    15695, 15696, 15697, 15698, 15699, 15700, 15701, 15702, 15703, 15704,
1478    15705, 15706, 15707, 15708, 15709, 15710, 15711, 15712, 15713, 15714,
1479    15715, 15716, 15717, 15718, 15719, 15720, 15721, 15722, 15723, 15724,
1480    15725, 15726, 15727, 15728, 15729, 15730, 15731, 15732, 15733, 15734,
1481    15735, 15736, 15737, 15738, 15739, 15740, 15741, 15742, 15743, 15744,
1482    15745, 15746, 15747, 15748, 15749, 15750, 15751, 15752, 15753, 15754,
1483    15755, 15756, 15757, 15758, 15759, 15760, 15761, 15762, 15763, 15764,
1484    15765, 15766, 15767, 15768, 15769, 15770, 15771, 15772, 15773, 15774,
1485    15775, 15789, 15790, 15791, 15792, 15793, 15794, 15795, 15796, 15797,
1486    15798, 15799, 15800, 15801, 15802, 15803, 15804, 15805, 15806, 15807,
1487    15808, 15809, 15810, 15811, 15812, 15813, 15814, 15815, 15816, 15817,
1488    15818, 15819, 15820, 15821, 15822, 15823, 15824, 15825, 15826, 15827,
1489    15828, 15829, 15830, 15831, 15832, 15833, 15834, 15835, 15836, 15837,
1490    15838, 15839, 15853, 15854, 15855, 15856, 15857, 15858, 15859, 15860,
1491    15861, 15862, 15863, 15864, 15865, 15866, 15867, 15868, 15869, 15870,
1492    15871, 15872, 15873, 15874, 15875, 15885, 15886, 15887, 15888, 15889,
1493    15890, 15891, 15892, 15893, 15894, 15895, 15896, 15897, 15898, 15899,
1494    15900, 15901, 15902, 15903, 15904, 15905, 15906, 15907, 15908, 15909,
1495    15910, 15911, 15912, 15913, 15914, 15915, 15916, 15917, 15918, 15919,
1496    15920, 15921, 15922, 15923, 15924, 15925, 15926, 15927, 15928, 15929,
1497    15930, 15931, 15932, 15933, 15934, 15935, 15936, 15937, 15938, 15939,
1498    15940, 15941, 15942, 15943, 15944, 15945, 15946, 15947, 15948, 15949,
1499    15950, 15951, 15952, 15953, 15954, 15955, 15956, 15957, 15958, 15959,
1500    15960, 15961, 15974, 15975, 15976, 15977, 15978, 15979, 15980, 15981,
1501    15982, 15983, 15984, 15985, 15986, 15987, 15988, 15989, 15990, 15991,
1502    15992, 15993, 15994, 15995, 15996, 15997, 15998, 15999, 16000, 16001,
1503    16002, 16003, 16004, 16005, 16006, 16007, 16008, 16009, 16010, 16011,
1504    16012, 16013, 16014, 16015, 16016, 16017, 16018, 16019, 16020, 16021,
1505    16022, 16023, 16024, 16025, 16026, 16027, 16028, 16029, 16030, 16031,
1506    16032, 16033, 16034, 16035, 16036, 16037, 16038, 16039, 16040, 16041,
1507    16042, 16043, 16044, 16045, 16046, 16047, 16048, 16049, 16050, 16051,
1508    16052, 16053, 16054, 16055, 16056, 16057, 16058, 16059, 16060, 16061,
1509    16062, 16063, 16064, 16065, 16066, 16067, 16068, 16069, 16070, 16071,
1510    16072, 16073, 16074, 16075, 16076, 16077, 16078, 16079, 16080, 16081,
1511    16082, 16083, 16084, 16085, 16086, 16087, 16088, 16089, 16090, 16091,
1512    16092, 16093, 16094, 16095, 16096, 16097, 16098, 16099, 16100, 16101,
1513    16102, 16103, 16104, 16105, 16106, 16107, 16108, 16109, 16110, 16111,
1514    16112, 16113, 16114, 16115, 16116, 16117, 16118, 16119, 16120, 16121,
1515    16122, 16123, 16124, 16125, 16126, 16127, 16128, 16129, 16130, 16131,
1516    16132, 16133, 16134, 16135, 16136, 16137, 16138, 16139, 16140, 16141,
1517    16142, 16143, 16144, 16145, 16146, 16147, 16148, 16149, 16150, 16151,
1518    16152, 16153, 16154, 16155, 16156, 16157, 16158, 16159, 16160, 16161,
1519    16162, 16163, 16164, 16165, 16166, 16167, 16168, 16169, 16170, 16171,
1520    16172, 16173, 16174, 16175, 16176, 16177, 16178, 16179, 16180, 16181,
1521    16182, 16183, 16184, 16185, 16186, 16187, 16188, 16189, 16190, 16191,
1522    16192, 16193, 16194, 16195, 16196, 16197, 16198, 16199, 16200, 16201,
1523    16202, 16203, 16204, 16205, 16206, 16207, 16208, 16209, 16210, 16211,
1524    16212, 16213, 16214, 16215, 16216, 16217, 16218, 16219, 16220, 16221,
1525    16222, 16223, 16224, 16225, 16226, 16227, 16228, 16229, 16230, 16231,
1526    16232, 16233, 16234, 16235, 16236, 16237, 16238, 16239, 16240, 16241,
1527    16242, 16243, 16244, 16245, 16246, 16247, 16248, 16249, 16250, 16251,
1528    16252, 16253, 16254, 16255, 16256, 16257, 16258, 16259, 16260, 16261,
1529    16262, 16263, 16264, 16265, 16266, 16267, 16268, 16269, 16270, 16271,
1530    16272, 16273, 16274, 16275, 16276, 16277, 16278, 16279, 16280, 16281,
1531    16282, 16283, 16284, 16285, 16286, 16287, 16288, 16289, 16290, 16291,
1532    16292, 16293, 16294, 16295, 16296, 16297, 16298, 16299, 16300, 16301,
1533    16302, 16303, 16304, 16305, 16306, 16307, 16308, 16309, 16310, 16311,
1534    16312, 16313, 16314, 16315, 16316, 16317, 16318, 16319, 16320, 16321,
1535    16322, 16323, 16324, 16325, 16326, 16327, 16328, 16329, 16330, 16331,
1536    16332, 16333, 16334, 16335, 16336, 16337, 16338, 16339, 16340, 16341,
1537    16342, 16343, 16344, 16345, 16346, 16347, 16348, 16349, 16350, 16351,
1538    16352, 16353, 16354, 16355, 16356, 16357, 16358, 16359, 16360, 16361,
1539    16362, 16363, 16364, 16365, 16366, 16367, 16368, 16369, 16370, 16371,
1540    16372, 16373, 16374, 16375, 16376, 16377, 16378, 16379, 16380, 16381,
1541    16382, 16383, 16384, 16385, 16386, 16387, 16388, 16389, 16390, 16391
1542 };
1543 #endif
1544 
1545 #if YYDEBUG || YYERROR_VERBOSE || 0
1546 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1547    First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1548 static const char *const yytname[] =
1549 {
1550   "$end", "error", "$undefined", "IDENT", "UIDENT", "FCONST", "SCONST",
1551   "USCONST", "BCONST", "XCONST", "Op", "ICONST", "PARAM", "TYPECAST",
1552   "DOT_DOT", "COLON_EQUALS", "EQUALS_GREATER", "LESS_EQUALS",
1553   "GREATER_EQUALS", "NOT_EQUALS", "ABORT_P", "ABSOLUTE_P", "ACCESS",
1554   "ACTION", "ADD_P", "ADMIN", "AFTER", "AGGREGATE", "ALL", "ALSO", "ALTER",
1555   "ALWAYS", "ANALYSE", "ANALYZE", "AND", "ANY", "ARRAY", "AS", "ASC",
1556   "ASENSITIVE", "ASSERTION", "ASSIGNMENT", "ASYMMETRIC", "ATOMIC", "AT",
1557   "ATTACH", "ATTRIBUTE", "AUTHORIZATION", "BACKWARD", "BEFORE", "BEGIN_P",
1558   "BETWEEN", "BIGINT", "BINARY", "BIT", "BOOLEAN_P", "BOTH", "BREADTH",
1559   "BY", "CACHE", "CALL", "CALLED", "CASCADE", "CASCADED", "CASE", "CAST",
1560   "CATALOG_P", "CHAIN", "CHAR_P", "CHARACTER", "CHARACTERISTICS", "CHECK",
1561   "CHECKPOINT", "CLASS", "CLOSE", "CLUSTER", "COALESCE", "COLLATE",
1562   "COLLATION", "COLUMN", "COLUMNS", "COMMENT", "COMMENTS", "COMMIT",
1563   "COMMITTED", "COMPRESSION", "CONCURRENTLY", "CONFIGURATION", "CONFLICT",
1564   "CONNECTION", "CONSTRAINT", "CONSTRAINTS", "CONTENT_P", "CONTINUE_P",
1565   "CONVERSION_P", "COPY", "COST", "CREATE", "CROSS", "CSV", "CUBE",
1566   "CURRENT_P", "CURRENT_CATALOG", "CURRENT_DATE", "CURRENT_ROLE",
1567   "CURRENT_SCHEMA", "CURRENT_TIME", "CURRENT_TIMESTAMP", "CURRENT_USER",
1568   "CURSOR", "CYCLE", "DATA_P", "DATABASE", "DAY_P", "DEALLOCATE", "DEC",
1569   "DECIMAL_P", "DECLARE", "DEFAULT", "DEFAULTS", "DEFERRABLE", "DEFERRED",
1570   "DEFINER", "DELETE_P", "DELIMITER", "DELIMITERS", "DEPENDS", "DEPTH",
1571   "DESC", "DETACH", "DICTIONARY", "DISABLE_P", "DISCARD", "DISTINCT", "DO",
1572   "DOCUMENT_P", "DOMAIN_P", "DOUBLE_P", "DROP", "EACH", "ELSE", "ENABLE_P",
1573   "ENCODING", "ENCRYPTED", "END_P", "ENUM_P", "ESCAPE", "EVENT", "EXCEPT",
1574   "EXCLUDE", "EXCLUDING", "EXCLUSIVE", "EXECUTE", "EXISTS", "EXPLAIN",
1575   "EXPRESSION", "EXTENSION", "EXTERNAL", "EXTRACT", "FALSE_P", "FAMILY",
1576   "FETCH", "FILTER", "FINALIZE", "FIRST_P", "FLOAT_P", "FOLLOWING", "FOR",
1577   "FORCE", "FOREIGN", "FORWARD", "FREEZE", "FROM", "FULL", "FUNCTION",
1578   "FUNCTIONS", "GENERATED", "GLOBAL", "GRANT", "GRANTED", "GREATEST",
1579   "GROUP_P", "GROUPING", "GROUPS", "HANDLER", "HAVING", "HEADER_P", "HOLD",
1580   "HOUR_P", "IDENTITY_P", "IF_P", "ILIKE", "IMMEDIATE", "IMMUTABLE",
1581   "IMPLICIT_P", "IMPORT_P", "IN_P", "INCLUDE", "INCLUDING", "INCREMENT",
1582   "INDEX", "INDEXES", "INHERIT", "INHERITS", "INITIALLY", "INLINE_P",
1583   "INNER_P", "INOUT", "INPUT_P", "INSENSITIVE", "INSERT", "INSTEAD",
1584   "INT_P", "INTEGER", "INTERSECT", "INTERVAL", "INTO", "INVOKER", "IS",
1585   "ISNULL", "ISOLATION", "JOIN", "KEY", "LABEL", "LANGUAGE", "LARGE_P",
1586   "LAST_P", "LATERAL_P", "LEADING", "LEAKPROOF", "LEAST", "LEFT", "LEVEL",
1587   "LIKE", "LIMIT", "LISTEN", "LOAD", "LOCAL", "LOCALTIME",
1588   "LOCALTIMESTAMP", "LOCATION", "LOCK_P", "LOCKED", "LOGGED", "MAPPING",
1589   "MATCH", "MATERIALIZED", "MAXVALUE", "METHOD", "MINUTE_P", "MINVALUE",
1590   "MODE", "MONTH_P", "MOVE", "NAME_P", "NAMES", "NATIONAL", "NATURAL",
1591   "NCHAR", "NEW", "NEXT", "NFC", "NFD", "NFKC", "NFKD", "NO", "NONE",
1592   "NORMALIZE", "NORMALIZED", "NOT", "NOTHING", "NOTIFY", "NOTNULL",
1593   "NOWAIT", "NULL_P", "NULLIF", "NULLS_P", "NUMERIC", "OBJECT_P", "OF",
1594   "OFF", "OFFSET", "OIDS", "OLD", "ON", "ONLY", "OPERATOR", "OPTION",
1595   "OPTIONS", "OR", "ORDER", "ORDINALITY", "OTHERS", "OUT_P", "OUTER_P",
1596   "OVER", "OVERLAPS", "OVERLAY", "OVERRIDING", "OWNED", "OWNER",
1597   "PARALLEL", "PARSER", "PARTIAL", "PARTITION", "PASSING", "PASSWORD",
1598   "PLACING", "PLANS", "POLICY", "POSITION", "PRECEDING", "PRECISION",
1599   "PRESERVE", "PREPARE", "PREPARED", "PRIMARY", "PRIOR", "PRIVILEGES",
1600   "PROCEDURAL", "PROCEDURE", "PROCEDURES", "PROGRAM", "PUBLICATION",
1601   "QUOTE", "RANGE", "READ", "REAL", "REASSIGN", "RECHECK", "RECURSIVE",
1602   "REF", "REFERENCES", "REFERENCING", "REFRESH", "REINDEX", "RELATIVE_P",
1603   "RELEASE", "RENAME", "REPEATABLE", "REPLACE", "REPLICA", "RESET",
1604   "RESTART", "RESTRICT", "RETURN", "RETURNING", "RETURNS", "REVOKE",
1605   "RIGHT", "ROLE", "ROLLBACK", "ROLLUP", "ROUTINE", "ROUTINES", "ROW",
1606   "ROWS", "RULE", "SAVEPOINT", "SCHEMA", "SCHEMAS", "SCROLL", "SEARCH",
1607   "SECOND_P", "SECURITY", "SELECT", "SEQUENCE", "SEQUENCES",
1608   "SERIALIZABLE", "SERVER", "SESSION", "SESSION_USER", "SET", "SETS",
1609   "SETOF", "SHARE", "SHOW", "SIMILAR", "SIMPLE", "SKIP", "SMALLINT",
1610   "SNAPSHOT", "SOME", "SQL_P", "STABLE", "STANDALONE_P", "START",
1611   "STATEMENT", "STATISTICS", "STDIN", "STDOUT", "STORAGE", "STORED",
1612   "STRICT_P", "STRIP_P", "SUBSCRIPTION", "SUBSTRING", "SUPPORT",
1613   "SYMMETRIC", "SYSID", "SYSTEM_P", "TABLE", "TABLES", "TABLESAMPLE",
1614   "TABLESPACE", "TEMP", "TEMPLATE", "TEMPORARY", "TEXT_P", "THEN", "TIES",
1615   "TIME", "TIMESTAMP", "TO", "TRAILING", "TRANSACTION", "TRANSFORM",
1616   "TREAT", "TRIGGER", "TRIM", "TRUE_P", "TRUNCATE", "TRUSTED", "TYPE_P",
1617   "TYPES_P", "UESCAPE", "UNBOUNDED", "UNCOMMITTED", "UNENCRYPTED", "UNION",
1618   "UNIQUE", "UNKNOWN", "UNLISTEN", "UNLOGGED", "UNTIL", "UPDATE", "USER",
1619   "USING", "VACUUM", "VALID", "VALIDATE", "VALIDATOR", "VALUE_P", "VALUES",
1620   "VARCHAR", "VARIADIC", "VARYING", "VERBOSE", "VERSION_P", "VIEW",
1621   "VIEWS", "VOLATILE", "WHEN", "WHERE", "WHITESPACE_P", "WINDOW", "WITH",
1622   "WITHIN", "WITHOUT", "WORK", "WRAPPER", "WRITE", "XML_P",
1623   "XMLATTRIBUTES", "XMLCONCAT", "XMLELEMENT", "XMLEXISTS", "XMLFOREST",
1624   "XMLNAMESPACES", "XMLPARSE", "XMLPI", "XMLROOT", "XMLSERIALIZE",
1625   "XMLTABLE", "YEAR_P", "YES_P", "ZONE", "NOT_LA", "NULLS_LA", "WITH_LA",
1626   "MODE_TYPE_NAME", "MODE_PLPGSQL_EXPR", "MODE_PLPGSQL_ASSIGN1",
1627   "MODE_PLPGSQL_ASSIGN2", "MODE_PLPGSQL_ASSIGN3", "'<'", "'>'", "'='",
1628   "'+'", "'-'", "'*'", "'/'", "'%'", "'^'", "UMINUS", "'['", "']'", "'('",
1629   "')'", "'.'", "';'", "','", "':'", "$accept", "parse_toplevel",
1630   "stmtmulti", "toplevel_stmt", "stmt", "CallStmt", "CreateRoleStmt",
1631   "opt_with", "OptRoleList", "AlterOptRoleList", "AlterOptRoleElem",
1632   "CreateOptRoleElem", "CreateUserStmt", "AlterRoleStmt",
1633   "opt_in_database", "AlterRoleSetStmt", "DropRoleStmt", "CreateGroupStmt",
1634   "AlterGroupStmt", "add_drop", "CreateSchemaStmt", "OptSchemaName",
1635   "OptSchemaEltList", "schema_stmt", "VariableSetStmt", "set_rest",
1636   "generic_set", "set_rest_more", "var_name", "var_list", "var_value",
1637   "iso_level", "opt_boolean_or_string", "zone_value", "opt_encoding",
1638   "NonReservedWord_or_Sconst", "VariableResetStmt", "reset_rest",
1639   "generic_reset", "SetResetClause", "FunctionSetResetClause",
1640   "VariableShowStmt", "ConstraintsSetStmt", "constraints_set_list",
1641   "constraints_set_mode", "CheckPointStmt", "DiscardStmt",
1642   "AlterTableStmt", "alter_table_cmds", "partition_cmd",
1643   "index_partition_cmd", "alter_table_cmd", "alter_column_default",
1644   "opt_drop_behavior", "opt_collate_clause", "alter_using",
1645   "replica_identity", "reloptions", "opt_reloptions", "reloption_list",
1646   "reloption_elem", "alter_identity_column_option_list",
1647   "alter_identity_column_option", "PartitionBoundSpec",
1648   "hash_partbound_elem", "hash_partbound", "AlterCompositeTypeStmt",
1649   "alter_type_cmds", "alter_type_cmd", "ClosePortalStmt", "CopyStmt",
1650   "copy_from", "opt_program", "copy_file_name", "copy_options",
1651   "copy_opt_list", "copy_opt_item", "opt_binary", "copy_delimiter",
1652   "opt_using", "copy_generic_opt_list", "copy_generic_opt_elem",
1653   "copy_generic_opt_arg", "copy_generic_opt_arg_list",
1654   "copy_generic_opt_arg_list_item", "CreateStmt", "OptTemp",
1655   "OptTableElementList", "OptTypedTableElementList", "TableElementList",
1656   "TypedTableElementList", "TableElement", "TypedTableElement",
1657   "columnDef", "columnOptions", "column_compression",
1658   "opt_column_compression", "ColQualList", "ColConstraint",
1659   "ColConstraintElem", "generated_when", "ConstraintAttr",
1660   "TableLikeClause", "TableLikeOptionList", "TableLikeOption",
1661   "TableConstraint", "ConstraintElem", "opt_no_inherit", "opt_column_list",
1662   "columnList", "columnElem", "opt_c_include", "key_match",
1663   "ExclusionConstraintList", "ExclusionConstraintElem", "OptWhereClause",
1664   "key_actions", "key_update", "key_delete", "key_action", "OptInherit",
1665   "OptPartitionSpec", "PartitionSpec", "part_params", "part_elem",
1666   "table_access_method_clause", "OptWith", "OnCommitOption",
1667   "OptTableSpace", "OptConsTableSpace", "ExistingIndex", "CreateStatsStmt",
1668   "stats_params", "stats_param", "AlterStatsStmt", "CreateAsStmt",
1669   "create_as_target", "opt_with_data", "CreateMatViewStmt",
1670   "create_mv_target", "OptNoLog", "RefreshMatViewStmt", "CreateSeqStmt",
1671   "AlterSeqStmt", "OptSeqOptList", "OptParenthesizedSeqOptList",
1672   "SeqOptList", "SeqOptElem", "opt_by", "NumericOnly", "NumericOnly_list",
1673   "CreatePLangStmt", "opt_trusted", "handler_name", "opt_inline_handler",
1674   "validator_clause", "opt_validator", "opt_procedural",
1675   "CreateTableSpaceStmt", "OptTableSpaceOwner", "DropTableSpaceStmt",
1676   "CreateExtensionStmt", "create_extension_opt_list",
1677   "create_extension_opt_item", "AlterExtensionStmt",
1678   "alter_extension_opt_list", "alter_extension_opt_item",
1679   "AlterExtensionContentsStmt", "CreateFdwStmt", "fdw_option",
1680   "fdw_options", "opt_fdw_options", "AlterFdwStmt",
1681   "create_generic_options", "generic_option_list", "alter_generic_options",
1682   "alter_generic_option_list", "alter_generic_option_elem",
1683   "generic_option_elem", "generic_option_name", "generic_option_arg",
1684   "CreateForeignServerStmt", "opt_type", "foreign_server_version",
1685   "opt_foreign_server_version", "AlterForeignServerStmt",
1686   "CreateForeignTableStmt", "ImportForeignSchemaStmt",
1687   "import_qualification_type", "import_qualification",
1688   "CreateUserMappingStmt", "auth_ident", "DropUserMappingStmt",
1689   "AlterUserMappingStmt", "CreatePolicyStmt", "AlterPolicyStmt",
1690   "RowSecurityOptionalExpr", "RowSecurityOptionalWithCheck",
1691   "RowSecurityDefaultToRole", "RowSecurityOptionalToRole",
1692   "RowSecurityDefaultPermissive", "RowSecurityDefaultForCmd",
1693   "row_security_cmd", "CreateAmStmt", "am_type", "CreateTrigStmt",
1694   "TriggerActionTime", "TriggerEvents", "TriggerOneEvent",
1695   "TriggerReferencing", "TriggerTransitions", "TriggerTransition",
1696   "TransitionOldOrNew", "TransitionRowOrTable", "TransitionRelName",
1697   "TriggerForSpec", "TriggerForOptEach", "TriggerForType", "TriggerWhen",
1698   "FUNCTION_or_PROCEDURE", "TriggerFuncArgs", "TriggerFuncArg",
1699   "OptConstrFromTable", "ConstraintAttributeSpec",
1700   "ConstraintAttributeElem", "CreateEventTrigStmt",
1701   "event_trigger_when_list", "event_trigger_when_item",
1702   "event_trigger_value_list", "AlterEventTrigStmt", "enable_trigger",
1703   "CreateAssertionStmt", "DefineStmt", "definition", "def_list",
1704   "def_elem", "def_arg", "old_aggr_definition", "old_aggr_list",
1705   "old_aggr_elem", "opt_enum_val_list", "enum_val_list", "AlterEnumStmt",
1706   "opt_if_not_exists", "CreateOpClassStmt", "opclass_item_list",
1707   "opclass_item", "opt_default", "opt_opfamily", "opclass_purpose",
1708   "opt_recheck", "CreateOpFamilyStmt", "AlterOpFamilyStmt",
1709   "opclass_drop_list", "opclass_drop", "DropOpClassStmt",
1710   "DropOpFamilyStmt", "DropOwnedStmt", "ReassignOwnedStmt", "DropStmt",
1711   "object_type_any_name", "object_type_name", "drop_type_name",
1712   "object_type_name_on_any_name", "any_name_list", "any_name", "attrs",
1713   "type_name_list", "TruncateStmt", "opt_restart_seqs", "CommentStmt",
1714   "comment_text", "SecLabelStmt", "opt_provider", "security_label",
1715   "FetchStmt", "fetch_args", "from_in", "opt_from_in", "GrantStmt",
1716   "RevokeStmt", "privileges", "privilege_list", "privilege",
1717   "privilege_target", "grantee_list", "grantee", "opt_grant_grant_option",
1718   "GrantRoleStmt", "RevokeRoleStmt", "opt_grant_admin_option",
1719   "opt_granted_by", "AlterDefaultPrivilegesStmt", "DefACLOptionList",
1720   "DefACLOption", "DefACLAction", "defacl_privilege_target", "IndexStmt",
1721   "opt_unique", "opt_concurrently", "opt_index_name",
1722   "access_method_clause", "index_params", "index_elem_options",
1723   "index_elem", "opt_include", "index_including_params", "opt_collate",
1724   "opt_class", "opt_asc_desc", "opt_nulls_order", "CreateFunctionStmt",
1725   "opt_or_replace", "func_args", "func_args_list",
1726   "function_with_argtypes_list", "function_with_argtypes",
1727   "func_args_with_defaults", "func_args_with_defaults_list", "func_arg",
1728   "arg_class", "param_name", "func_return", "func_type",
1729   "func_arg_with_default", "aggr_arg", "aggr_args", "aggr_args_list",
1730   "aggregate_with_argtypes", "aggregate_with_argtypes_list",
1731   "opt_createfunc_opt_list", "createfunc_opt_list", "common_func_opt_item",
1732   "createfunc_opt_item", "func_as", "ReturnStmt", "opt_routine_body",
1733   "routine_body_stmt_list", "routine_body_stmt", "transform_type_list",
1734   "opt_definition", "table_func_column", "table_func_column_list",
1735   "AlterFunctionStmt", "alterfunc_opt_list", "opt_restrict",
1736   "RemoveFuncStmt", "RemoveAggrStmt", "RemoveOperStmt", "oper_argtypes",
1737   "any_operator", "operator_with_argtypes_list", "operator_with_argtypes",
1738   "DoStmt", "dostmt_opt_list", "dostmt_opt_item", "CreateCastStmt",
1739   "cast_context", "DropCastStmt", "opt_if_exists", "CreateTransformStmt",
1740   "transform_element_list", "DropTransformStmt", "ReindexStmt",
1741   "reindex_target_type", "reindex_target_multitable", "AlterTblSpcStmt",
1742   "RenameStmt", "opt_column", "opt_set_data", "AlterObjectDependsStmt",
1743   "opt_no", "AlterObjectSchemaStmt", "AlterOperatorStmt",
1744   "operator_def_list", "operator_def_elem", "operator_def_arg",
1745   "AlterTypeStmt", "AlterOwnerStmt", "CreatePublicationStmt",
1746   "opt_publication_for_tables", "publication_for_tables",
1747   "AlterPublicationStmt", "CreateSubscriptionStmt",
1748   "AlterSubscriptionStmt", "DropSubscriptionStmt", "RuleStmt",
1749   "RuleActionList", "RuleActionMulti", "RuleActionStmt",
1750   "RuleActionStmtOrEmpty", "event", "opt_instead", "NotifyStmt",
1751   "notify_payload", "ListenStmt", "UnlistenStmt", "TransactionStmt",
1752   "TransactionStmtLegacy", "opt_transaction", "transaction_mode_item",
1753   "transaction_mode_list", "transaction_mode_list_or_empty",
1754   "opt_transaction_chain", "ViewStmt", "opt_check_option", "LoadStmt",
1755   "CreatedbStmt", "createdb_opt_list", "createdb_opt_items",
1756   "createdb_opt_item", "createdb_opt_name", "opt_equal",
1757   "AlterDatabaseStmt", "AlterDatabaseSetStmt", "DropdbStmt",
1758   "drop_option_list", "drop_option", "AlterCollationStmt",
1759   "AlterSystemStmt", "CreateDomainStmt", "AlterDomainStmt", "opt_as",
1760   "AlterTSDictionaryStmt", "AlterTSConfigurationStmt", "any_with",
1761   "CreateConversionStmt", "ClusterStmt", "cluster_index_specification",
1762   "VacuumStmt", "AnalyzeStmt", "utility_option_list", "analyze_keyword",
1763   "utility_option_elem", "utility_option_name", "utility_option_arg",
1764   "opt_analyze", "opt_verbose", "opt_full", "opt_freeze", "opt_name_list",
1765   "vacuum_relation", "vacuum_relation_list", "opt_vacuum_relation_list",
1766   "ExplainStmt", "ExplainableStmt", "PrepareStmt", "prep_type_clause",
1767   "PreparableStmt", "ExecuteStmt", "execute_param_clause",
1768   "DeallocateStmt", "InsertStmt", "insert_target", "insert_rest",
1769   "override_kind", "insert_column_list", "insert_column_item",
1770   "opt_on_conflict", "opt_conf_expr", "returning_clause", "DeleteStmt",
1771   "using_clause", "LockStmt", "opt_lock", "lock_type", "opt_nowait",
1772   "opt_nowait_or_skip", "UpdateStmt", "set_clause_list", "set_clause",
1773   "set_target", "set_target_list", "DeclareCursorStmt", "cursor_name",
1774   "cursor_options", "opt_hold", "SelectStmt", "select_with_parens",
1775   "select_no_parens", "select_clause", "simple_select", "with_clause",
1776   "cte_list", "common_table_expr", "opt_materialized", "opt_search_clause",
1777   "opt_cycle_clause", "opt_with_clause", "into_clause", "OptTempTableName",
1778   "opt_table", "set_quantifier", "distinct_clause", "opt_all_clause",
1779   "opt_distinct_clause", "opt_sort_clause", "sort_clause", "sortby_list",
1780   "sortby", "select_limit", "opt_select_limit", "limit_clause",
1781   "offset_clause", "select_limit_value", "select_offset_value",
1782   "select_fetch_first_value", "I_or_F_const", "row_or_rows",
1783   "first_or_next", "group_clause", "group_by_list", "group_by_item",
1784   "empty_grouping_set", "rollup_clause", "cube_clause",
1785   "grouping_sets_clause", "having_clause", "for_locking_clause",
1786   "opt_for_locking_clause", "for_locking_items", "for_locking_item",
1787   "for_locking_strength", "locked_rels_list", "values_clause",
1788   "from_clause", "from_list", "table_ref", "joined_table", "alias_clause",
1789   "opt_alias_clause", "opt_alias_clause_for_join_using",
1790   "func_alias_clause", "join_type", "opt_outer", "join_qual",
1791   "relation_expr", "relation_expr_list", "relation_expr_opt_alias",
1792   "tablesample_clause", "opt_repeatable_clause", "func_table",
1793   "rowsfrom_item", "rowsfrom_list", "opt_col_def_list", "opt_ordinality",
1794   "where_clause", "where_or_current_clause", "OptTableFuncElementList",
1795   "TableFuncElementList", "TableFuncElement", "xmltable",
1796   "xmltable_column_list", "xmltable_column_el",
1797   "xmltable_column_option_list", "xmltable_column_option_el",
1798   "xml_namespace_list", "xml_namespace_el", "Typename", "opt_array_bounds",
1799   "SimpleTypename", "ConstTypename", "GenericType", "opt_type_modifiers",
1800   "Numeric", "opt_float", "Bit", "ConstBit", "BitWithLength",
1801   "BitWithoutLength", "Character", "ConstCharacter", "CharacterWithLength",
1802   "CharacterWithoutLength", "character", "opt_varying", "ConstDatetime",
1803   "ConstInterval", "opt_timezone", "opt_interval", "interval_second",
1804   "a_expr", "b_expr", "c_expr", "func_application", "func_expr",
1805   "func_expr_windowless", "func_expr_common_subexpr", "xml_root_version",
1806   "opt_xml_root_standalone", "xml_attributes", "xml_attribute_list",
1807   "xml_attribute_el", "document_or_content", "xml_whitespace_option",
1808   "xmlexists_argument", "xml_passing_mech", "within_group_clause",
1809   "filter_clause", "window_clause", "window_definition_list",
1810   "window_definition", "over_clause", "window_specification",
1811   "opt_existing_window_name", "opt_partition_clause", "opt_frame_clause",
1812   "frame_extent", "frame_bound", "opt_window_exclusion_clause", "row",
1813   "explicit_row", "implicit_row", "sub_type", "all_Op", "MathOp",
1814   "qual_Op", "qual_all_Op", "subquery_Op", "expr_list", "func_arg_list",
1815   "func_arg_expr", "func_arg_list_opt", "type_list", "array_expr",
1816   "array_expr_list", "extract_list", "extract_arg", "unicode_normal_form",
1817   "overlay_list", "position_list", "substr_list", "trim_list", "in_expr",
1818   "case_expr", "when_clause_list", "when_clause", "case_default",
1819   "case_arg", "columnref", "indirection_el", "opt_slice_bound",
1820   "indirection", "opt_indirection", "opt_asymmetric", "opt_target_list",
1821   "target_list", "target_el", "qualified_name_list", "qualified_name",
1822   "name_list", "name", "attr_name", "file_name", "func_name", "AexprConst",
1823   "Iconst", "Sconst", "SignedIconst", "RoleId", "RoleSpec", "role_list",
1824   "PLpgSQL_Expr", "PLAssignStmt", "plassign_target", "plassign_equals",
1825   "ColId", "type_function_name", "NonReservedWord", "ColLabel",
1826   "BareColLabel", "unreserved_keyword", "col_name_keyword",
1827   "type_func_name_keyword", "reserved_keyword", "bare_label_keyword", YY_NULLPTR
1828 };
1829 #endif
1830 
1831 # ifdef YYPRINT
1832 /* YYTOKNUM[NUM] -- (External) token number corresponding to the
1833    (internal) symbol number NUM (which must be that of a token).  */
1834 static const yytype_uint16 yytoknum[] =
1835 {
1836        0,   256,   257,   258,   259,   260,   261,   262,   263,   264,
1837      265,   266,   267,   268,   269,   270,   271,   272,   273,   274,
1838      275,   276,   277,   278,   279,   280,   281,   282,   283,   284,
1839      285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1840      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
1841      305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
1842      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
1843      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
1844      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1845      345,   346,   347,   348,   349,   350,   351,   352,   353,   354,
1846      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
1847      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
1848      375,   376,   377,   378,   379,   380,   381,   382,   383,   384,
1849      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
1850      395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1851      405,   406,   407,   408,   409,   410,   411,   412,   413,   414,
1852      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
1853      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
1854      435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1855      445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1856      455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1857      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1858      475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1859      485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1860      495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1861      505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1862      515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
1863      525,   526,   527,   528,   529,   530,   531,   532,   533,   534,
1864      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
1865      545,   546,   547,   548,   549,   550,   551,   552,   553,   554,
1866      555,   556,   557,   558,   559,   560,   561,   562,   563,   564,
1867      565,   566,   567,   568,   569,   570,   571,   572,   573,   574,
1868      575,   576,   577,   578,   579,   580,   581,   582,   583,   584,
1869      585,   586,   587,   588,   589,   590,   591,   592,   593,   594,
1870      595,   596,   597,   598,   599,   600,   601,   602,   603,   604,
1871      605,   606,   607,   608,   609,   610,   611,   612,   613,   614,
1872      615,   616,   617,   618,   619,   620,   621,   622,   623,   624,
1873      625,   626,   627,   628,   629,   630,   631,   632,   633,   634,
1874      635,   636,   637,   638,   639,   640,   641,   642,   643,   644,
1875      645,   646,   647,   648,   649,   650,   651,   652,   653,   654,
1876      655,   656,   657,   658,   659,   660,   661,   662,   663,   664,
1877      665,   666,   667,   668,   669,   670,   671,   672,   673,   674,
1878      675,   676,   677,   678,   679,   680,   681,   682,   683,   684,
1879      685,   686,   687,   688,   689,   690,   691,   692,   693,   694,
1880      695,   696,   697,   698,   699,   700,   701,   702,   703,   704,
1881      705,   706,   707,   708,   709,   710,   711,   712,   713,   714,
1882      715,   716,   717,   718,   719,   720,   721,   722,   723,   724,
1883      725,   726,   727,   728,   729,   730,   731,   732,   733,   734,
1884      735,   736,   737,   738,   739,    60,    62,    61,    43,    45,
1885       42,    47,    37,    94,   740,    91,    93,    40,    41,    46,
1886       59,    44,    58
1887 };
1888 # endif
1889 
1890 #define YYPACT_NINF -5214
1891 
1892 #define yypact_value_is_default(Yystate) \
1893   (!!((Yystate) == (-5214)))
1894 
1895 #define YYTABLE_NINF -2772
1896 
1897 #define yytable_value_is_error(Yytable_value) \
1898   (!!((Yytable_value) == (-2772)))
1899 
1900   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1901      STATE-NUM.  */
1902 static const int yypact[] =
1903 {
1904     7079,    25, 18712, -5214, -5214,    25, 64641, -5214, 72699,    -8,
1905      172,  1094,   177, 13896, 73173, 81705,   249,   330, 16385,    25,
1906    81705,  1070, 55635, 69855,   826, 81705,  1238,   901, 55635, 81705,
1907    82179,   737,  1083,   881, 82653, 73647, 68433,  1100, 81705,  1153,
1908      376, 83127, 74121,  1026, 74595,   901, 51867,   154,   989, 83601,
1909    81705,105335,   376, 75069, 75069, 75069,  1926,  1527,  1171, -5214,
1910    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1911    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1912    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1913    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1914    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1915    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1916    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1917    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1918    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1919    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1920    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1921    -5214, -5214, -5214, -5214, -5214,  1302, -5214, -5214, -5214, -5214,
1922    -5214, -5214, -5214, -5214, -5214, -5214,  1616, -5214,  1073,  1886,
1923     1472,   332,  1235, -5214, -5214,  1716, 64641, 81705, 81705, 81705,
1924     1463, 81705,  1376, 81705,   461, 64641, 60849, 75543,  1676,  1637,
1925    47973, 84075, -5214, 64641, 81705, 58479, 64641, 81705, 81705, 84549,
1926    81705, 85023, 81705,  1607, 71277, 81705,  1757, 81705, 81705, 58953,
1927    85497,  1932,  1249,   237, -5214, -5214, -5214, -5214, -5214, -5214,
1928    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1929    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1930    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1931    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1932    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1933    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1934    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1935    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1936    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1937    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1938    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1939    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1940    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1941    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1942    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1943    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1944    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1945    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1946    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1947    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1948    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1949    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1950    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1951    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1952    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1953    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1954    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1955    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1956    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1957    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1958    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1959    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1960    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1961    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1962    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1963    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1964    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1965    -5214, -5214, -5214, -5214, -5214,  1666,  1719, -5214,   255, -5214,
1966    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, 63219, 81705,
1967    17832,  1238,  1716, -5214,  1926, 81705,  1940, 81705,  1733, 85971,
1968    81705, -5214, 81705,  1816, 86445,   651,  1487, 60849,  1669, 48464,
1969     1931, 81705, 81705, 60849, 86919, 87393, 87867, 81705, 81705, -5214,
1970    -5214,  1934, 81705, -5214,  2096, 61323,  1539,  2103,  2229,  2154,
1971     1065, -5214, 76017, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1972    -5214, 64167,   330, -5214, -5214,  2172, 65115,  2168, -5214, -5214,
1973    88341,105795,  1997, -5214,   779, 65589, 61797,  2291,  1961, 48955,
1974     2371, -5214, 66063, -5214, 62271, 66537, -5214, -5214, -5214, -5214,
1975    -5214, 88815, -5214, 89289,  2075,  2168, -5214,106255, 62745, -5214,
1976     2280, 89763, 90237, 90711,  1716,  1952,  1645,  1323, 43151, -5214,
1977    -5214, -5214,  2049, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
1978    -5214,   310,  1861,   257,   194,   265, -5214, -5214,   197,   202,
1979      204,   310,  2497,  2497, -5214, 81705, -5214, -5214,  1861,    37,
1980     2019,  2019,  2019,  2241,    -1, -5214,  2019,  2186, -5214, -5214,
1981    -5214, -5214, 74595, -5214,  2069,  1238,  2063,  2538,  2161, -5214,
1982    -5214, -5214, -5214, -5214, 63219,  2551,  2551, 81705, -5214, -5214,
1983     2578,  2180,  2411,  2203, -5214, -5214, -5214,  2374,  2416,  2414,
1984      175,  1238,   215, -5214,  2547, -5214,  2435, 29557, 29557,  1238,
1985    76491, 91185,   208, 64167,  1238, 76965,  2248,   951,  2442, -5214,
1986    -5214, -5214,   812, -5214,  2689,  2289,  2533,  2203,  1249, 44585,
1987    -5214,  2285,  1719, 74595, -5214, -5214, -5214, 63219,  2606, 32007,
1988    81705,  2286, -5214,  2316,  2286, -5214, -5214,  2346, -5214,  2346,
1989     2346,  2320,  2320,  2518,  2328, -5214, -5214, -5214,  2178,  2346,
1990     2320, -5214,107175, -5214,  1380,  1399, -5214, -5214,  2795, -5214,
1991    -5214, -5214, -5214, -5214, -5214, -5214, -5214,  2338, -5214,   478,
1992     1704, -5214, -5214, -5214, 29557, -5214, -5214, -5214, -5214, -5214,
1993    -5214, -5214,  2345,  2353,  1472, -5214,  6322, 63219, 81705,   905,
1994      905,  2787,   905,  1533,  1559, -5214,  2126, -5214,  2685,  2642,
1995    74595,  2365,   296, -5214,  1404,  2377,  1758,  2369,  1566,  1263,
1996    -5214,   794, 81705,   222,  2415, 77439,  6389,  2384,  1719,  2385,
1997    -5214, -5214, -5214, -5214,  2548,   931, -5214, -5214, -5214, -5214,
1998     2697,  2746,  8310,   308, 77913, -5214, -5214, -5214, -5214, 81705,
1999    81705, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2000     2404,   126, -5214, -5214,  2401,  2757,  2628,  8747,   958,  2722,
2001     2584,  1230,  9458,  2644,   726,  2773, 13153,  1222,  2780,  1713,
2002     1401, 78387, 81705,  2738,  2782,  7153,  1622,   758,  2677,   979,
2003     2722,  2798,  2629,  1230,  2821,  5972, 81705, -5214,  2754,  2867,
2004       90, -5214,   191, -5214, 23240, 32007, 51393, -5214,  1719,  1802,
2005    -5214, -5214, 54687, -5214,  2560,  2704,   652, 64641,  2495, 81705,
2006    81705, -5214,105335, 64641, -5214,  2728, 49446, 64641, -5214, 64641,
2007    -5214, -5214,  2833,105335, 81705, 81705, -5214, 81705, -5214, -5214,
2008     2514, -5214, -5214, -5214, -5214,  2019, 81705,  2942,105335,  2750,
2009      110,  1456,  2985, 81705,  2755,  1456,  2568, 91659, -5214, -5214,
2010     1456, -5214, -5214, -5214, 81705, 81705,  2550,  1488,  2752,  2863,
2011     1456,  2779,  3002,  3012,  2797,  2646,  2801,  2316,  2982,  2774,
2012      995,   168,  1969,  1456,  2624, 92133, 92607, 81705,  2626, 81705,
2013     2551, 64641,  2659, 64641, 64641, 81705,  2912, 81705, -5214,  2761,
2014    -5214, -5214,  1056, -5214, -5214, -5214, -5214, -5214,  2928, -5214,
2015      157,  2929,  2586,  2931,  1661,  2933,   212, -5214, -5214,  2627,
2016    -5214,  2936,   243, -5214,  2937, -5214,  2591, 93081, -5214, 93555,
2017    94029,  2945,   268, -5214, 60849,  2946,   243,  2947,  2591,  2948,
2018      243,  2949,   833,  2952, -5214,  1031,  2939,  2955,   212,  2958,
2019     1972,  2591, -5214,  2963,   292, -5214,  2964,   333, -5214,  2968,
2020     2839, -5214, 32007, -5214,  2723, -5214,   989,  1872,  1323,  1861,
2021    -5214, 81705,  1861, 81705,  1861, 81705,  1861, 81705,  1861, 81705,
2022    81705, 81705,  1861, -5214, -5214, -5214, 81705,  2631, 81705, 81705,
2023    -5214, -5214, -5214, 70329, 60849, 70803, -5214, 81705, -5214,   119,
2024     1238, -5214, -5214,105335,  3088, 60849,  2551,  1873, -5214, 81705,
2025    81705, -5214, -5214, -5214,  2897, 81705,  2965,  2970, 70329, 60849,
2026    -5214, 94503, -5214, 64167,  2846,  2634, -5214, -5214, -5214, -5214,
2027    -5214,  1764,  3129,   277,  3132, 32007,  2643,   277,   277,  2645,
2028     2972, -5214, -5214, -5214,   263,  2647,  2648, -5214,   223,   223,
2029    -5214,  2649,  2650, -5214,   244,  2651,  2652,  3137,  3144,   252,
2030     2654,  2660,  2662,  2178,   277,  2663, 32007, -5214,  2664,   223,
2031     2665,  2668,  2673,  3150,  2674, -5214,  3166,  2676,   289,   293,
2032     2678,  2680, -5214,  2649, -5214,   258,  2681,  2684,  2686,  2688,
2033     2690,  2693,  2694,  2695, 32007, 32007, 32007, -5214, 27102,  1719,
2034     1238, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,   261,
2035    47482, -5214,  2732, -5214, -5214,  2902, -5214, -5214, 32007, -5214,
2036    -5214,   713, -5214,   266, -5214, -5214, -5214,  1719,  2977,  2702,
2037    -5214, -5214,  1359,  2707, -5214,  2152, -5214, -5214, -5214, -5214,
2038    -5214, -5214, 63693,  3168, -5214,   303,  1238,   191,  1725,  3108,
2039    53739, 54213, -5214, -5214,  2978, -5214, 81705, -5214, -5214,  1719,
2040      147,  1874, -5214,  2049, 18282,  1921,  2286, 81705, 81705,  3175,
2041    -5214,  2716, -5214, -5214, 32007, -5214, -5214, -5214,  2497, -5214,
2042     2346,  2346, -5214, -5214,  3178,  2804,  2805,  2497, -5214,  2497,
2043    -5214,  2729,  2730,  2497,  2810,  2813,  2814, -5214,  2720,  2815,
2044     2497, -5214, -5214, 56583,  1782, -5214,  3067,   316, -5214, -5214,
2045    -5214,  1963, -5214,  2739, -5214,  2316, -5214, -5214,  1472,  1472,
2046    32007,  1472,   259,  1849, 30047, 32497,  3074,  2962,  1555,  1528,
2047     3077, -5214,  2966,  1533,  1559, 74595, 81705, 94977,  2877, 32007,
2048    -5214,  3183,  2838,  2840,  2895, 52815, -5214,  2842,  2808,  2844,
2049     2900,  2762,  2852,  2854,  2910, -5214,  3036, -5214, -5214,  2859,
2050     2860, 95451, -5214, -5214,   433, -5214, -5214, -5214,   433, -5214,
2051     2788,  1333,   484,  1195,  2861,   301,   910,  3186, -5214,  1224,
2052    -5214, -5214,  2918, -5214,  5228, 81705,  3127,  7131,  2997,   308,
2053     2920, -5214, -5214, -5214,  3053,  2873, 81705,  2874,  3014,   308,
2054      287, 95925, -5214, -5214, 81705, -5214, -5214, -5214, -5214,  6911,
2055     3164, 26182, -5214,  1858,  2878,  2857,  2890, 81705, 67485,  2003,
2056     2992,  3015,  1754,  2062,   224,  2954, 81705,  1780,  3021, 81705,
2057     2806,  2888,  2889,  3115,  2817,  1314,  3217,  2822, -5214, -5214,
2058    -5214,  3185, -5214,  2155,  2228,  3016, -5214,  3128,  3172,  8498,
2059     2894,  2896,103955, -5214,  2914,   582, 49937, 81705, 81705,  2919,
2060     2922, 96399,  6911,  3210,  2938,  2940,  2924,  2925,  1081,  3230,
2061     1665,  2930, -5214, -5214, -5214,  1665,  2932,  2934, 96873,  6911,
2062     3222, 81705,  2941,  2943, 81705,107175,   308, -5214,  3292,   308,
2063      308,  1959,  3293,  2944,   338,  3098,  1337,  1456,  2822,  2167,
2064    -5214,  2951,  2956,   319, -5214,  3065, 81705,  2957,  2959,    86,
2065     3032,  1238, -5214,  3037, -5214,  2961,  3042,  2967,    48, -5214,
2066    -5214,  1325,  2971, 74595,  3055,  3063,  1780,   233,  1349,  2822,
2067    -5214,  2969,  2976,  2817,  2817, 81705, 81705, 81705, 81705, 81705,
2068      198,  3325,  3330,  2979,   192,   627,  2876, -5214,  1665, 59427,
2069     2981, -5214,  1665, 81705,   201,  1722,  2822,  1680,  1803, -5214,
2070    -5214, -5214,  1249, -5214, 32007, 32007, 32007,  2880, -5214,  1617,
2071    18282,    82, -5214,   285, 12545,  2879, -5214, -5214, -5214, -5214,
2072    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2073    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2074    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2075    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2076    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2077    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2078    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2079    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2080    -5214, -5214, 81705, 63219, -5214, -5214, -5214, -5214, -5214, -5214,
2081    -5214, 81705, -5214, 81705,  3161,105335,  3165,  3100,  3167,  3173,
2082      308, 81705, 81705,  3180,  3181,  3182,105335,  3187,  3189,  3190,
2083     3106,  2983,   135,  2980,  2907,  3372,  3257, 81705, 56583, -5214,
2084      433, -5214,105335,  3131,  3258, -5214, 81705,  3143,   106, -5214,
2085     3298,  2984, -5214, -5214,    78, 81705,   226,  2973, -5214, -5214,
2086     3265, 60849,  1250,  3266,  1238,  2974,  3270,  3140,  1238, 60849,
2087     3191, 81705, 81705, 81705, 81705,   153, -5214, 59427,  3156, -5214,
2088    81705,  3157,  2167,  3158,  3393,    69,  2019, 97347,  3267, 97821,
2089     2935, 81705,  2950,  2950,  3396,105335,  1212,  3212, -5214, -5214,
2090     1944, -5214,  3076, -5214, 64641, -5214, -5214, 64641, -5214, -5214,
2091   105335, 81705,  2986,105335,105335, -5214, -5214, 64641, 64641, -5214,
2092    60849, 60849,  3285,   292,  3286,  3003,  3288,  3005, 49937, 49937,
2093    -5214,   334, 64641, -5214, 60849, 64641, -5214, 81705, -5214, 81705,
2094    -5214, -5214, -5214, -5214,105335,105335, -5214, 60849, 59427,  3290,
2095    81705, 81705, -5214, 81705, 81705, -5214, 81705, 81705,  1971, 98295,
2096     1323, -5214, 81705, -5214, 81705, -5214, 81705, -5214, 81705, -5214,
2097    81705, -5214, -5214, -5214, 81705, -5214, 81705,  1978, -5214, -5214,
2098     1982,  1227, 81705, 81705,   209, 64641, 81705,  3170, 64641, 64641,
2099    81705, 81705, 81705, 81705, 81705,  3031,  2707,  1051, -5214,   279,
2100      453, 74595,  3176, -5214, -5214,  1996,  1926,  1137, 81705,   927,
2101    -5214, -5214, -5214, -5214, 70803, 69855,  3273,   123, 81705, -5214,
2102    -5214, 17968, 32007,  1719, 29062, -5214, -5214, 18282,  2994, 32007,
2103    32007,  2989,  2497,  2497, -5214,   998, 32007, 32007, 32007,  2497,
2104     2497, 32007,  4458, 32007, 49937, 32007, 37397, 24232, 32007, 32007,
2105    27592, -5214, 32007,  3197, 38371, 32007,  1725,  3200, 32007,  1725,
2106     4458,  3442,  3442,  1983,  7279,  2960,  1719, -5214,  2497,  1071,
2107    -5214,   262,105335, 32007, 32007, 32007, -5214, -5214, -5214, -5214,
2108    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2109    32007, -5214, 56583, -5214, -5214, -5214, -5214, -5214, -5214,  3045,
2110    -5214, -5214, -5214, -5214, -5214, -5214,  3501, -5214, -5214, -5214,
2111    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2112    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2113    81705, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2114    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2115    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2116    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2117    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2118    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2119    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2120    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2121    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2122    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2123    -5214, -5214, -5214, 28082, -5214, -5214, -5214, -5214,  2990, -5214,
2124    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2125    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,  2057, -5214,
2126    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2127    -5214, -5214, -5214, 28572, -5214, -5214, -5214, -5214, -5214, -5214,
2128    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2129    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2130    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2131    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2132    -5214,  2995, -5214, -5214, 32007, -5214, -5214, -5214, -5214, -5214,
2133    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2134    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2135    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2136    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2137    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2138    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2139    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2140    -5214, -5214, -5214, -5214, -5214, -5214,  3046, -5214, -5214, -5214,
2141    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2142    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2143    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2144    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2145    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2146    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2147    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2148    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2149    -5214, -5214, -5214, -5214, -5214, -5214, -5214,   860, 32007, 32007,
2150    32007, 32007, 32007, 32007, 32007, 32007, 32007, -5214, 32007,   309,
2151    -5214, -5214,  3277,  3300,   569,   458, 78861, 29557,  3067, 23240,
2152    -5214,   241,  3067, -5214, -5214, -5214, 81705,  3168, -5214, -5214,
2153     3048, -5214, -5214, -5214, -5214, -5214,   286, -5214, -5214, -5214,
2154    -5214, -5214, -5214, -5214,  2975, -5214, -5214, -5214, -5214,  2975,
2155    -5214,  2996,  3271,  3279,   833, 81705,  2351, 32007,  3045,   217,
2156    81705, 32007,  2990,  2057, 32007,  2995, 32007,  3046, -5214, 32007,
2157    -5214,  2000,  1962, 32007,  2004,  2998, -5214, -5214,  2987,  2730,
2158     2999,  3001,  3004,  3006,  2497,   230,  3008,   169,  1181,  3107,
2159     2497,  3219,  3009, -5214, 56583, -5214, 40283,  3025, -5214, -5214,
2160    -5214,   376, 81705, 81705, -5214,  3260, -5214,  3010, -5214, 12575,
2161     3260, -5214, -5214, 37884,  3104,  3275,  3195, -5214, -5214, -5214,
2162     3011, 18282, 32987, 32987, -5214,  2086, 18282,  2119, -5214, -5214,
2163    -5214, -5214, -5214, -5214,  1202, -5214, 81705,   698,  3074,  1528,
2164     3058,   733,  3462, 81705, -5214, 45063,  2008, -5214, 60849, 81705,
2165    81705,  3207, -5214,  3445, -5214,107175, -5214,  3020, -5214,106715,
2166   102561, -5214, -5214,   635, -5214,   575, 60849, -5214, 81705, 81705,
2167    60849, 81705, 81705, -5214, 60849, 81705, 81705, -5214, -5214, -5214,
2168    -5214, -5214, 55161,   923, 69855,  3151, 68907, -5214, -5214,  3017,
2169    81705,  3072,  3299,  3305,  1001, -5214, -5214, 98769, -5214,  3246,
2170    60849, 81705, 81705, 32007,  3255, 81705, 81705, -5214,   272,  3117,
2171     3120, -5214, 81705,  3121, 64641,  3038,105335, 64641, 50428, 64641,
2172    64641,  3369,105335, 81705, 81705,  1166, 74595,   346,  1731,  2822,
2173     3263, -5214,   863, -5214, 60849, -5214, 81705,  3254, -5214, -5214,
2174    -5214, 79335,  3492,  3159, -5214, -5214, -5214, 99243, -5214, -5214,
2175     3261, -5214,  2023, -5214, 60849, 60849, 81705,  8934, 99717,  1099,
2176     3272, -5214, -5214,105335, -5214, 81705, 79809, 81705, 81705,  3310,
2177    81705, 71751,100191,100665,  1294,  1350,  3315, 81705, 72225,  3316,
2178    -5214,  3199, 81705, -5214, -5214, 57057, 60849, 81705,  1008, 56583,
2179    -5214, -5214, 81705, -5214,   267, -5214, 81705,  4531,  3274, -5214,
2180    -5214,  3142,  3146, 81705,   351,  1779,  2822,  3430, 81705, 81705,
2181     3056,  2031, 60849, 81705, 56583, -5214,  3276,  1182, 60849, 81705,
2182    79335, -5214,  3287, 74595, 74595, 60849, 81705, 74595, -5214, 81705,
2183    91185, -5214, 60849,   918, -5214, 60849, 81705, 79335, -5214,  3289,
2184     3221, 60849, 81705, 18653, -5214, -5214, -5214,   308, -5214, -5214,
2185    -5214, -5214, -5214, 81705, 81705,   308, 81705, 81705,   308,  1197,
2186    -5214, 60849, 81705, -5214, -5214, -5214,  3198, 60849, 81705, 81705,
2187      310, 81705, -5214, 81705, 60849,  2973, 81705, 81705, -5214, 81705,
2188     7699, 81705, 81705, 81705, 81705, 81705, 81705, 60849, 81705, -5214,
2189    -5214,  1116,    79,  1750,  1785,  1481, 81705,  3371, 81705,101139,
2190    60849, 81705, 81705,  1238, 81705, 56583,  1576, -5214, -5214,  3203,
2191    -5214, 60849,   918, -5214,  9475, 81705, 81705, 81705,  3162,  3163,
2192      203,  3243, -5214, -5214, -5214,   744,   744,  3284, -5214, 32007,
2193    32007, 30537,  3079, -5214, -5214, 32007,  2560, -5214, -5214, -5214,
2194      328,  3541,   328,101613,   328,   328,  3361,  3147,  3148,   328,
2195      328,   328,  3356,   328,   328,   328, 81705,  3259, -5214, -5214,
2196     3259,   815, 32007,105335, 81705, -5214,  2051, -5214,  3096, -5214,
2197    -5214, 56583, 81705,   260,   149,  3433,  3308, 67959,  1448,  3421,
2198    81705,  3141, 81705,  3554,  3192, 74595,  2550, -5214,  1448, 81705,
2199    -5214,  2139, 69855, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2200    81705, -5214, -5214,  3423, 81705, 40761,  3280, -5214,  1238,  2550,
2201     2550,  2550,  2550,  3099,  2550, 81705,  3224,  3444,  1448,  3105,
2202     3452, -5214,  2167,  3453,  1196, 81705,  3328, 67959,  3174,  3160,
2203     3343,  3576,  2019,  1238,  3345,  3333, -5214, 53277, -5214,  2550,
2204     3592, 26642,  3432,  6825,  3335,  3397, -5214, -5214,  3341,   879,
2205    81705,  3435,  3437,  3459, -5214,   157, -5214,  3590,  1661,  3460,
2206      212, -5214,   243, -5214,  2591, -5214, 81705, -5214, 81705, 81705,
2207    81705, 81705,   268, -5214, -5214,   243,  2591,   243,   833, -5214,
2208     3405,   212,  2591,  3262,  3463,   292, -5214,   333, -5214,  3348,
2209      833, -5214,  3364,  2019, -5214, -5214, -5214, -5214, -5214, -5214,
2210    -5214,  2058, -5214, 81705, -5214,  3438,  3439,  3440,  3443,  3448,
2211     3139,  3145,  3193, 81705,  3153,  3139,   308,  3153,  3153,  3139,
2212     2707,  2707,  3139,  3145, 59901,  3613,  3468, -5214,  3228,  3154,
2213     3483,   189, -5214,   210,    60,  3407, -5214, -5214, -5214, -5214,
2214   105335, -5214, 60849,  3204,  2551,  2551,   269,  3375,  3169, 59901,
2215     3605,   833, -5214, 64641, 81705,105335, 64641,  3386, 64641, 64641,
2216   105335, 81705, 81705,  2060, -5214,  1821, -5214,  1834, 32007,   412,
2217    -5214, 14076,  2065, 32007,  3171,  3177, -5214, -5214, -5214, -5214,
2218    -5214, -5214, -5214,  3179,  3493, -5214,  2073,  2077,  2084,  3201,
2219     3205,  5727,  6225,  3206, 14150,  3188,  3208,  3211,  3184, 37397,
2220    37397, 27102,  1097, -5214, 37397,  3213,  3376,  2091, 12883,  3214,
2221     3215, 14427, 31027, 32007, 31027, 31027, 14845,  3194,  3216,  2097,
2222    56583,  3366, 14937,  2106, -5214, 32007, 56583,  6758, 32007, -5214,
2223    32007,  3218, -5214, -5214,  3729,  3729,  3729,  4458, -5214,  3202,
2224    -5214, 37397, 37397, -5214,  2829, 27102, -5214, -5214,  3502, -5214,
2225    -5214, -5214, -5214, -5214, -5214, -5214,  2641, -5214, -5214, -5214,
2226     3408,  3075, 49937,  6049, 32007,   239, 32007,  2990, 32007,  3278,
2227     3729,  3729,  3729,   486,   486,   273,   273,   273,  1998,   458,
2228    -5214, -5214, -5214,  3196,  3223,  3225,  3385,  3226, 32007, -5214,
2229     2028,  2080, 81705,  4679,  5171,  5253, -5214, -5214, -5214,  3025,
2230       82,  3025, -5214,  1249,  2497,  1071, 54687, -5214, -5214, -5214,
2231    -5214, -5214, -5214, 81705, 18282, -5214, -5214,  3450,  3227,  2110,
2232    -5214, -5214,  2497, -5214, -5214,   574,   574,  3229, -5214,  3231,
2233    -5214, -5214, -5214, -5214, -5214, -5214, -5214,  3220, -5214, -5214,
2234    -5214, 41239,  3511,  3232, 39805, 80283,  3209,  2521, -5214, 80283,
2235    80757, 80283, -5214,  3240, -5214,  1719, 32007,  3507, -5214, -5214,
2236    -5214, 32007, -5214, -5214,   475,  3248,    56,   121,  2277,  2277,
2237     2086,   838, -5214, -5214,  3295, -5214, 32007,  2175, -5214,  2311,
2238    -5214, -5214, -5214, -5214,  2707, -5214,  3455, -5214, -5214, -5214,
2239    40283,  3245,  3291,  1085, 44107,  3418, -5214, 81705, -5214, 81705,
2240      356, -5214,  3234, -5214, -5214, -5214, -5214, -5214, -5214,102561,
2241     1704, -5214,106715, -5214,106715, -5214,  1704,  3650, -5214,102561,
2242      -40, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2243    -5214, -5214, -5214, 60849, 60849,  3457, 81705,  3449,  3461, 32007,
2244      821, 81705,  3235,  3241,  1262,  3537, 81705, -5214,  3597,   833,
2245    -5214, -5214,  3331, -5214, 18282, -5214, -5214, -5214, -5214, -5214,
2246    60849, 81705, -5214, 64167, -5214, -5214,105335, -5214, -5214, 81705,
2247    81705, -5214, -5214, -5214,105335, -5214, -5214, -5214, 81705,   732,
2248     3338,  3339, 81705, -5214,  1124,  3065,  9921, 81705, 81705, 81705,
2249     3535, -5214, -5214, -5214, -5214,  3479, -5214,  3600, -5214,102561,
2250    -5214,  2591,  1544,  3344,  2822,  3489, -5214,  3606,  3675, -5214,
2251     3389,   820, -5214, -5214,  3398, -5214, -5214, -5214, -5214,  3610,
2252      833,  3611,   833, 81705, 81705, 81705, 81705,  3401, -5214, -5214,
2253    -5214, -5214,  3402,  3536, -5214, 56583, 56583, 56583,  2114, -5214,
2254    -5214,  1238, -5214, -5214, -5214, -5214, -5214, -5214,  3567, -5214,
2255     2129, -5214,  1326, -5214, -5214, -5214, -5214, -5214,  3614, 60849,
2256    81705, 10222, 81705, 81705, 81705,  3485,  1730,  1098,105335, -5214,
2257   104415, -5214, -5214,  2134, -5214,  3294, 81705,  3359, 60849,  3340,
2258    -5214, -5214, -5214,  3622,  3282,  3282, -5214, -5214,  3282, -5214,
2259    -5214, -5214,  3550,  3480, -5214,   929,  3481, 60849,  3355, -5214,
2260    -5214, -5214, -5214,  3634,  3379, -5214, -5214,  3380,  1836,  2822,
2261     2167, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2262     3406, -5214, -5214, -5214, -5214,  1231,  1231, -5214, -5214, -5214,
2263     1231,  1564,   343,  1948,  2822, -5214,   313,  1146,  3382, -5214,
2264     3384, -5214, -5214, -5214,  3555,  3556,  3557,  3390,  3392,  3451,
2265     3399,  3400,  3456, -5214,  3409,  3464,  3413,  3469,  3414,  3676,
2266      833,105335,  3545,  1238,  3446,  3667,   833, -5214,  3419, -5214,
2267     3420, -5214,  2140,  3775, -5214, 81705, -5214,   391,  1992,  2822,
2268    -5214,  3425, -5214, 60849, 81705, -5214, -5214, -5214, 32007,  3342,
2269     3346,  3347, 18282, 18282, 32007, -5214, -5214, 18282,  3350, -5214,
2270    -5214, -5214, -5214,105335, -5214, 81705,  3621, -5214, -5214,   328,
2271    81705, 81705, -5214, -5214, -5214, 81705, -5214, -5214, -5214,  3623,
2272    -5214,   471,   471, -5214, -5214,  3658,  7626,  3351,   220, -5214,
2273    56583, 46500,  1640,   158,  1456, -5214, 64167, 81705, 64167, -5214,
2274      149,  3562, 81705, 81705, 81705,  3353,  3352, -5214, -5214, -5214,
2275    -5214, 60849,   763, 60849,  2497, -5214, -5214,  3429, -5214, 81705,
2276     2019,  3840,  3687, -5214,  3282, -5214,  3808,  3012,  1250,  1783,
2277      199,  2646,  3746,  2316, 32007,   367, -5214, -5214,  1719, 81705,
2278     3160, -5214, -5214, -5214, -5214,  1238, -5214,  3360,  3362, -5214,
2279    81705,  3693, 81705, 81705, 81705, 81705,  3204,  3365, 81705,  3363,
2280   105335, 81705,  2007,  2817,  3827,  3712,  1926,  3174,  3458,  3713,
2281    74595,  3381,  2162, -5214, -5214,   879, -5214,  2194,   138, -5214,
2282     1238, 64167,103495,  3700, -5214,   548,  6825, -5214, -5214,   548,
2283      887, 81705, -5214, -5214, -5214, -5214,  3594,  2059, -5214,  3685,
2284    -5214, -5214,  1926, -5214,105335,  3373, -5214,  2198, -5214, -5214,
2285    -5214,   292,  3441,   833,  3447,   833, -5214, -5214, -5214, -5214,
2286    81705, -5214, 81705, 59427, -5214, -5214, 81705, -5214,  3721, -5214,
2287    -5214,  3516,  3521,  3522,  3523,  3527, 81705,  3139, -5214,  3387,
2288    60849,  1273, -5214, -5214,  3602, -5214, -5214, 74595,  3525, -5214,
2289    -5214, -5214, -5214,  3739,  3740, -5214, -5214, -5214,   294, -5214,
2290    81705, 81705, 60849, 70329,   205, 60849, -5214,  3674,  3679,  3682,
2291     3683,   308,  3689,  3690,  3701,  3703,  3708, -5214, -5214, -5214,
2292     3434, 15460, 32007, -5214,  3784,105335, -5214,  8128, -5214, -5214,
2293    -5214, 32007, -5214, -5214, -5214, -5214, -5214, -5214,  2100, 32007,
2294    -5214, 32007, -5214, -5214, 24728,  3920,  3920,  3467,105335, 37397,
2295    37397, 37397, 37397,  1421,  2665, 37397, 37397, 37397, 37397, 37397,
2296    37397, 37397, 37397, 37397, 37397,   555, -5214,  3638, 32007, 32007,
2297    31517, -5214, -5214,105335,  3466,  3194,  3471,  3472, 32007, -5214,
2298    -5214,  2199, 38849,  3475, 56583, -5214, 32007, 13249,  2209,  3487,
2299    15809,  1719,  8201,  1238, 32007,  1125,  1135, 32007,  2215, 32007,
2300     3767, -5214, -5214, -5214, -5214, -5214, -5214,  3673, -5214, 32007,
2301     3476,  3454, 37397, 37397,  4559, -5214,  5532, 32007, 27102, -5214,
2302     3284,  3496, 45541, -5214, 25224,  3474,   901,   901,   901,   901,
2303    -5214, 81705, 81705, 81705,  3507,  3478,  3507,   191,  3486, -5214,
2304    -5214, -5214, -5214,  1926, -5214,  3465, -5214, -5214, -5214, -5214,
2305    -5214, 80283, 80757, 80283,  3488, 39327, 25703,  2521,  3491, 81705,
2306    -5214, -5214,  3498, 40283,  3734,  3656, -5214, 40283,  3656,  1579,
2307     3656,  3737,  3574, 46019, -5214, -5214,  3500, -5214,  3668, -5214,
2308     1858, 18282,  3902,  3780, -5214,  3503, -5214,  3248,   270, -5214,
2309    -5214, -5214,   845, -5214,  3573, -5214, -5214, -5214,  3209, 33477,
2310     3640, -5214, -5214, -5214,  3561,  2217, -5214, -5214,  3910,  3640,
2311    -5214, -5214,  2230, 45063,  3245, 32007,  1719,  2240,  1798, -5214,
2312    -5214,102561, -5214,  3581,  2591,  2591,  1424,  3139,  3838,  1424,
2313     8266, -5214, -5214, 41717, 81705, 81705, -5214, 81705,  2249,  2001,
2314    81705, -5214, 81705, -5214, -5214, -5214,  3969,  3579,  3582,  3786,
2315    -5214,  2369, -5214, -5214, 60849, 81705, -5214, -5214, -5214,   393,
2316     2158,  2822, -5214,  3607, -5214, -5214,  3810, 81705, -5214,  3965,
2317     3624, 81705,  3872, 81705, 81231, -5214,  3562,  2001,  3639,  3850,
2318     1567,  2817,   338,  4282, -5214,  1609, -5214, -5214,  3608, -5214,
2319    81705, -5214, 81705, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2320     3665, -5214, -5214, -5214, -5214, 57057, -5214, -5214, 81705, -5214,
2321    56583, 46500, 56583, 81705, -5214,  1586,   403,  2225,  2822, -5214,
2322     3617, -5214,  3876,  3620,  3625,  3677,   193,  1096,  3626,  3627,
2323     3678,  3543,  3544,  3546, -5214, 56583, 46991,  3696, 81705,  2591,
2324     3538,  3587, 81705,   310,  1238, -5214, -5214,  1238,  2591,  1238,
2325    81705, 81705, 81705, 81705,   310, -5214, -5214, -5214,  3987,  3642,
2326    81705, 81705, 81705, 81705, -5214,  3609, -5214, -5214, -5214, 81705,
2327    81705,  3882,   789,  2046, 60849, 81705, 81705, 60849, 81705, 81705,
2328    81705, 81705, 81705, 81705, 81705,  3766, -5214,  3974,  3901,  2189,
2329     3944,  3633, 81705, -5214, 81705,  1238, -5214,  3065, 81705, 81705,
2330    81705, 81705, -5214, -5214, -5214, -5214, -5214,  3284, -5214,  3559,
2331     3841,   328, -5214,  3842,  3843,  3844,   328, -5214, -5214,  1456,
2332    -5214,   358, 81705, -5214,  2165, 81705, -5214, -5214, -5214,  3503,
2333     2155,  2228, -5214, -5214, -5214, -5214, -5214, -5214,  3568, 81705,
2334    81705, 37397, -5214,   418,  1453,  1030, -5214,  3836, 81705,  2973,
2335    -5214, -5214, -5214,   190, 81705, -5214, -5214, -5214, -5214,  3569,
2336    -5214,   594,  3365, -5214,  3864, 67959,  2591, 60849, 60849,  2591,
2337    -5214,105335,  3588,  3160, -5214,   340,  3680, 60849,  1250,102087,
2338     2974,  3628,  3787,  9214, 40283, 40761,  1231, -5214,  3593,  3585,
2339    -5214, -5214, 81705,  3562, 59427,  2253,  2167,  4052,   745,  1952,
2340    -5214, 69381,  3788,  3365,  3864, -5214,  2817,  3812,  3806, -5214,
2341     1926, 81705,  3204,  3160,  1238, 81705,  3072, 46500, -5214,  4092,
2342     2061, -5214,102561, 32007, 32007, -5214,  3599, -5214,  3601,  6825,
2343    -5214,  3681,  3604,  4058, 32007, -5214, -5214, -5214, -5214, -5214,
2344    -5214, -5214, -5214,  3694,  3612, 81705, 81705,   879, 81705, -5214,
2345     3616,  3460, -5214,  3460, -5214, 81705, -5214, 81705, -5214,   833,
2346    -5214,  3741,   833, 81705, 81705, 81705, 81705, 81705, 81705,  3139,
2347      308, -5214,  3925, 59901,  3468, -5214,  2259, 81705, -5214, -5214,
2348    -5214,  4000, -5214, -5214,   123,  3943,   833, -5214,   937,   937,
2349      937,   937,  3898,   937,   937,   937,   937,   937, -5214, 32007,
2350    18282, -5214,  3619, -5214, 18282,  3630,  9279, 16439, -5214,  2272,
2351    32007, -5214,   970,   970,   970,  2745,  3946, -5214,  2403,   970,
2352      970,   970,   357,   357,   235,   235,   235,  3920,   555, 16565,
2353    17104, 17224,  3631, -5214, -5214, -5214,  3194, -5214, 33967,    66,
2354     4061, 38371, -5214, -5214, -5214,  3666,  3669,  3635, -5214, 32007,
2355    34457,  3641,107175,  3825, -5214,   981, 32007, 32007,  6451, -5214,
2356     8389, 32007, -5214,  6451,   318, 32007,  1900,  2160, 32007, 32007,
2357     6031,  9404,  3636, 32007,103021, -5214, -5214, -5214,  2283, 32007,
2358    81705, 81705, 81705, 81705, -5214, -5214, -5214,  3780,  1238,  3780,
2359     1238,  3637, -5214, -5214, -5214, -5214, 57531,  3629,  3366, 80283,
2360     3643, 81705,  2521, 40283, -5214, -5214,  2499, -5214, 40283,  3903,
2361    -5214, 40283, 64641, -5214, 81705,  3647, 81705, -5214,   905, 32007,
2362     3670, 49937, -5214, -5214, -5214, -5214,  3722, -5214,  3852, 18282,
2363    29557, -5214,  1926,  1489, 81705,  1719,    74, -5214,  3649, 81705,
2364    -5214,  3640, 18282, -5214,  3699,  2287, -5214, -5214, -5214, -5214,
2365    -5214, -5214, -5214,  3726, 69855,  3973, -5214, 32007,  2295, -5214,
2366     3691,  4069,   325,  2296,  2301,  2001, -5214,  3951, -5214,  1482,
2367     3947,   196, -5214,   833, -5214,105335, 81705, 81705, 81705,  2762,
2368    -5214, -5214, 81705, 81705, 81705, 81705, -5214, -5214, 60849, 81705,
2369    -5214, 81705, -5214, -5214, -5214, -5214,   310,   418,  3960,  3961,
2370     3880, -5214,   308, -5214,   418,  3881,   310, 81705, -5214, -5214,
2371    -5214,  2148, -5214,105335,   833,   833, -5214, -5214, -5214, -5214,
2372    -5214,  3671, -5214,  4098,  3753, 81705, 81705, 81705, 81705, 81705,
2373    60849, 81705, 81705,  2497,  2497,105335,  3659, -5214,  2497,  2497,
2374     3660, -5214, 60849, 81705, 81705, -5214, -5214, -5214, -5214, -5214,
2375    -5214, -5214, -5214, -5214, -5214, -5214,  3749, -5214, 32007,  4097,
2376    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2377    -5214, 60849, 81705,  3750, -5214,  3756, -5214,   132, -5214, -5214,
2378    81705, 81705, 81705, 81705,  4017, -5214, -5214, -5214, -5214, -5214,
2379    -5214, -5214, -5214, -5214, -5214, -5214,  4015, 81705, -5214, -5214,
2380     1238,  1238,105335,   833,   833, -5214, -5214, -5214,  3759, -5214,
2381    -5214,  3684,  3955,   328, -5214,   328,   328,   328, -5214,  3688,
2382    -5214,  1456,  4050, -5214,  2001,   856,  4002, -5214, 32007, -5214,
2383     1657,  2745, -5214,  4059,  4141, -5214, -5214, -5214, -5214,  2973,
2384     2019,  3742, -5214, -5214, 64641,  1228, -5214,  3985,   260, 56583,
2385     3907, 67959,   313,  1685,  3695,  3818, -5214,  2591,  2591,  3751,
2386    81705,  4154, -5214, -5214, -5214, -5214, -5214, -5214, 60849,  3340,
2387    -5214,  3924,   827,  4026, 81705, 40761, -5214,  3209, -5214, -5214,
2388    -5214,  1238, -5214, -5214,  3828,  3160, -5214,  1254, 81705,  3917,
2389    67959,  3204,  2321, -5214, -5214, -5214,  3743,  4140,  3174, -5214,
2390      313,  3788, -5214, -5214,  4117,  3797,  3747,  4165, -5214,  3797,
2391     4032,  3921,  3710, -5214,  3381, -5214, 81705, -5214, 18282, 18282,
2392     1238,107635,   548,105335,  4041, -5214, 18282, 81705,   160,  3709,
2393     3878, -5214,  4004,   833,  2322, -5214,   833,   833, -5214, 81705,
2394    -5214,  3139,  3139,  3139,  3139,  3139, -5214,  3926, -5214, -5214,
2395    -5214,  3996, -5214,   833, 59901, -5214, -5214, -5214, -5214, -5214,
2396    -5214, -5214,   937, -5214, -5214, -5214, -5214, -5214, 18282, -5214,
2397    -5214, -5214, 32007, -5214,  9888, 37397,  4053, -5214, 32007, 32007,
2398    32007, -5214,  3727,  2326,  2339, -5214, -5214,    66, -5214,  4061,
2399    -5214, -5214, -5214,  9924,  3785, 18282,  3845,  3728,  3731,  6451,
2400     6451,  8389,  6451, 32007, 32007,  6451,  6451, 32007, -5214, -5214,
2401    10256,  3928, -5214, -5214, 10621, -5214, -5214, -5214, -5214,  3670,
2402    -5214,  3670, -5214,  3871, -5214,  2349,  4197, 36417,  4155, -5214,
2403    81705,  2354, -5214, 32007,  3744, -5214, -5214, 40283,  2499,  3745,
2404     2355, 81705,  2366,105335, 34947, 18282, 81705,  3284,  3738, -5214,
2405    81705,  2702, -5214,  1085, -5214, -5214,  4147, 41717,  4104, 32007,
2406    -5214, -5214, -5214, -5214, 59901,  3956, 59901,  2001, 10854,  3951,
2407    41717, 50919, 81705, -5214, 81705, -5214,  3911,  3951,  3748,  2973,
2408    -5214, -5214, -5214, -5214, -5214, -5214,  3754, -5214, -5214, -5214,
2409    -5214,  3833, -5214, -5214,    22,  3176, -5214,  1640, -5214,  4210,
2410     4100,  4101, -5214, -5214, -5214, -5214, -5214, -5214,  3974, -5214,
2411    -5214, 46500, 60849, 81705, -5214,  3846, -5214, -5214, -5214, -5214,
2412    -5214, -5214, 43629, 49937, -5214,   193,  3758,  3760,  1096, -5214,
2413    -5214, -5214, 81705, 11138,  3761,   620,  3176, 81705, 81705,  3763,
2414     3764,  3768,   -10,  1307,  1829,  3139,  4089, 81705, -5214, -5214,
2415    -5214,  3974, -5214, -5214, 81705, -5214,   328, -5214, -5214, -5214,
2416    -5214, 56583, -5214,  2692,  3688,  1238, 64641,  4226,  4226, 11157,
2417     3990, -5214, -5214,   111,  3742,  4022,  4071, -5214,  3772, 81705,
2418      190,  3776,  2378, -5214, 81705,  3777,  3905,  1652,  1652, 81705,
2419    81705, 81705,  2389,  1926,  2591,  3587,  1250,  4123, 67959,  4166,
2420     3562,   369, -5214, 81705,  4241, 81705,  3204,  3365, 81705,  3781,
2421    -5214, -5214, 69381,  3992,  1640, 81705,  2007,  3788,  3174,  1327,
2422    81705, -5214,  1303, -5214,  1926, -5214, 81705, 74595, 41717,  4111,
2423    -5214,106715, -5214,  2390, -5214, -5214, -5214,  3861, 19226,  3025,
2424     3906,  3908,  3790,  1818,  4125, 81705,   155, -5214, -5214, -5214,
2425    -5214, -5214, -5214, 81705, -5214,   205, -5214, 17598, -5214,  3591,
2426    37397, 18282, 18282, 18282, 32007, -5214, 32007, -5214, -5214, -5214,
2427    -5214,    87, -5214, -5214,  6451,  6451,  6451, -5214,  4232,  3284,
2428    -5214, -5214, -5214,  1509,  4184,  3240, 57531,  3800, -5214, 37397,
2429     2396, -5214,  2319, 81705,  2397, -5214, 18282, 81705, -5214, -5214,
2430    32007, -5214,  2410, -5214,  3801,   930,  3802, 23736,  3799, -5214,
2431    -5214, -5214, -5214, -5214, 18282,  3803, -5214,  4264,  1528, -5214,
2432    -5214,  3863, 81705,  2422, -5214,    89, 18282,  1273,  1424,   337,
2433     4069,  2973, -5214,  3811, -5214, -5214,  2817,  1503, 81705,  2973,
2434    81705,  3742, -5214, 81705,  3899, -5214,  4122, -5214, -5214,  3875,
2435    -5214,   895,  3176, 81705,105335, -5214,   171,  4146, -5214,105335,
2436   105335, -5214, -5214, -5214, 32007,  3912, -5214, -5214, -5214, 32007,
2437    32007, 67011, -5214, -5214, 81705, 81705, 81705, 81705, 81705, -5214,
2438      833, -5214, -5214,  2426, -5214, 42673, -5214, -5214,  2985,  1238,
2439     2985,   173, -5214, -5214,  2985,  2985, -5214,  3025, -5214,  4226,
2440      321, -5214, -5214,  4049,  3820, 32007, -5214,  1145,  4031,  3914,
2441     3822, -5214, 64641,  4317, -5214, 56583,  3365,  3864, 81705, -5214,
2442    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,
2443    -5214,  2443,  3562,  4164,  3160,  3747, -5214, 81705,  3866, -5214,
2444    40283,  3562,  1926,  1952, -5214,  3788,  3365,  3864, -5214, -5214,
2445     3830,  3806,  3174,  2007,  3972, -5214,  3976, -5214,  4258,  4046,
2446     4265,  3204, -5214,  3072,  2444, 81705, -5214, -5214,  6825,107635,
2447   105335, -5214, -5214, -5214,  3835,  4206,  3886,  3887, -5214, -5214,
2448    -5214,  1818, -5214,  1360,  4205,  3893, -5214,  3913, 81705, -5214,
2449    -5214,  3562,   833, 32007,  3591,  2445,  2450,  3904, -5214, 32007,
2450      985,  4183,  4185, 81705, -5214, -5214, -5214, 81705,  2745,  3851,
2451    36417, 56583,  2451, -5214,104875, -5214,  2455,  2456, -5214, 32007,
2452     3854, 32007, -5214, 34947, 81705,  3856,  3074,  1926, -5214,  3025,
2453    41717, -5214,  3983, -5214,  4186, -5214, -5214,  3742, 49937,  1503,
2454     3248,  2019,  3742,  2457, -5214, -5214, 81705,  3820, 32007, -5214,
2455     3952, -5214, -5214,  2498,  1163,  4028,  4028,  2500,  2504, 11349,
2456    81705,  2506,  2513, -5214,  2520,  2497,  3145,  1829,  3145, -5214,
2457     3139, -5214, -5214, 56583, -5214, 60375, -5214, -5214, -5214,  1238,
2458    -5214,  1238,  4085, 81705, 52341,  1238,  1238, -5214, -5214, -5214,
2459    -5214,  4158, -5214,  2167, -5214, 11368, -5214, -5214, -5214,   384,
2460    -5214,  4077,  4078, 81705, -5214,  3868, -5214,  2525, -5214,   313,
2461     3994,  3562, -5214, -5214, 81705,  4329,  4331, -5214,   949, 81705,
2462     3209, -5214,  3747,  3204,  3174,   313,  3788,  1640, 42195,  3797,
2463     2007,  3806, -5214, -5214,  4082, -5214,  4083, -5214,  3877,  4175,
2464    -5214,  1536,   548, -5214, -5214, -5214,   848,  4207,  4209, -5214,
2465    -5214, -5214,  2985, -5214,  1368,  3888,  4227, -5214, -5214, -5214,
2466    -5214, 18282, -5214, -5214, -5214,  3194, 35437, 35437, 35437,  3889,
2467     4326,  4328,   988,  2531, 38371, -5214, -5214, -5214, 81705,  4103,
2468      994,  4354,  4056,  2537, 34947,  2539, -5214, -5214, -5214, -5214,
2469    -5214, -5214, -5214, 45063, 59901,  3948,  3909,  3248, -5214,  4022,
2470    -5214, -5214,  2001,  3176, -5214, 18282, 81705, 64641,  4338, -5214,
2471    -5214, -5214, -5214, -5214, -5214, -5214,  3176,  3984, -5214, -5214,
2472    67011, -5214, 81705, -5214, -5214,  2543, -5214, -5214, -5214, 81705,
2473     3709, -5214,  3709, -5214, -5214, -5214,   976,  4007,   813,   813,
2474     4280, -5214,  3970, -5214, -5214,  3915, -5214,  4398,  4037, 81705,
2475    -5214, -5214,   193,  1926, 67959,  3562, -5214, -5214,  2007,  3788,
2476     3174, 32007,  2544, -5214,  4069,   325, -5214,  3806,  3797, -5214,
2477    -5214, 41717,  3918,  3160,  4270, -5214, -5214, -5214,  2347, 64641,
2478    64641, 81705, -5214, -5214, -5214, 32007,   190, 36907,  4055,   859,
2479    13921,  4263, -5214,  4263,  4263, -5214, 81705, 81705, 81705, -5214,
2480     3366, -5214, -5214, 37397, 37397,  4142, -5214,   994, -5214, 81705,
2481    -5214,  3922, -5214, -5214,  2545, -5214,  1606,   337,  3923, -5214,
2482    -5214, -5214,  4031,  2001, -5214,  3176, -5214, 81705, -5214,  3927,
2483    -5214, -5214, -5214, 60375,  3709, -5214, -5214, -5214,  4399, -5214,
2484      295, -5214, -5214, -5214, -5214, 81705,  3562,  3659,  3747, -5214,
2485     3806,  3174,  2007, 11691, -5214, 42195, 81705, 81705,  3797, -5214,
2486     2555, 41717,  3797,  4068, -5214,  2043, -5214, -5214, -5214, -5214,
2487    -5214, -5214, -5214,  3929,  3931, -5214, -5214, 11867, 64641,  4391,
2488    -5214, -5214, -5214, -5214, -5214,   839, -5214, -5214, -5214,  1175,
2489     1201,  1711,  4346,  2745,  2745, -5214, -5214, -5214, 32007, -5214,
2490    -5214, -5214, 32007,  2001, -5214, -5214, -5214, 32007, -5214, -5214,
2491    -5214, -5214,  3562, -5214, -5214,  3797,  2007,  3806,  4069, -5214,
2492    -5214, -5214, -5214, -5214,  4175, -5214,  2556,  3025,  3893,  2142,
2493    -5214, -5214,  2177,  2353,  4016,  4261, -5214,  3937, 35927,  4080,
2494    -5214,  4144, -5214, 81705, 81705, 58005, 81705, 81705, 12199, 12260,
2495     2001,  2557, -5214, -5214,  3806,  3797, 81705,  3160, -5214, 41717,
2496    -5214,  4287, -5214,  2043,  4057,  4060, 56109, -5214, -5214, -5214,
2497    -5214, -5214,   288,  4323, -5214,  2562, -5214, -5214, -5214,  3797,
2498    -5214, -5214,  3797, -5214,   190, -5214,  3986,  3988, -5214,  2566,
2499    -5214, -5214, -5214, -5214, 32007, 58005, -5214, -5214,  3025, 64641,
2500     4271,  4272, -5214, 56109,   744,  4010, -5214,  3953, 64641, 64641,
2501    -5214,  3950, 81705, 56109, -5214, -5214,  1238, -5214,  2567, -5214
2502 };
2503 
2504   /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
2505      Performed when YYTABLE does not specify something else to do.  Zero
2506      means the default is an error.  */
2507 static const yytype_uint16 yydefact[] =
2508 {
2509     1652,  1418,   639,  1505,  1504,  1418,     0,   261,     0,  1515,
2510        0,  1418,   424,  1084,     0,     0,     0,     0,   639,  1418,
2511        0,  1652,     0,     0,     0,     0,     0,  1665,     0,     0,
2512        0,     0,     0,     0,     0,     0,     0,  1418,     0,     0,
2513     1672,     0,     0,     0,     0,  1665,     0,  1517,     0,     0,
2514        0,     0,  1672,     0,     0,     0,     0,     0,     2,     9,
2515       10,    45,    80,    81,    38,    37,    98,    63,    24,    71,
2516      132,   131,   133,    50,    46,    88,    33,    35,    47,    51,
2517       73,    75,    40,    53,    64,   110,    72,    31,    70,    76,
2518       96,    58,    19,    20,    59,    21,    60,    22,    61,   106,
2519       82,    99,    43,    69,    30,    52,    78,    79,    12,    54,
2520       86,    18,    65,    66,    68,    91,    92,    93,   115,    94,
2521      127,    49,   124,   103,   104,   121,   105,   122,    16,   107,
2522       62,    23,   118,   117,   119,    89,    55,    90,    77,    97,
2523      116,    34,   120,    25,    26,    28,    29,    27,    67,    36,
2524       74,    39,    95,   123,   113,   109,   128,   126,    11,   134,
2525      111,    83,    14,    15,   100,    13,    32,    57,    17,    42,
2526       41,    56,    48,   130,    44,  1515,   102,   114,   101,    84,
2527      108,    87,   112,   129,    85,   125,  1616,  1615,  1676,  1619,
2528     1651,     0,  1631,  1417,  1416,  1431,     0,     0,     0,     0,
2529        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2530        0,     0,   638,     0,     0,     0,     0,     0,     0,     0,
2531        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2532        0,     0,  1428,  2268,  2285,  2286,  2287,  2288,  2289,  2290,
2533     2291,  2292,  2293,  2294,  2295,  2296,  2297,  2298,  2300,  2299,
2534     2301,  2302,  2642,  2303,  2304,  2305,  2591,  2592,  2643,  2593,
2535     2594,  2306,  2307,  2308,  2309,  2310,  2311,  2312,  2313,  2314,
2536     2595,  2596,  2315,  2316,  2317,  2318,  2319,  2597,  2644,  2320,
2537     2321,  2322,  2323,  2324,  2325,  2645,  2326,  2327,  2328,  2329,
2538     2330,  2331,  2332,  2333,  2334,  2646,  2335,  2336,  2337,  2647,
2539     2338,  2339,  2340,  2341,  2342,  2343,  2598,  2599,  2344,  2345,
2540     2346,  2347,  2348,  2349,  2350,  2351,  2352,  2353,  2354,  2355,
2541     2356,  2357,  2358,  2359,  2360,  2361,  2362,  2363,  2364,  2365,
2542     2366,  2367,  2368,  2369,  2370,  2371,  2600,  2372,  2373,  2374,
2543     2375,  2601,  2376,  2377,  2378,  2379,  2602,  2380,  2381,  2382,
2544     2648,  2649,  2383,  2384,  2385,  2386,  2387,  2603,  2604,  2388,
2545     2389,  2390,  2391,  2392,  2393,  2394,  2650,  2395,  2396,  2397,
2546     2398,  2399,  2400,  2401,  2402,  2403,  2404,  2405,  2406,  2651,
2547     2605,  2407,  2408,  2409,  2410,  2606,  2607,  2608,  2411,  2652,
2548     2653,  2412,  2654,  2413,  2414,  2415,  2416,  2417,  2418,  2609,
2549     2655,  2419,  2656,  2420,  2421,  2422,  2423,  2424,  2425,  2426,
2550     2427,  2428,  2429,  2430,  2431,  2432,  2433,  2434,  2435,  2436,
2551     2437,  2438,  2610,  2657,  2611,  2439,  2440,  2441,  2442,  2443,
2552     2444,  2445,  2612,  2613,  2446,  2447,  2448,  2658,  2449,  2614,
2553     2450,  2615,  2451,  2452,  2453,  2454,  2455,  2456,  2457,  2458,
2554     2459,  2460,  2616,  2659,  2461,  2660,  2617,  2462,  2463,  2464,
2555     2465,  2466,  2467,  2468,  2469,  2470,  2471,  2472,  2618,  2473,
2556     2619,  2476,  2474,  2475,  2477,  2478,  2479,  2480,  2481,  2482,
2557     2483,  2484,  2485,  2486,  2620,  2487,  2488,  2489,  2490,  2491,
2558     2492,  2493,  2494,  2495,  2496,  2497,  2498,  2499,  2500,  2501,
2559     2502,  2503,  2504,  2505,  2661,  2506,  2507,  2508,  2509,  2510,
2560     2621,  2511,  2512,  2513,  2514,  2515,  2516,  2517,  2518,  2519,
2561     2520,  2521,  2522,  2523,  2524,  2525,  2526,  2622,  2527,  2528,
2562     2662,  2529,  2530,  2623,  2531,  2532,  2533,  2534,  2535,  2536,
2563     2537,  2538,  2539,  2540,  2541,  2542,  2543,  2544,  2624,  2545,
2564     2546,  2547,  2548,  2663,  2549,  2550,  2551,  2552,  2553,  2554,
2565     2625,  2626,  2555,  2556,  2627,  2557,  2628,  2558,  2559,  2560,
2566     2561,  2562,  2563,  2564,  2565,  2566,  2567,  2568,  2569,  2570,
2567     2571,  2572,  2573,  2574,  2575,  2629,  2630,  2576,  2664,  2577,
2568     2578,  2579,  2580,  2581,  2582,  2583,  2584,  2585,  2586,  2587,
2569     2631,  2632,  2633,  2634,  2635,  2636,  2637,  2638,  2639,  2640,
2570     2641,  2588,  2589,  2590,   136,     0,     0,  2235,  2269,  2270,
2571     2273,  2268,   396,   395,  1605,  2232,  2269,  1514,     0,  1494,
2572      639,     0,  1431,   423,  1652,     0,     0,     0,     0,     0,
2573        0,   855,     0,     0,     0,     0,     0,     0,     0,     0,
2574        0,     0,     0,     0,   184,     0,     0,     0,     0,   447,
2575      446,     0,     0,  1050,   452,     0,     0,     0,     0,     0,
2576      629,  1554,  2474,  1552,  1606,   262,   265,   266,   263,   264,
2577     2251,     0,  1196,  1197,  1199,     0,     0,  1209,   895,   896,
2578        0,     0,     0,   909,     0,     0,     0,   893,     0,     0,
2579        0,   915,     0,   912,     0,     0,   916,   913,   890,   914,
2580      897,     0,   889,     0,     0,  1209,   917,     0,     0,   891,
2581        0,     0,     0,     0,  1431,  1551,   453,  1652,     0,  1536,
2582     1537,  1538,  1515,  1527,  1539,  1532,  1534,  1533,  1535,  1531,
2583     2250,  2286,   985,   985,   985,   985,   982,   983,   985,   985,
2584      985,  2494,     0,     0,   964,     0,   966,  2252,   985,   990,
2585      521,   521,   521,     0,   989,   994,   521,     0,  1399,  1440,
2586     2234,  1664,     0,   965,  1398,  2555,  1542,     0,     0,  1224,
2587     1220,  1222,  1223,  1221,     0,  1053,  1053,  2513,  1408,   246,
2588     2524,  2625,  2555,   245,   240,   241,   214,  2290,     0,     0,
2589      989,     0,  1431,  1406,   961,  1671,  1669,     0,  2219,  2313,
2590     2329,  2422,   237,  2506,  2514,  2524,  2625,  2555,  2587,   193,
2591      203,   198,     0,   255,  2524,  2625,  2555,   251,  1428,     0,
2592     1632,  1779,  2228,     0,  1401,  1400,  1516,     0,  1519,     0,
2593     2489,  1636,  1639,  1521,  1637,  2271,  1854,  1883,  1861,  1883,
2594     1883,  1850,  1850,  2359,  1863,  1851,  1852,  1888,     0,  1883,
2595     1850,  1855,     0,  1853,  1891,  1891,  1878,     3,  1835,  1836,
2596     1837,  1838,  1864,  1865,  1839,  1870,  1871,  1875,  1840,  1905,
2597     1850,  2272,  1673,  1674,  2219,     4,  2265,     5,  2214,  2264,
2598        6,     7,  1628,     0,     0,     1,  1652,     0,  1526,  1668,
2599     1668,     0,  1668,     0,  1620,  1628,  1623,  1627,     0,     0,
2600        0,     0,     0,  1402,     0,     0,     0,   920,     0,  1443,
2601     1035,     0,     0,     0,     0,     0,  1293,     0,  1093,  1092,
2602     2274,  2257,  2258,  2259,     0,  2255,  2256,  2275,  2276,  2277,
2603        0,  2394,  1293,     0,     0,  2130,  2141,  2142,  2143,  2317,
2604     2376,  2138,  2139,  2140,  2132,  2133,  2134,  2135,  2136,  2137,
2605        0,     0,  1191,  2131,     0,  2394,     0,  1293,     0,   163,
2606        0,   140,  1293,     0,     0,  2394,     0,     0,  2394,     0,
2607        0,     0,     0,     0,  2394,     0,     0,     0,     0,     0,
2608      163,  2427,     0,   140,  2394,     0,     0,  1422,     0,     0,
2609        0,  1424,  1427,  1414,     0,  2211,     0,  2212,  2236,     0,
2610     1508,  1502,  1511,  1507,  1497,     0,  2228,     0,     0,     0,
2611        0,   903,     0,     0,   893,     0,     0,     0,   904,     0,
2612      905,   906,     0,     0,     0,     0,   902,     0,  1412,  1404,
2613        0,  1544,  1546,  1545,  1543,   521,     0,     0,     0,  2394,
2614        0,   140,  1481,     0,  2394,   140,     0,     0,   451,   450,
2615      140,  2255,   449,   448,  2317,  2376,     0,  1083,     0,  1358,
2616      140,  2394,     0,   186,  2394,   698,  2394,  1521,     0,   642,
2617        0,   810,  2427,   140,     0,     0,     0,     0,     0,     0,
2618     1053,     0,     0,     0,     0,     0,     0,     0,   628,   639,
2619     1555,  1553,     0,  1200,   239,   238,  1198,   907,  2394,  1125,
2620      357,     0,     0,  2394,  1462,  2394,   357,   924,   908,     0,
2621      894,  2394,   357,  1089,  2394,  2260,   173,     0,   892,  2317,
2622     2376,  2394,   357,  1193,     0,  2394,   357,  2394,   169,  2394,
2623      357,  2394,   357,  2394,   643,     0,     0,  2394,   357,  2394,
2624     2427,   171,   911,  2394,   357,   918,  2394,   357,  2230,  2394,
2625        0,  1415,     0,  1547,     0,  1529,  2629,     0,  1652,   985,
2626      984,     0,   985,     0,   985,     0,   985,     0,   985,     0,
2627        0,     0,   985,  2253,  2254,   967,     0,   991,     0,     0,
2628      998,   997,   996,     0,     0,     0,   999,     0,  1783,  1582,
2629        0,  1396,  1411,     0,     0,     0,  1053,     0,  1052,     0,
2630        0,  1407,   244,   242,     0,     0,     0,     0,     0,     0,
2631     1413,     0,  1405,     0,     0,     0,  2238,  2240,  2241,  2144,
2632     2214,     0,  2592,  2593,  2594,  2203,     0,  2595,  2596,  2597,
2633     2644,  2034,  2021,  2030,  2035,  2022,  2024,  2031,  2598,  2599,
2634     1972,  2600,  2601,  2248,  2602,  2603,  2604,  2606,  2607,  2608,
2635     2609,  2026,  2028,  2610,  2611,  2613,     0,  2249,  2614,  2615,
2636     2456,  2617,  2618,  2620,  2621,  2032,  2623,  2624,  2625,  2626,
2637     2627,  2628,  2247,     0,  2033,  2630,  2632,  2633,  2634,  2635,
2638     2637,  2638,  2639,  2640,     0,     0,     0,  2225,     0,  2001,
2639        0,  1843,  1844,  1866,  1867,  1845,  1872,  1873,  1846,     0,
2640     2224,  1908,  2089,  2000,  2017,     0,  2006,  2007,     0,  1999,
2641     1995,  1654,  2220,     0,  1996,  2237,  2239,  2204,  1654,  2218,
2642      206,   257,     0,   258,  2226,  2524,   194,   236,   208,   235,
2643      209,   207,     0,  2315,   195,     0,     0,   196,     0,     0,
2644        0,     0,   254,   252,     0,  1403,     0,  1781,  1780,  2229,
2645      929,     0,  1518,  1515,  2154,     0,  1638,     0,     0,     0,
2646     1882,  1869,  1877,  1876,     0,  1859,  1858,  1857,     0,  1856,
2647     1883,  1883,  1881,  1860,  1835,     0,     0,     0,  1887,     0,
2648     1885,  1831,  1827,     0,  1894,  1895,  1896,  1893,  1906,  1892,
2649        0,  1841,  1897,     0,  1850,  1847,  1739,     0,  1618,  1617,
2650        8,     0,  1523,  1525,  1500,  1521,  1666,  1667,     0,     0,
2651        0,     0,     0,     0,     0,     0,  1726,  1684,  1685,  1687,
2652     1723,  1727,  1735,     0,  1624,     0,     0,  1785,     0,     0,
2653     1429,     0,     0,     0,     0,     0,  1124,     0,     0,     0,
2654        0,   921,     0,     0,     0,  1449,     0,  1451,  1452,  1453,
2655        0,     0,  1454,  1455,  1443,   248,  1461,  1459,  1442,  1444,
2656     1457,     0,     0,     0,     0,     0,     0,     0,  1473,     0,
2657      177,   178,     0,   655,   639,     0,  2394,     0,     0,     0,
2658        0,  1134,  1141,  1292,     0,     0,     0,     0,     0,     0,
2659        0,     0,  1135,  1133,     0,  1136,   250,  1146,  1173,  1176,
2660        0,     0,  1091,  1094,     0,     0,     0,     0,     0,  1283,
2661        0,     0,     0,  1283,     0,     0,     0,  1292,     0,     0,
2662        0,     0,     0,     0,     0,     0,     0,   273,   275,   288,
2663      352,     0,   620,     0,     0,     0,   623,     0,  2394,  1293,
2664        0,     0,     0,  1195,     0,     0,     0,     0,     0,     0,
2665        0,     0,  1176,     0,     0,     0,     0,     0,     0,     0,
2666        0,     0,   138,   139,   144,     0,     0,     0,     0,  1176,
2667        0,     0,     0,     0,     0,     0,     0,   606,   619,     0,
2668        0,     0,     0,     0,   616,     0,     0,   140,   278,   596,
2669      602,     0,     0,     0,   705,   704,     0,     0,     0,     0,
2670        0,     0,  1373,     0,  1372,     0,     0,     0,     0,  1471,
2671     1470,     0,     0,     0,     0,     0,     0,  1283,     0,   267,
2672      269,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2673        0,     0,     0,     0,     0,     0,   388,   389,     0,     0,
2674        0,   144,     0,     0,  1283,     0,   280,     0,     0,  1423,
2675     1420,  1421,     0,  1426,     0,     0,     0,     0,  2009,     0,
2676     2158,  1676,  2156,  1109,  2210,     0,  2278,  2665,  2666,  2667,
2677     2668,  2669,  2670,  2671,  2672,  2673,  2674,  2675,  2676,  2677,
2678     2678,  2679,  2680,  2681,  2682,  2683,  2684,  2685,  2686,  2687,
2679     2688,  2689,  2690,  2691,  2692,  2693,  2694,  2695,  2696,  2697,
2680     2698,  2699,  2700,  2701,  2702,  2703,  2704,  2705,  2706,  2707,
2681     2708,  2709,  2710,  2711,  2712,  2713,  2714,  2715,  2716,  2717,
2682     2718,  2719,  2720,  2721,  2722,  2723,  2724,  2725,  2726,  2727,
2683     2728,  2729,  2730,  2731,  2732,  2733,  2734,  2735,  2736,  2737,
2684     2738,  2739,  2740,  2741,  2207,  2206,  2233,  2279,  2280,  2281,
2685     2282,  2213,     0,     0,   225,   226,   224,  1509,   227,  1510,
2686     1506,     0,  1492,     0,     0,     0,     0,     0,     0,     0,
2687        0,  2317,  2376,     0,     0,     0,     0,     0,     0,     0,
2688        0,     0,     0,     0,     0,     0,     0,     0,     0,   818,
2689     1443,  1480,     0,     0,     0,   648,     0,  2394,     0,   142,
2690      856,     0,   808,   452,     0,     0,     0,  1166,  1357,   142,
2691        0,     0,   180,     0,     0,   702,     0,     0,     0,     0,
2692        0,     0,     0,     0,     0,     0,   809,     0,     0,   142,
2693        0,  2394,   599,  2394,     0,   521,   521,     0,     0,  1055,
2694        0,     0,     0,     0,     0,     0,     0,     0,  1610,  1609,
2695     1612,  1611,     0,  1608,     0,   355,   356,     0,  1183,  1208,
2696        0,     0,     0,     0,     0,   885,   910,     0,     0,  1177,
2697        0,     0,  2394,   357,  2394,     0,  2394,     0,     0,     0,
2698     1185,   357,     0,  1179,     0,     0,  1181,     0,  1374,     0,
2699      901,   899,   898,   900,     0,     0,   883,     0,     0,     0,
2700        0,     0,   878,     0,     0,   880,     0,     0,     0,     0,
2701     1652,  1528,     0,   975,     0,   979,     0,   970,     0,   976,
2702        0,   971,   968,   969,     0,   974,     0,     0,   522,   524,
2703        0,     0,  2341,  2358,     0,  2383,  2415,  2416,  2480,  2509,
2704     2514,  2520,     0,  2549,  2560,     0,  1000,  1030,   995,   714,
2705        0,     0,  1592,  1397,  2163,     0,  1652,     0,     0,     0,
2706     1216,  1217,   243,   215,     0,     0,     0,  1032,  2513,  1410,
2707      960,   639,     0,  1997,     0,  2004,  2005,  2202,     0,     0,
2708        0,     0,     0,     0,  2003,     0,     0,     0,     0,     0,
2709        0,     0,  1930,     0,     0,  2162,     0,     0,  2162,     0,
2710        0,  1965,     0,     0,     0,     0,     0,     0,     0,     0,
2711     1931,  1912,  1913,  2001,  2154,     0,  2002,  2244,     0,  1905,
2712     2283,  2144,     0,  2141,  2142,  2143,  2742,  2743,  2744,  2745,
2713     2746,  2747,  2748,  2749,  2750,  2751,  2752,  2753,  2754,  2755,
2714     2756,  2757,     0,  2758,  2759,  2760,  2761,  2762,  2764,  2763,
2715     2765,  2766,  2767,  2768,  2769,  2770,  2217,  2772,  2773,  2774,
2716     2775,  2776,  2777,  2778,  2779,  2780,  2781,  2782,  2783,  2784,
2717     2785,  2786,  2787,  2788,  2789,  2790,  2791,  2792,  2793,  2794,
2718     2795,  2796,  2797,  2798,  2799,  2800,  2801,  2802,  2803,  2804,
2719     2805,  2806,  2807,  2808,  2809,  2810,  2811,  2812,  2813,  2814,
2720     2815,  2816,  2817,  2818,  2819,  2820,  2821,  2822,  2823,  2824,
2721     2825,  2826,  2827,  2828,  2829,  2830,  2831,  2832,  2833,  2834,
2722     2835,  2836,  2837,  2838,  2839,  2840,  2841,  2842,  2843,  2844,
2723     2845,  2846,  2847,  2848,  2849,  2850,  2851,  2852,  2853,  2854,
2724     2855,  2856,  2857,  2858,  2859,  2860,  2861,  2862,  2863,  2864,
2725     2865,  2866,  2867,  2868,  2869,  2870,  2871,  2872,  2873,  2874,
2726     2875,  2876,  2877,  2878,  2879,  2880,  2881,  2882,  2883,  2884,
2727     2885,  2886,  2887,  2888,  2889,  2890,  2891,  2892,  2893,  2894,
2728     2895,  2896,  2897,  2898,  2899,  2900,  2901,  2902,  2903,  2904,
2729     2905,  2906,  2907,  2908,  2909,  2910,  2911,  2912,  2913,  2914,
2730     2915,  2916,  2917,  2918,  2919,  2920,  2921,  2922,  2923,  1945,
2731     2924,  2925,  2926,  2927,  2928,  2929,  2930,  2931,  2932,  2933,
2732     2934,  2935,  2936,  2937,  2938,  2939,  2940,  2941,  2942,  2943,
2733     2944,  2945,  2946,  2947,  2948,  2949,  2950,  2951,  2952,  2953,
2734     2954,  2955,  2956,  2957,  2958,  2959,  2960,  2961,  2962,  2963,
2735     2964,  2965,  2966,  2967,  2968,  2969,  2970,  2971,  2972,  1947,
2736     2973,  2974,  2975,  2976,  2977,  2978,  2979,  2980,  2981,  2982,
2737     2983,  2984,  2985,  2986,  2987,  2988,  2989,  2990,  2991,  2992,
2738     2993,  2994,  2995,  2996,  2997,  2998,  2999,  3000,  3001,  3002,
2739     3003,  3004,  3005,  3006,  3009,  3007,  3008,  3010,  3011,  3012,
2740     3013,  3014,  3015,  3016,  3017,  3018,  3019,  3020,  3021,  3022,
2741     3023,  3024,  3025,  3026,  3027,  3028,  3029,  3030,  3031,  3032,
2742     3033,  3034,  3035,  3036,  3037,  3038,  3039,  3040,  3041,  3042,
2743     3043,  3044,  3045,  3046,  3047,  3048,  3049,  3050,  3051,  3052,
2744     3053,  3054,  3055,  3056,  3057,  3058,  3059,  3060,  3061,  3062,
2745     3063,  3064,  3066,  3065,  3067,  3068,  3069,  3070,  3071,  3072,
2746     3073,  3074,  3075,  3076,  3077,  3078,  3079,  3080,  3081,  3082,
2747     3083,  3084,  3085,  3086,  3087,  3088,  3089,  3090,  3091,  3092,
2748     3093,  3094,  3095,  3096,  3097,  3098,  3099,  3100,  3101,  3102,
2749     3103,  3104,  3105,  3106,  3107,  3108,  3109,  3110,  3111,  3112,
2750     3113,  3114,  3115,  3116,  3117,  3118,  3119,  3120,  3121,  3122,
2751     3123,  3124,  3125,  3126,  3127,  3128,  3129,  3130,  3131,  3132,
2752     3133,  3134,  3135,  3136,  3137,  3138,  3139,  3140,  3141,  3142,
2753     3143,  3144,  3145,  3146,  3147,  3148,  3149,  3150,  3151,  3152,
2754     3153,  3154,  3155,  3156,  3157,  3158,  3159,     0,  2138,  2139,
2755     2140,  2132,  2133,  2134,  2135,  2136,  2137,  2148,     0,     0,
2756     2223,  2284,     0,  2091,     0,  1927,     0,     0,  1739,     0,
2757     2242,  2205,  1739,   259,   260,   256,     0,     0,   211,   210,
2758        0,   229,   233,   234,   205,   232,     0,   228,   213,  2078,
2759     2077,   212,   204,   201,   199,   216,   218,   219,   202,   200,
2760      253,     0,     0,     0,   357,  1526,  1513,     0,     0,  2217,
2761        0,  2152,     0,     0,  2150,     0,     0,     0,  1736,     0,
2762     1640,     0,  1644,     0,     0,     0,  1880,  1879,  1832,  1828,
2763        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2764        0,     0,     0,   922,     0,  1848,     0,  1801,  2266,  2267,
2765     2215,  1672,  1526,     0,  1522,  1635,  1634,  1677,  1678,  1075,
2766     1633,  1706,  1707,     0,     0,     0,     0,  1732,  1730,  1697,
2767     1688,  1696,     0,     0,  1694,     0,  1698,  1908,  1725,  1622,
2768     1682,  1683,  1686,  1621,     0,  1728,     0,  1595,  1726,  1687,
2769     1579,     0,  1557,     0,  1786,     0,     0,  1430,     0,     0,
2770        0,  1104,  1106,     0,  1105,     0,  1108,     0,  1117,     0,
2771        0,  1103,  1122,     0,  1111,  1109,     0,  1469,     0,     0,
2772        0,     0,     0,  1450,     0,     0,  2549,   247,  1453,  1458,
2773     1445,  1456,     0,     0,     0,     0,     0,  1034,  1033,     0,
2774        0,  1057,     0,     0,     0,  1476,   510,     0,   354,     0,
2775        0,     0,     0,     0,     0,     0,     0,   804,   801,     0,
2776        0,   800,     0,   653,     0,     0,     0,     0,     0,     0,
2777        0,     0,     0,     0,     0,   678,     0,  1283,     0,   286,
2778        0,  1143,     0,  1142,     0,  1147,     0,     0,  1144,  1139,
2779     1140,  2514,  2524,  2555,   249,  1145,  1175,     0,  1174,  1170,
2780        0,  1086,     0,  1087,     0,     0,     0,     0,     0,  2368,
2781     2394,   294,   317,     0,  1282,     0,     0,     0,     0,     0,
2782        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2783      339,     0,     0,   342,   341,     0,     0,     0,     0,     0,
2784      346,   325,     0,   326,     0,   345,     0,     0,     0,   621,
2785      622,     0,     0,     0,  1283,     0,   282,     0,     0,     0,
2786        0,     0,     0,     0,     0,  1192,     0,   731,     0,     0,
2787     2514,  1171,     0,     0,     0,     0,     0,     0,  1361,     0,
2788        0,   166,     0,   161,   165,     0,     0,  2514,  1172,     0,
2789        0,     0,     0,     0,   604,   605,   618,     0,   609,   610,
2790      607,   611,   612,     0,     0,     0,     0,     0,     0,     0,
2791      603,     0,     0,   700,   699,   703,     0,     0,     0,     0,
2792        0,     0,  1367,     0,     0,  1166,     0,     0,  1366,     0,
2793        0,     0,     0,     0,     0,     0,     0,     0,     0,  1226,
2794     1225,     0,     0,     0,     0,  1293,     0,   846,     0,     0,
2795        0,     0,     0,     0,     0,     0,     0,   168,   718,     0,
2796      717,     0,   162,   167,     0,     0,     0,     0,     0,     0,
2797        0,     0,   223,  1419,  1425,  1676,  1676,  1676,  2015,     0,
2798        0,     0,     0,  1675,  2208,  2211,  1497,  1503,  1496,  1495,
2799        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2800        0,     0,     0,     0,     0,     0,     0,   402,   399,   400,
2801      402,     0,     0,     0,     0,   820,     0,   823,   826,  1441,
2802      475,     0,     0,   645,   678,     0,     0,   455,   175,     0,
2803        0,     0,     0,   733,     0,     0,     0,  1356,   137,   184,
2804      186,   453,     0,   185,   187,   189,   190,   191,   188,   192,
2805        0,   697,   701,     0,     0,     0,     0,   641,     0,     0,
2806        0,     0,     0,     0,     0,  1806,     0,     0,   160,     0,
2807        0,   594,   598,     0,     0,     0,     0,   455,   560,   368,
2808     2394,     0,   521,     0,  2394,     0,  1054,     0,   807,     0,
2809        0,     0,  1128,  1128,     0,     0,   747,   746,     0,     0,
2810        0,     0,     0,     0,  1607,   357,  1126,     0,  1463,     0,
2811      357,   925,   357,  1090,   174,  2261,     0,   887,     0,     0,
2812        0,     0,   357,  1194,   875,   357,   170,   357,   357,   644,
2813        0,   357,   172,     0,     0,   357,   919,   357,  2231,     0,
2814      357,  1550,  2394,   521,  1530,   972,   981,   980,   978,   977,
2815      973,     0,   992,     0,   520,     0,     0,     0,     0,     0,
2816     1008,  1009,     0,     0,  1005,  1010,     0,  1006,  1007,  1012,
2817     1002,  1001,  1013,  1014,     0,     0,  1032,   712,     0,     0,
2818        0,     0,  1589,     0,  1587,     0,  1784,  1591,  1580,  1541,
2819        0,  1540,     0,   587,  1053,  1053,     0,     0,   989,     0,
2820        0,   357,  1409,     0,     0,     0,     0,     0,     0,     0,
2821        0,     0,     0,     0,  2167,     0,  2168,     0,     0,  2201,
2822     2197,     0,     0,     0,     0,     0,  2171,  2174,  2175,  2176,
2823     2173,  2177,  2172,     0,     0,  2178,     0,     0,     0,     0,
2824        0,     0,     0,     0,  2158,  2161,     0,     0,  2621,     0,
2825        0,     0,     0,  1973,     0,     0,  2125,     0,  2158,     0,
2826        0,     0,     0,     0,     0,     0,  2154,  2193,     0,     0,
2827        0,     0,  2076,     0,  2073,     0,     0,     0,     0,  2214,
2828        0,     0,  2245,  1909,  1923,  1924,  1925,  1928,  2222,     0,
2829     2216,     0,     0,  1910,  1936,     0,  2194,  1961,     0,  1966,
2830     1951,  2179,  2180,  2181,  2182,  1968,     0,  1944,  1949,  1953,
2831        0,  1932,     0,  1929,     0,  2217,  2153,     0,  2151,     0,
2832     1920,  1921,  1922,  1914,  1915,  1916,  1917,  1918,  1919,  1926,
2833     2129,  2127,  2128,     0,     0,     0,  2099,     0,     0,  1948,
2834     2386,  2422,     0,  1665,  1665,  1665,  1653,  1663,  2221,  1801,
2835     1676,  1801,  2227,     0,     0,  1905,     0,  1782,   927,   928,
2836      926,  1499,  1512,  1526,  2155,  1520,  1642,     0,     0,     0,
2837     1849,  1862,     0,  1890,  1889,  1891,  1891,     0,  1833,     0,
2838     1874,  1899,  1900,  1901,  1902,  1903,  1904,     0,  1898,  1842,
2839      923,     0,  2511,  2641,     0,  1763,  1738,  1740,  1750,  1763,
2840     1770,  1763,  2018,  1799,  2019,  2228,     0,  1709,  2263,  1501,
2841     1524,     0,  1073,  1074,     0,  1078,  2621,  2511,     0,     0,
2842        0,     0,  1699,  1733,     0,  1724,     0,  2238,  1700,  2237,
2843     1701,  1704,  1705,  1695,  1734,  1593,     0,  1729,  1626,  1625,
2844        0,  1804,     0,     0,     0,  1571,  1559,     0,  1787,     0,
2845     1739,  1597,     0,  2214,  1737,  1332,  1227,  1294,  1107,     0,
2846     1850,  1118,     0,  1102,     0,  1101,  1850,     0,  1119,     0,
2847     1850,  1333,  1228,  1295,  1334,  1229,  1296,  1335,  1230,  1460,
2848     1448,  1447,  1446,     0,     0,     0,     0,     0,     0,     0,
2849        0,     0,     0,     0,     0,     0,     0,   785,  2394,   357,
2850     1474,  1336,     0,  1231,   353,  1475,  1297,  1479,   803,   802,
2851        0,     0,  1298,     0,   654,   659,     0,   661,   662,  2317,
2852     2376,   663,   666,   667,     0,   669,   658,   657,     0,     0,
2853        0,     0,     0,   675,   680,     0,     0,     0,     0,     0,
2854        0,  1137,  1138,  1337,  1234,     0,  1299,     0,  1085,     0,
2855     1235,   176,     0,     0,   274,  2394,   296,     0,   473,   785,
2856        0,  1285,   293,   323,     0,   338,   333,   334,   332,  2394,
2857      357,  2394,   357,     0,     0,     0,     0,     0,   335,   330,
2858      331,   327,     0,     0,   340,  2289,  2360,  2525,     0,   686,
2859      688,     0,   693,   343,  1255,   364,   363,   362,     0,   347,
2860        0,   369,   372,   344,   324,   322,   319,   289,     0,     0,
2861        0,     0,     0,     0,     0,     0,     0,     0,     0,  1187,
2862        0,  1340,  1300,     0,  1322,     0,     0,     0,     0,   725,
2863     1343,  1241,  1303,     0,  1362,  1364,  1354,  1242,  1363,   164,
2864     1272,   153,     0,     0,   149,     0,     0,     0,     0,   143,
2865     1344,  1243,  1304,     0,     0,  1345,  1244,     0,     0,   279,
2866      597,   608,   613,  1249,   617,   614,  1312,   615,  1352,  1245,
2867        0,  1348,  1275,  1307,   580,  1166,  1166,  1355,  1368,  1246,
2868     1166,     0,  1283,     0,   268,   270,     0,  1053,     0,  1247,
2869        0,  1305,  1347,  1274,     0,     0,     0,     0,     0,     0,
2870        0,     0,     0,  1482,     0,     0,     0,     0,     0,     0,
2871      357,     0,     0,     0,  1285,  2394,   357,  1346,     0,  1280,
2872        0,  1320,     0,     0,   390,     0,  1273,  1283,     0,   281,
2873     1251,     0,  1314,     0,     0,   221,   220,   222,     0,     0,
2874        0,     0,  2159,  2160,     0,  2157,  2010,  2210,     0,  1493,
2875      949,   935,   948,     0,   931,  2358,     0,   934,   936,     0,
2876        0,     0,   937,   941,   942,     0,   933,   930,   932,     0,
2877      401,     0,     0,   742,   743,     0,     0,     0,     0,   822,
2878        0,     0,  1472,     0,   140,   652,     0,     0,     0,   647,
2879      677,   682,     0,     0,     0,     0,   454,   458,   462,   463,
2880      464,     0,     0,     0,     0,   154,   141,     0,   864,     0,
2881      521,     0,   735,  1360,  1359,  1165,     0,   186,   179,     0,
2882        0,   698,     0,  1521,     0,     0,   575,   578,   577,     0,
2883      368,   817,   815,   814,   816,   838,   813,     0,  1805,  1807,
2884        0,     0,     0,     0,     0,     0,   587,   457,     0,     0,
2885      524,     0,   563,     0,     0,     0,     0,   560,     0,     0,
2886        0,  2271,     0,   834,   806,     0,  1096,     0,  1114,  1097,
2887        0,     0,     0,     0,  1151,  1158,  1127,  1152,  1129,  1158,
2888        0,     0,   748,   752,   751,   755,   753,     0,   749,   626,
2889     1613,  1614,     0,  1184,     0,     0,  1468,     0,  1466,   886,
2890     1178,   357,     0,   357,     0,   357,  1186,  1180,  1182,  1375,
2891        0,   884,     0,     0,   877,   879,     0,   881,     0,   993,
2892      523,     0,     0,     0,     0,     0,     0,  1004,   624,  1011,
2893        0,  1025,  1020,  1022,     0,  1026,   711,     0,     0,  1590,
2894     1583,  1585,  1584,     0,     0,  1581,  2164,   876,     0,   593,
2895        0,     0,     0,     0,  1032,     0,  1027,     0,     0,     0,
2896        0,     0,     0,     0,     0,     0,     0,  1670,  2165,  2166,
2897        0,     0,     0,  2198,     0,     0,  2051,     0,  2023,  2025,
2898     2037,     0,  2052,  2008,  2053,  2027,  2029,  2038,     0,     0,
2899     2145,     0,  2041,  2040,     0,  1975,  1976,     0,     0,     0,
2900        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2901        0,     0,     0,     0,     0,  1990,  2042,  2124,     0,     0,
2902        0,  2044,  2043,     0,     0,  2192,     0,     0,     0,  2049,
2903     2054,     0,     0,     0,     0,  2060,     0,  2081,     0,     0,
2904        0,  1998,  2155,     0,     0,     0,     0,     0,     0,     0,
2905        0,  1967,  1952,  1970,  1946,  1950,  1954,     0,  1969,     0,
2906        0,  1940,     0,     0,  1938,  1962,  1934,     0,     0,  1963,
2907        0,     0,     0,  2016,     0,     0,  1665,  1665,  1665,  1665,
2908     1662,     0,     0,     0,  1709,     0,  1709,   197,     0,   230,
2909      217,  1498,  1643,  1652,  1868,     0,  1886,  1884,  1829,  1834,
2910     1907,  1763,  1770,  1763,     0,     0,  1628,     0,  1750,     0,
2911     1762,  1748,  1761,     0,     0,  1776,  1774,     0,  1776,     0,
2912     1776,     0,  1742,     0,  1766,  1744,  1761,  1746,     0,  1791,
2913     2229,  1800,     0,  1722,  1679,     0,  2146,  1078,     0,  1681,
2914     1703,  1702,     0,  1692,     0,  1731,  1689,  1594,  1578,     0,
2915     1576,  1563,  1565,  1564,     0,     0,  1566,  2214,     0,  1576,
2916     1558,  1602,     0,     0,  1804,     0,  1601,     0,  1850,  1099,
2917     1100,     0,  1123,     0,  1037,  1038,     0,  1036,     0,     0,
2918        0,   509,  1056,     0,     0,     0,   785,     0,     0,   513,
2919        0,  1477,     0,  1353,  1271,   656,     0,     0,     0,     0,
2920      671,   630,   672,   674,     0,     0,   673,   676,   679,  1283,
2921        0,   287,  1257,     0,  1318,  1131,     0,     0,  1088,     0,
2922        0,     0,     0,     0,     0,   472,   682,   318,     0,     0,
2923        0,     0,   377,     0,   298,   310,   375,   316,     0,   349,
2924        0,   321,     0,   314,   336,   328,   337,   329,   348,   350,
2925        0,   690,   691,   689,   685,     0,   692,   694,     0,   366,
2926        0,     0,     0,     0,  1339,     0,  1283,     0,   283,  1253,
2927        0,  1316,     0,     0,     0,     0,     0,     0,     0,     0,
2928        0,     0,     0,     0,  1321,     0,     0,     0,     0,   730,
2929        0,   727,     0,     0,     0,   146,   145,     0,   152,     0,
2930        0,     0,     0,     0,     0,  1369,  1370,  1371,     0,     0,
2931        0,     0,     0,     0,   384,     0,   290,   292,   291,     0,
2932        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2933        0,     0,     0,     0,     0,     0,   391,   359,     0,   841,
2934        0,     0,     0,   393,     0,     0,  1331,     0,     0,     0,
2935        0,     0,  1338,  1236,  2013,  2014,  2011,  1676,  2209,     0,
2936        0,     0,   946,     0,     0,     0,     0,   404,   405,   140,
2937      403,   426,     0,   785,     0,     0,   819,   824,   832,  2456,
2938     2132,  2133,   830,   825,   827,   829,   831,   828,     0,     0,
2939        0,     0,   491,     0,     0,     0,   481,     0,     0,  1166,
2940      474,   477,   478,     0,     0,   648,   651,   649,   650,     0,
2941      670,     0,   457,   498,   550,     0,   156,     0,     0,   157,
2942      155,     0,     0,   368,   732,     0,   729,     0,   182,     0,
2943      702,     0,     0,     0,     0,     0,  1166,   640,     0,   837,
2944      839,   811,     0,   682,     0,     0,   599,     0,   521,  1551,
2945      582,     0,   552,   457,   550,   559,     0,     0,   567,   367,
2946        0,     0,   587,   368,     0,     0,  1057,     0,   833,     0,
2947        0,  1095,     0,     0,     0,  1148,  1153,  1149,     0,  1128,
2948     1110,     0,  1150,     0,     0,  1156,  1081,  1130,  1082,  1391,
2949     1392,  1389,  1390,     0,     0,     0,     0,     0,     0,  1604,
2950        0,     0,  1464,     0,   888,     0,   871,     0,   873,   357,
2951      719,     0,   357,     0,     0,     0,     0,     0,     0,  1003,
2952        0,  1023,     0,     0,  1032,  1029,     0,     0,  1588,  1586,
2953      585,     0,  1218,  1219,  1032,     0,   357,  1031,     0,     0,
2954        0,     0,     0,     0,     0,     0,     0,     0,  2169,     0,
2955     2200,  2196,     0,  2020,  2170,     0,     0,     0,  2125,     0,
2956        0,  1974,  1986,  1987,  1988,  2185,     0,  1993,     0,  1983,
2957     1984,  1985,  1977,  1978,  1979,  1980,  1981,  1982,  1989,  2189,
2958     2188,     0,     0,  2046,  2047,  2048,  2191,  2055,     0,  2307,
2959     2082,     0,  2059,  2075,  2074,     0,     0,     0,  2062,     0,
2960        0,  2071,     0,  2126,  2246,  1911,     0,     0,  1937,  2195,
2961     1955,     0,  1971,  1933,  2145,     0,     0,     0,     0,     0,
2962     1942,     0,     0,     0,  2102,  2097,  2098,  2122,     0,     0,
2963        0,     0,     0,     0,  1656,  1655,  1661,  1722,  2010,  1722,
2964        0,     0,  1830,  1749,  1745,  1747,     0,  2636,     0,  1752,
2965     1759,     0,  1741,     0,  1775,  1771,     0,  1772,     0,     0,
2966     1773,     0,     0,  1743,     0,  1759,     0,  1798,  1668,     0,
2967     2093,     0,  1680,  1076,  1077,  1690,     0,  1693,  2337,  1802,
2968        0,  1577,     0,     0,     0,  1568,  1574,  1556,     0,     0,
2969     1598,  1576,  1599,  1120,     0,     0,  1112,  1043,  1044,  1047,
2970     1045,  1042,  1046,     0,     0,     0,   785,     0,     0,   531,
2971        0,  1070,  1070,     0,     0,   515,   572,   526,   788,     0,
2972        0,     0,   786,   357,  1232,     0,     0,     0,     0,   631,
2973     1351,  1233,     0,     0,     0,     0,  1132,  1286,     0,     0,
2974     1256,     0,   295,   471,   470,   475,     0,     0,   301,   311,
2975        0,   306,     0,  1284,     0,     0,     0,     0,   305,   308,
2976      379,     0,   376,     0,   357,   357,   351,   687,   365,   370,
2977      371,   374,  1291,     0,     0,     0,     0,     0,     0,     0,
2978        0,     0,     0,     0,     0,     0,   865,   848,     0,     0,
2979      866,   867,     0,     0,     0,  1189,  1190,  1188,  1323,  1324,
2980     1329,  1326,  1325,  1328,  1330,  1327,     0,  1239,     0,     0,
2981      723,  1287,   150,   147,   148,   151,  1288,  1269,  1250,  1313,
2982      581,     0,     0,     0,  1248,     0,  1306,     0,  1265,  1259,
2983        0,     0,     0,     0,     0,  1350,  1279,  1311,  1349,  1277,
2984     1309,  1276,  1308,  1278,  1310,  1270,     0,     0,  1809,   845,
2985        0,     0,     0,   357,   357,   844,   721,  1252,     0,  1315,
2986     1261,     0,     0,     0,   938,     0,     0,     0,   940,   409,
2987      427,   140,     0,   741,   805,     0,     0,   821,     0,   479,
2988        0,   485,   489,     0,     0,   493,   494,   492,   480,  1166,
2989      521,   571,   774,   775,     0,     0,   795,     0,   646,     0,
2990        0,   455,     0,   495,     0,     0,   459,   159,   158,     0,
2991        0,     0,   736,   740,   738,   737,   739,   734,     0,   725,
2992      186,  2394,     0,     0,     0,     0,   579,   573,   576,  1365,
2993      812,     0,  1808,   715,     0,   368,   595,     0,     0,     0,
2994      455,   587,     0,   460,   465,   466,   475,     0,   560,   551,
2995        0,   552,   561,   562,     0,   569,  1439,     0,   588,   569,
2996        0,     0,     0,   836,     0,   835,     0,  1098,  1115,  1116,
2997        0,     0,  1158,     0,     0,  1160,  1155,     0,     0,   754,
2998      757,   750,   633,   357,     0,  1467,   357,   357,  1215,     0,
2999      882,  1017,  1018,  1019,  1016,  1015,   625,     0,  1021,   986,
3000      713,     0,   586,   357,     0,   987,   963,   955,   962,   951,
3001      954,   956,     0,   958,   959,   953,   950,   952,  2199,  2036,
3002     2039,  2050,     0,  2124,  2155,     0,     0,  1994,     0,     0,
3003        0,  2045,  2631,     0,     0,  2086,  2087,     0,  2083,  2084,
3004     2079,  2080,  2061,     0,  2445,  2066,     0,     0,     0,  1959,
3005     1957,  1956,  1941,     0,     0,  1939,  1935,     0,  1964,  2088,
3006        0,  2104,  2101,  2121,  2155,  1660,  1659,  1658,  1657,  2093,
3007     2243,  2093,   231,  1647,  1794,     0,  1797,     0,     0,  1751,
3008        0,     0,  1753,     0,     0,  1755,  1757,     0,     0,     0,
3009        0,     0,     0,  2232,     0,  1721,     0,  1676,     0,  1691,
3010        0,  1575,  1560,     0,  1561,  1567,     0,     0,     0,     0,
3011     1603,  1596,  1113,  1121,     0,     0,     0,   511,     0,   526,
3012        0,     0,     0,  1063,  1072,  1062,     0,   526,     0,  1166,
3013      790,   789,   792,   787,   791,  1478,     0,   664,   665,   668,
3014     1258,     0,  1319,  1267,     0,  1592,   297,   467,   304,     0,
3015        0,     0,   299,   378,   380,   300,   303,   307,   359,   320,
3016      313,     0,     0,     0,  1254,     0,  1317,  1263,  1290,  1341,
3017     1237,  1301,     0,     0,   854,     0,     0,     0,     0,  1342,
3018     1238,  1302,     0,     0,     0,     0,  1592,     0,     0,     0,
3019        0,     0,     0,     0,     0,  1487,     0,     0,   358,   843,
3020      842,   359,   392,  1281,     0,  2012,     0,   939,   944,   945,
3021      943,     0,   398,   406,   409,     0,     0,  1206,  1206,     0,
3022        0,   476,   490,     0,   571,   530,     0,   482,     0,     0,
3023        0,     0,     0,   683,     0,     0,     0,     0,     0,     0,
3024        0,     0,     0,     0,   728,   727,   181,     0,   455,     0,
3025      682,     0,   840,     0,     0,     0,   587,   457,     0,     0,
3026     1548,   456,     0,     0,   468,     0,   563,   552,   560,     0,
3027        0,   584,     0,  1432,     0,   590,     0,     0,     0,   784,
3028     1154,     0,  1168,     0,  1109,  1079,  1163,     0,  1652,  1801,
3029        0,     0,     0,     0,   767,     0,   637,  1207,  1465,   872,
3030      874,   720,  1024,     0,  1028,  1032,   957,  2184,  2126,  1991,
3031        0,  2187,  2186,  2190,     0,  2056,     0,  2057,  2085,  2063,
3032     2067,     0,  2064,  2065,  1960,  1958,  1943,  2090,     0,  1676,
3033     2123,  1630,  1629,     0,  1650,  1799,     0,     0,  1793,     0,
3034        0,  1823,     0,     0,     0,  1760,  1778,     0,  1756,  1754,
3035        0,  1767,     0,  1769,  2336,  2604,  2508,     0,  1708,  1710,
3036     1713,  1715,  1714,  1716,  1712,  2092,  2094,     0,  1687,  2147,
3037     1803,     0,     0,     0,  1058,     0,  1600,  1025,     0,   357,
3038     1070,  1166,   532,  2456,   533,  1069,  1071,  1075,     0,  1166,
3039        0,   571,   660,     0,     0,   276,     0,   302,   312,   361,
3040      373,     0,  1592,     0,     0,   852,   861,   861,   849,     0,
3041        0,   868,  1240,   724,     0,     0,   271,  1266,  1260,     0,
3042        0,     0,  1489,  1490,     0,     0,     0,     0,     0,  1289,
3043      357,  1262,   947,     0,   429,   436,   410,   414,  1481,     0,
3044     1481,     0,   411,   415,  1481,  1481,   408,  1801,   425,  1206,
3045        0,  1203,  1202,   519,   601,     0,   483,     0,   541,     0,
3046        0,   796,     0,     0,   681,     0,   457,   550,     0,   508,
3047      499,   500,   501,   502,   504,   503,   505,   506,   507,   497,
3048      496,     0,   682,   858,   368,  1439,   722,     0,     0,   695,
3049        0,   682,     0,  1551,   583,   552,   457,   550,   461,   475,
3050        0,   567,   560,   563,     0,   564,     0,   568,     0,     0,
3051        0,   587,  1491,  1057,     0,     0,   785,  1167,  1128,     0,
3052        0,  1157,  1161,  1162,     0,     0,     0,     0,  1210,   761,
3053      762,   756,   758,     0,   769,   773,   632,     0,     0,   636,
3054      627,   682,   357,     0,  1992,     0,     0,  2069,  2068,     0,
3055     2108,     0,     0,     0,  1641,  1792,  1795,     0,  1826,     0,
3056        0,     0,     0,  1812,     0,  1758,     0,     0,  1768,     0,
3057        0,     0,  1717,     0,     0,     0,  1726,     0,  1573,  1801,
3058        0,  1570,     0,  1039,     0,  1040,  1064,   571,     0,  1075,
3059     1078,   521,   571,     0,   785,  1268,     0,   601,     0,   315,
3060        0,   284,  1264,     0,     0,   863,   863,     0,     0,     0,
3061        0,     0,     0,   386,     0,     0,  1483,     0,  1484,  1485,
3062     1488,   394,   407,     0,   434,     0,   432,   431,   433,     0,
3063      422,     0,     0,     0,     0,     0,     0,   397,  1201,  1205,
3064     1204,     0,   484,     0,   486,     0,   527,   528,   529,     0,
3065      488,   537,   538,     0,   793,     0,   798,     0,   684,     0,
3066        0,   682,   549,   706,     0,     0,     0,  1433,     0,     0,
3067      574,   716,  1439,   587,   560,     0,   552,   469,     0,   569,
3068      563,   567,   565,   566,     0,  1436,     0,   589,     0,  1066,
3069      783,     0,  1158,  1169,  1164,  1159,  1395,     0,     0,   759,
3070      764,   763,  1481,   768,     0,     0,     0,   635,   634,   710,
3071      988,  2183,  2072,  2058,  2070,  2103,     0,     0,     0,     0,
3072        0,     0,     0,     0,     0,  1824,  1825,  1810,     0,     0,
3073     1814,  1765,  1790,     0,     0,     0,  1711,  2095,  2096,  2262,
3074     1562,  1572,  1059,     0,     0,   536,     0,  1078,  1060,   530,
3075      785,   525,   512,  1592,   309,   360,     0,     0,     0,   859,
3076      862,   850,   851,   870,   869,   726,  1592,     0,   382,   381,
3077        0,   385,     0,   430,   439,     0,   437,   412,   417,     0,
3078      421,   419,   418,   413,   416,   518,     0,     0,     0,     0,
3079        0,   539,     0,   540,   570,     0,   797,     0,     0,     0,
3080      708,   857,     0,     0,   455,   682,  1434,  1549,   563,   552,
3081      560,     0,     0,   554,  1070,  1070,   442,   567,   569,  1437,
3082     1438,     0,     0,   368,     0,  1080,  1394,  1393,  1652,     0,
3083        0,     0,   770,   771,   766,     0,     0,  2591,  2337,  2563,
3084        0,  2120,  2109,  2120,  2120,  2100,     0,     0,     0,  1796,
3085        0,  1813,  1816,     0,     0,     0,  1822,  1815,  1817,     0,
3086     1777,     0,  1788,  1719,     0,  1718,  1801,   357,     0,   785,
3087      534,  1061,   541,   514,   277,  1592,   853,     0,   272,     0,
3088      387,  1486,   435,     0,   420,   600,   487,   546,     0,   545,
3089        0,   543,   542,   794,   799,     0,   682,   847,  1439,   696,
3090      567,   560,   563,     0,   553,     0,  1072,  1072,   569,   440,
3091        0,     0,   569,     0,  1377,  1652,  1376,  1378,  1386,  1383,
3092     1385,  1384,  1382,  1213,  1214,   760,   765,     0,     0,     0,
3093     2113,  2112,  2111,  2115,  2114,     0,  2107,  2105,  2106,     0,
3094        0,     0,     0,  1819,  1820,  1821,  1818,  1764,     0,  1720,
3095     1569,  1041,     0,   516,   785,   285,   860,     0,   438,   544,
3096      548,   547,   682,   707,  1435,   569,   563,   567,  1070,   555,
3097     1071,   557,   556,   444,  1066,  1067,     0,  1801,   773,     0,
3098     1387,  1381,  1628,  1615,     0,     0,   772,     0,     0,     0,
3099     2117,     0,  2118,     0,     0,     0,     0,     0,     0,     0,
3100      517,     0,   709,   443,   567,   569,  1072,   368,  1065,     0,
3101     1048,     0,  1379,  1652,     0,     0,   778,  2110,  2116,  2119,
3102     1646,  1645,     0,     0,  1649,     0,  1789,   535,   383,   569,
3103      441,   558,   569,  1068,     0,  1380,     0,     0,   780,     0,
3104      776,   779,   781,   782,     0,     0,  1811,   445,  1801,     0,
3105        0,     0,   744,     0,  1676,     0,  1049,     0,     0,     0,
3106      777,     0,     0,   778,  1211,  1212,     0,  1648,     0,   745
3107 };
3108 
3109   /* YYPGOTO[NTERM-NUM].  */
3110 static const yytype_int16 yypgoto[] =
3111 {
3112    -5214, -5214, -5214,  3553,  -747, -5214, -5214,  -945,   306,  2809,
3113    -1771, -5214, -5214, -5214,  1161, -5214, -5214, -5214, -5214,  3517,
3114    -5214,  1506, -2815, -5214, -5214,   127,  3477, -1358,   118,  3110,
3115     1190, -5214,  -981, -5214, -5214,  -605,     1, -5214,  3484,   485,
3116    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214,  -878,  1626,
3117    -5214,  1705,   996,  -611, -3188, -5214, -5214, -1459, -3649, -5214,
3118      299, -5214,   327, -4632, -1207, -5214, -5214, -5214,  1608, -5214,
3119    -5214, -5214,  1558,   797,  -644, -5214, -5214, -5214, -5214, -5214,
3120    -5214, -1051, -5214, -5214, -1309,     6,  -639, -2865, -4171, -5214,
3121    -5214,   161,  -687, -1444, -5214,   345, -5214, -4479, -5214,  -301,
3122    -2812, -5214, -5214, -5214,  -658, -1423,  1091, -5214,  -727, -1126,
3123     1430, -4575, -1165, -5214,  -533, -5214, -1284, -1063, -1061, -1198,
3124    -4217, -4690, -5214, -5214, -1310, -3664, -4989, -5213, -4644, -4631,
3125     1104, -5214,  -323,   176, -5214,     7, -3571, -3633,     8,   142,
3126    -5214,    10,    12, -5214,   162,  -993,  -948, -1553, -5214,  -907,
3127    -5214, -5214, -5214, -3343, -5214, -5214, -5214,   144, -5214, -5214,
3128    -5214, -5214,   211, -5214, -5214, -5214, -5214, -5214, -5214, -3120,
3129     1582,  1583, -5214, -4002, -5214,  -917, -5214,   355, -3377,  1028,
3130    -5214, -5214,   799,  3548,   188, -5214, -5214, -5214, -5214, -5214,
3131    -5214, -1751, -5214, -5214, -5214, -5214,  -293,  -618, -5214, -5214,
3132    -5214, -5214, -5214, -5214, -5214,    13, -5214,   764,   131, -5214,
3133    -5214,  -901, -5214, -5214, -5214, -5214, -5214, -5214, -1347, -4975,
3134    -1431, -1420, -5214, -3361, -5214, -5214, -5214,  -595, -5214, -5214,
3135    -5214, -5214, -5214,  -908, -5214,   855, -4021, -5214, -5214,   167,
3136    -5214, -5214, -5214, -5214, -5214, -1164,  -532,  2742, -5214,  -759,
3137     -957, -5214, -5214, -5214,  -528, -5214, -5214, -5214, -5214, -5214,
3138     -503, -1278,  4546,  3938, -1085,  6254,  -828,  -568, -5214, -5214,
3139    -5214, -2678, -5214, -5214, -4068, -5214,  4542,  2270,   934,    14,
3140    -5214,    18,    93,  3383, -1140, -2985,   141,  -716, -5214, -5214,
3141    -5214, -2992, -5214, -5214, -5214, -5214, -3949,    17, -5214,  -725,
3142    -5214, -4228, -4999, -4437, -3989, -1308, -5214, -4230, -4286, -4952,
3143    -3936, -5214,  1624, -5214, -5214,  -561,  -187,  2724, -5214, -1443,
3144     1960, -1355, -5214, -2498,   200,  1200,  2733, -3192,  -123,  2721,
3145    -2921, -5214,  -733,   800, -5214,  -610, -3675, -5214, -5214, -5214,
3146    -2705,  -842, -5214, -5214,  1374, -1114, -5214, -5214, -5214, -5214,
3147     -629,  2703,  -194, -5214, -5214,  3930, -5214, -4799, -5214,  3879,
3148    -5214, -5214, -5214, -5214,  2621,  2623, -5214, -5214, -1439,   969,
3149    -5214,  -830, -5214, -5214,  1734,   400, -5214, -5214, -5214, -5214,
3150    -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -5214, -1142,
3151    -1321, -5214, -5214, -4432, -5214, -5214, -5214, -5214, -5214,  2163,
3152     -946,  -737,  3779,   425,    19, -5179, -5214, -5214, -1168, -5214,
3153     3136, -5214, -5214, -5214, -5214, -5214,   206,   207, -5214, -5214,
3154    -5214, -5214, -4336, -5214, -5214, -4841, -5214, -5214,  1718, -5214,
3155    -5214,   771,     3,  2855, -5214, -5214, -5214,   -23, -5214, -5214,
3156    -1008,  2056, -5214, -2345, -5214,  -582, -5214, -5214, -1869,    23,
3157    -4205, -5214,     9, -5214, -5214,  -404, -5214,    27, -5214, -5214,
3158    -3883,    11, -5214, -5214, -5214, -5214, -4854, -5214,    21, -1031,
3159      550, -3220, -5214,    30,    29, -5214, -5214,     5,   245,   -41,
3160      -27,   -11,     4,   117,  3268, -5214, -5214, -5214, -5214,  3296,
3161    -5214,    -7,  -847,  4586,  4587, -5214,  -866,  -156, -5214,  1312,
3162     -712, -2532,  3233,  3236, -5214,  1292,  2064, -2411, -2407, -5214,
3163    -1315, -1006,  -844, -5214, -5214, -5214, -5214, -1862,  -708, -2539,
3164    -5214,  3244, -5214, -5214, -5214, -2323, -3254, -3168,  1336, -3182,
3165    -3127, -5214,   631,   615, -1269,  -353,    49,  -752,  3247, -5214,
3166    -5214,  1345,  -599, -5214, -5214,  -594, -3176,   576, -5214, -4412,
3167    -2743,  1351, -1254,  -983, -5214, -1111, -5214,  -813,  1611,  3281,
3168     -812, -5214, -5214,  -781,  9619, -5214, -5214, -5214, 13763, 14353,
3169    -5214, -5214, 14633, 14818, -5214,  -638, 15016, 12483,  -773, -1898,
3170     -238, 17376, -1667,  -939,    45, -5214, -2902, -2296, -5214, -5214,
3171    -5214,  -566,   714,   451, -5214, -4425, -4282, -5214, -5214, -2210,
3172    -5214,  -825, -5214,  -821, -5214, -5214, -5214, -3063, -4793, -3173,
3173     2192, -5214, -5214, -5214,  -183, -5214, 17218, -3163, -5214,  -626,
3174    -1002, -1565,  2667, -3353, -1875, -5214, -5214, -5214, -3035, -5214,
3175    -5214, -5214,  -807,  1444, -5214, -5214,  1551, -5214, -5214, -5214,
3176     -943,  1786,  -732, -1153,  1458,  3804,  -760,  2208,  -769, 16689,
3177     -434, 11027, -1271, -5214,  2235, -4099,  7317,  8050,    36,  -127,
3178     1636,  -661,  2125,  2636, -5214, -5214,  5068,  7879,  -562,  -984,
3179    -5214,    -6, 12191, 12774, -3565, -5214
3180 };
3181 
3182   /* YYDEFGOTO[NTERM-NUM].  */
3183 static const yytype_int16 yydefgoto[] =
3184 {
3185       -1,    57,    58,    59,    60,    61,    62,  1574,  2938,  2793,
3186     3715,  3716,    63,    64,  1570,    65,    66,    67,    68,  1484,
3187       69,  1072,  1822,  2953,    70,  2637,   820,   821,   822,  2504,
3188     2505,  2883,  2506,  2494,  1338,  1768,  1506,   794,   795,  1466,
3189     1507,    72,    73,  1332,  2485,    74,    75,    76,  1537,  1630,
3190     1538,  1539,  1478,  1868,  4758,  5509,  3509,  2755,  3764,  3510,
3191     3511,  4145,  4146,  4226,  5523,  5524,    77,  1646,  1647,    78,
3192       79,  2920,  3681,  4279,  5122,  5123,  5356,   635,  4781,  4782,
3193     5343,  5344,  5537,  5685,  5686,  2954,   666,  3759,  4362,  3706,
3194     4852,  3707,  4853,  3708,  4854,  4135,  4136,  3692,  4310,  4311,
3195     4794,  4312,  3709,  4813,  5389,  3710,  2656,  5552,  2988,  1940,
3196     1938,  5039,  5368,  4618,  4619,  5779,  5560,  5561,  5562,  5801,
3197     4815,  4858,  4859,  5722,  5723,  3762,  4368,  4865,  5181,  5137,
3198     3407,    81,  3735,  3736,    82,   729,  1844,  3859,   730,  2991,
3199      667,   731,  2955,    87,  2981,  5554,  2982,  1600,  2807,  4292,
3200     3839,    88,  1099,  4110,  5206,  5449,  5450,   720,    89,  1830,
3201       90,    91,  2933,  3699,    92,  2673,  3424,    93,    94,  3443,
3202     3444,  3445,    95,  4320,  5142,  1540,  3498,  3499,  3500,  3501,
3203     4166,    96,  1825,  2962,  2963,    97,    98,    99,  3089,  3090,
3204      100,  2869,   101,   102,   103,   104,  4201,  4720,  4829,  3539,
3205     3722,  4336,  4827,   105,  3685,  2956,  3009,  3797,  3798,  5204,
3206     5441,  5442,  5443,  5612,  5835,  5445,  5614,  5744,  5616,  4804,
3207     5949,  5950,  5426,  4099,  4632,   107,  4805,  4806,  5567,   108,
3208     2671,   109,   110,  1799,  2926,  2927,  4293,  2998,  3772,  3773,
3209     4348,  4349,   111,  3623,   112,  4696,  4697,   668,  5575,  5515,
3210     5671,   113,   114,  4700,  4701,   115,   116,   117,   118,   119,
3211      721,  1035,  1036,   723,  1154,  1155,  3380,  1116,   120,  2514,
3212      121,  3661,   122,  1224,  4917,   123,   754,  1170,  1171,  2957,
3213      125,   763,  3108,   765,  1955,  3841,  3842,  4434,   126,   127,
3214     3086,  3111,   128,  1471,  2647,  2648,  4613,  2958,   669,  1209,
3215     2995,  3402,  5283,  5033,  5284,  5733,  5886,  5034,  5297,  3325,
3216     4049,   130,   670,  1512,  2712,  1122,  1123,  3002,  3777,  2618,
3217     2619,  1669,  4389,  2621,  3779,  2622,  1446,  2623,  1109,  1110,
3218     3785,  3786,  3787,  3788,  4385,  4395,  4396,  5198,  5434,  4392,
3219     2947,  5192,  5193,   131,  1509,  2709,   132,   133,   134,  1553,
3220      960,  1132,  1133,   135,   682,   683,   136,  5361,   137,  1112,
3221      138,  5202,   139,   140,   785,   786,   141,   142,  2726,  4148,
3222      143,  1510,   144,   145,  3533,  3534,  4712,   146,   147,   148,
3223     1817,  1818,   149,   150,   151,   152,   153,  5826,  5889,  5890,
3224     5891,  4403,  5738,   154,  1201,   155,   156,   157,   158,   195,
3225     1001,  1002,  1003,   913,  2959,  5183,   160,   161,  1467,  1468,
3226     1469,  1470,  2642,   162,   163,   164,  3807,  3808,   165,   166,
3227      167,   168,  1802,   169,   170,  5334,   171,   172,  1772,   173,
3228      174,  1009,  1010,  1011,  1012,  1770,  3273,   629,   838,  1363,
3229     1369,  1412,  1413,  1414,   176,   733,   177,  1204,  1040,   734,
3230     1163,   179,   735,  2601,  3355,  4064,  4065,  4066,  4069,  5018,
3231     4591,   736,  3351,   182,  1962,  3095,  3098,  3347,   737,  3360,
3232     3361,  3362,  4072,   738,   756,  1102,  3013,   739,  1299,   187,
3233      188,   189,   894,   841,   842,  3278,  5244,  5464,   191,  2478,
3234     3256,   772,  1418,   882,   883,   884,   903,  2893,  2567,  2568,
3235     2592,  2593,  1427,  1428,  2580,  2584,  2585,  3338,  3331,  2573,
3236     4043,  5268,  5269,  5270,  5271,  5272,  5273,  4580,  2588,  2589,
3237     1430,  1431,  1432,  2597,   192,  2557,  3306,  3307,  3308,  4020,
3238     4021,  5770,  4035,  4031,  4565,  4995,  3309,  1199,  1438,  4573,
3239     5772,  3310,  4984,  4985,  5248,  4039,  3317,  4060,  3747,  3748,
3240     3749,  3311,  5472,  5473,  5767,  5768,  5250,  5251,  2624,  1392,
3241      868,  1300,   869,  1405,  1301,  1379,   871,  1302,  1303,  1304,
3242      874,  1305,  1306,  1307,   877,  1371,  1308,  1309,  1388,  1401,
3243     1402,  1364,  5252,  1311,  1312,  1313,  3313,  1314,  4511,  4957,
3244     4943,  3183,  3184,  2501,  4507,  3943,  4501,  2473,  3246,  5007,
3245     5275,  5276,  3983,  4535,  4971,  5239,  5629,  5751,  5752,  5846,
3246     1315,  1316,  1317,  3243,  2467,   963,  1318,  4295,  2469,  3177,
3247     3155,  1672,  3156,  1965,  1986,  3127,  3143,  3144,  3220,  3157,
3248     3165,  3170,  3178,  3207,  1319,  3129,  3130,  3884,  1988,  1320,
3249     1007,  1675,  1008,  1407,  3202,  1328,  1329,  1322,  1956,   831,
3250     4991,  1158,  1755,   769,  1323,  1324,  1325,  1326,  1546,   934,
3251     1125,  1126,   885,   887,   888,  2561,   625,   617,   936,  3502,
3252     2470,   626,   619,   620,  1760,  2471
3253 };
3254 
3255   /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
3256      positive, shift that token.  If negative, reduce the rule whose
3257      number is the opposite.  If YYTABLE_NINF, syntax error.  */
3258 static const yytype_int16 yytable[] =
3259 {
3260      618,    71,  1671,   175,   190,   185,    80,    83,    84,   180,
3261       85,   181,    86,   106,   124,   893,   961,   129,   926,   159,
3262     1066,   183,  1756,   178,   732,   190,   967,   962,  1599,   972,
3263      184,  1767,   904,  1190,  1191,  1192,  1545,   623,   833,  1196,
3264     1433,  1333,  1883,  1138,   674,   881,  2820,  1321,  1651,  2655,
3265     1384,   614,  1404,  1419,   799,  1421,  1663,  1151,   758,  3348,
3266     1604,  1210,  1937,  3737,   758,  1761,  1013,  3349,  2713,  1827,
3267     1375,  1376,  3705,   914,  2721,  2750,  1103,  1983,  1976,  1383,
3268     1347,  1360,  3789,  3994,  2733,  3996,  2976,  1164,   970,  1451,
3269     2620,  4347,  1390,   830,  3845,  2722,  4058,  3101,  1598,  4116,
3270     1359,  2887,   992,  4373,  4620,  1769,  1800,  1629,  4137,  3126,
3271     1805,  4582,  1541,  3620,  4398,  1809,   764,  1656,  4161,  1105,
3272     4163,  3373,  3375,  4360,  3864,  1819,  4297,  1034,  4034,   800,
3273     3588,  3192,  2553,  4988,  4655,  3728,  4017,  1563,  1839,  4071,
3274     4615,  1136,  1580,  2704,  1140,  1165,   231,  4861,  4872,  1148,
3275     4680,  4812,   898,   793,  4851,  3259,  2620,  3043,  1812,  3261,
3276      827,  4047,  5000,   906,  5002,  5372,  1013,   844,   819,  1872,
3277     3271,  5178,  3340,  1836,  2849,  2850,  5057,  4077,  3343,   907,
3278     5146,  3967,  4032,  4357,  4037,  5035,  4597,  5411,  2845,  5424,
3279      618,  1426,  4860,  1508, -2379,  1429,  1513, -2417,  5589,   618,
3280      937,  5305, -2440,  2704, -2477,  1835,  2684,   618,  1340,   937,
3281      618,  1372,  1373,  1365,   680,  2876,  5577,  3319,  4948,  1865,
3282     2704,  1382,  1013,   937,  3664,  5185,  3667,  3668,  5177, -1850,
3283      633,  3672,  3673,  3674,  1508,  3676,  3677,  3678,  2861,  1508,
3284     2512,   740,  5326, -2271,  2856,   186,  1480, -2236,  3908,   912,
3285    -1863,  1105, -2271, -2271,  2944,  2734,  4383, -2303, -1888,  3200,
3286     3314, -2272,  5336,  5337, -1878, -2382,   186,   680,   740, -2647,
3287    -2272, -2272,   680,   985,  1865,  1013,   740,   675, -2647, -2647,
3288     2724,  3200,  1797, -1883,  1359,  1172,  2032,  3645,  1157,  1092,
3289    -2130, -2235,   680,  1176,   680, -1891,  2639, -2130,  2973, -1891,
3290     5364,   892,  3110,  3418,  5099,  1865,  2491,  2918,  1542,   680,
3291     4313,   997,  2724,  1542,   740,  1960,  5043,  2518,  1792,   740,
3292     3072,   740,  3695,  2843,  4117,   680,  1337,   836,  5100,  5362,
3293     1865,  2558,  5200,  3438,   680,  1013,   680,  3240,  5514,  3162,
3294     3849, -1704,  3514,  -140,  3241,  5500, -2149,  1219,  2985,  -140,
3295     2520,  4843,  5457, -2149,  1865,  1187,  4873,  3291,  5016,  5491,
3296     1481,  3851,  5549,  1440,  4802,  1849,   746,  4693,  4822,   746,
3297     3908,  2837,   901,  2986,   746,  1660,   746,  5174,  5728,  3610,
3298    -2438,  4919,  4920,  4921,  3110,  4923,  4924,  4925,  4926,  4927,
3299      747,  2661,  4285,   747,  5304,  1865,  1865,  4945,   747,  1865,
3300      747,  1663,  5032,  5716,   805,  4440, -1705,  2564,  2941,  2699,
3301     2936,   998,  1194,  5870,  3439,  3853,  1761,  3611,  3292,  1756,
3302     5447,  2492,  2724,  2571,  5591,  2724,  1554,  3087,  1814,   746,
3303     2724,  4224,  3696,  4220,  4583,   905,  1455,   746,  2495,   627,
3304      193,  3862,  5542,  2507,  2507,  2829,  5332,  5543,  2781,  4792,
3305     1105,  3612,  4083,   747,  5291,   908,   630,  1374,  5511,  2554,
3306      999,   747,  5299,  4823,  2560,  2798,   962,  1375,  1376,  5333,
3307     2724,  2032,  2724,  1891,  2830,  3091,  4793,   680,  2974,  4694,
3308     4225,  1968,  2724,  -428,   194,   945,  2587,  5412,  1383,   628,
3309     2513,  1914,   946,   947,   948,  3854,  4584,  5544,  1555,  2032,
3310     1195,  1866,  2518,  5366,  2700,  1875,  1390,  5698,  4946,   806,
3311     4803,  1879, -1704,  3088,  5818,  5550,   962,  1000,   857,  2572,
3312     1060,  1890,  1456,  1881,  5492,  1893,  1070,  2942,  2556,  1896,
3313     2518,  1898,  1398,  1957,  1188,  2520,  1918,  1906,  1083,  4344,
3314     2493,  5400,   909,  1912,  1967,  1798,  1915,  5657,  2919,  3515,
3315     4824,  1661,  3882,  3904,   681,  2649,  1866,   676,  1977,  4441,
3316     5548,  1441,  5458,  2520,  3850,  2735,  2987,  2026,  3908,  5871,
3317     1761,  5017,   924,  5201,  2650,  1457,  1798, -1705,  3073,  2736,
3318     4117,  2737,  2691,  2891,  4695,  3852,  1921,  1866,  5101,  5262,
3319     3442,  1394,  2698,  2823,  1482,  2481,  5448,  5875,  4393,  1372,
3320     1373,  5727,  3660,  2937,  3092,  2862,  4297,  1798,  5365,  2689,
3321     4314, -1850,  1866,  3419,  2875,  3201,   677,  1097,  1980,  3697,
3322     1961, -2438,   937,  2555,  1881,  4384,  1382,  2945,  1221,  5874,
3323     3646,  4715,  2929,  2651,  2863,  5044,  1866,  3972,   190,  1044,
3324     2857,   937,  2738,  1041, -2130,  1042,  2844,   937,  1961,  2815,
3325     2975,   837,  2818,  2652,   678,  1043,   679,  1483,  1867,   937,
3326     2788,  1105,  2885,  2886,  5915,  1798,  1395,  5228,  1552,  3314,
3327     5504,  2766,  2025,  1458,   634,   937,  1195,  1866,  1866,  2805,
3328      618,  1866,  2808,  2809,  4821,   881,  5682,   893,  2825,   618,
3329      937,  3242,  1662, -1850, -2379, -2438,   618, -2417,   937,   618,
3330    -2149,  5939, -2440,  3122, -2477,  4825,  4433, -2438,  3698,  1168,
3331     2838,   881,   937,  1874,  2662,  5584,  2884,  1798,  5021,  2767,
3332     1374,  2598,   937,  1370,  4869,  2599,  3288,  1396,  3923,  5810,
3333     1397,   190,  5820,  2638, -2271,  4625,  1005,  2489, -2236,  4868,
3334     1006,  1378,  2536,  2537,  1878,   752,   753,  1385,  2534, -1888,
3335     1434,  1385, -2272,   752,   753, -1878,  4221, -2303,  2028,  3447,
3336    -2647,  4045,  1056,  2479,  3522, -2382,  2466,   910,  1386,  1889,
3337     1195,  5838,  1386,  2804, -1883,  4826,  2708,  1169,   937,  1174,
3338     1105,  1178, -2235,  3264,  1185,  5954,  1387,  1182,  1105,  1105,
3339     1389,  1543,  1544,  1911,  1572,  4780,  1543,  1544,   752,   753,
3340     2653,   618,   618,  2559,  4258,  2892,  4642,   937,  3093,  5784,
3341     3061,  1005,  4297,  2606,  2928,  1006,  4685,  1573,  1472,  5699,
3342     1005,  1198,  5788,  5877,  1006,  3045,  -140,  -140,  3094,  2708,
3343     4034,   937,  1783,   618,  1914,  1881,  1779,  1462,  4433,  1463,
3344     1784,  1398,  1785,   962,  4139,  1635,  2708,  3920,  3921,  3922,
3345     3923,  3352,  4357,  5496,  5216,  4562,   881,  4073,  3071,  4566,
3346     4277,  4278,   925,  4465,  3128, -1850,  5655,   906,  4345,  3083,
3347     4345,  5660,  4446,  2906,  4079,  5797,  4080,  5736,   618,   186,
3348     4215,  4216,  1198,   907,  4553,  4217,  4555,  5914,  1636,  4605,
3349     1119,   937,  2649,  4394,  1774,  1865,  5720,    71,  4810,   175,
3350      190,   185,    80,    83,    84,   180,    85,   181,    86,   106,
3351      124,  3225,  4338,   129,  2654,   159,  4112,   183,  3340,   178,
3352     1465,  3551,  4784,  4052,  3247,  3377,   184,  2775,  4001,  2476,
3353     5587,  5865,  1473,  1416,  2531,   680, -2232,  5708,  1336,  4783,
3354     5899,  2773,  1344,   680,  4327,  5726,  2461,  2462,  2463,  2464,
3355     2465,  2466,  1399,  5719,  5839,  1480,  4741,  1366,  4140,  1437,
3356      951,   952,   953,   954,   955,   956,   957,   958,   959,  5959,
3357     2651,  3345,   186,   892,  1487,  1400,  2463,  2464,  2465,  2466,
3358     1229,  2683,  1564,  3908,  1349,  3451,  2864, -2772, -2772, -2772,
3359     2652,  4272,  5325,   779,  2032,   767,  5405,  5763,   618,   618,
3360     1757,  3136,  3793,  1640,   680,  3314,   937,  3552,  3314,  1641,
3361     4399,   618,  5539,  1585,  5541,  3683,   881,   618,  5545,  5546,
3362     5900,   618,  3559,   618,  4848,  5841,  1582,   881,  2663,  5811,
3363     5126,  3353,  1385,  4713,   901,  1586,   777,  4074,  1417,   779,
3364     2560,  4620,   881,  3918,  3919,  3920,  3921,  3922,  3923,  4849,
3365     5310,  3226,  1057,  1386,  3314,  5633,  3227,  1039,  2520,  5737,
3366     1637,  3553, -1850,  5127,  1583,  4892,  3248,  3163,  3198,  1481,
3367    -1850,   997,  1374, -1850,  1403,  3181, -1850,  3346,  5798,  2774,
3368     3452,   780,  1831,  1761,  5819,   618,  1587,   618,   618,  3794,
3369     4837,  4811,  1091,  3228,  1474,  1858,  1565,  4400,    40,   793,
3370     1621,  3559,     3,     4,  5901,  5927,  2985,  1229,  1530,  1859,
3371     3908,  3137,  5764,  4328,  3909,  3910,  3911,  1642,  1900,  2989,
3372     3554,  1881,  4186,  4053,  2865,  1832,  3505,   780,   937,  4742,
3373     4585,  2986,  1475,  3378,    44,  1229,  3379,  2653,  3908,   905,
3374     3604,   186,  3909,  3910,  3911,  1229,  3605,  1005,  3908,  1161,
3375     4797,  1006,  3909,  3910,  3911,  1092,   618,  5799,  5399,  4516,
3376     5570,  1901,  4141,  4142,  1638,  1860,  1476,   726,  5626,  4517,
3377     5842,   998,   190,  4113,  5883,  1588,    48,  1866,  5887,  2664,
3378     1120,  3506,  3080,  3081,  1394,  5800,  3138,    15,   937,    49,
3379     5586,  4621,  4143,  4294,  5176,  5598,  5164,   881,  5583,   937,
3380     1923,  1013,  1925,  4205,  1927,  5569,  1929,  5195,  1931,  1932,
3381     1933,  4916,    50,   937,  2477,  1935,  3684,   937,  5170,  3024,
3382      999,   899,    20,  1589,  3555,  1350,  1590,  1222,  4848,   618,
3383     3354,  5913,  1208,  3036,  1477,  5585,  4187,  3229,  3006,  1093,
3384      781,  2819,  4850,  1857,   680,  3648,  3042,  3139,  3448,  5902,
3385     3140,  2654,  4401,  4849,  3606,  5027,  3914,   893,  1566,  1395,
3386      618,  3007,  5139,  5765,  3372,  1861,  1455,  5510,  5766,  2665,
3387     4698,  5940,  3027,  3393,  3466,  1592,  5741,  1000,  3507,  1643,
3388     3034,   782,   783,  3300,  4390,  2657,   781,   900,   618,   618,
3389      618,  2026,   618,  3912,  4054,  5957,  1567,  1833,  5958,  1351,
3390     3795,  4586,   771,  5480,  4798,  3020,  5828,  2810,  3438,  4227,
3391     5627,  1215,   618,  2658,  3796,  3913,  3022,  1644,  5556,  1594,
3392     1396,  1862,  4402,  1397,  5158,  3523,  3655,   782,   783,   778,
3393     1568,  3035,  1346,  1902,  3037,  5852,   937,  3041,  3054,  5494,
3394     2516,  5628,  1595,  3913,   937,   937,  3556,  2951,  3755,  2704,
3395     3438,  1645,  1456,  3913,  3557,  2667,  3123,  3558,  3125,  3394,
3396     5758,  3141,  1597,   901,  3132,  2668,  5418,  3999,   618,   997,
3397     3146,  3147,  3148,   962,  5419,  3153,   804,  4989,   784,  5020,
3398     5140,  3167,  4699,  3914,  3074,  1094,  3179,  3077,  3078,  3439,
3399     5573,  2565,  2566,  5828,  2570,  4992,  1881,  1757,  4188,  5581,
3400     4996,  1834,  3065,  4998,    32,  1457,  5165,   907,   907,   631,
3401      907,  3914,  -677,   186,   618,   801,  3607,  1863,   618,   618,
3402      726,  3914,  1095,  3008,  2574,  1610,  1569,  1997,  2952,  2820,
3403     3294,  3439,  5143,   618,  1398,    40,  4189,  1903,  3405,   881,
3404       15,   828,  4909,  3737,  2811,  3508,  5714,  2812,  5557,  5619,
3405     5414,  3551,  4913,  5668,  3608, -2772, -2772, -2772,  3918,  3919,
3406     3920,  3921,  3922,  3923,  2659,  5415,  3440,  2575,  4882,   998,
3407     4190,    44,  3142,  3711,  5795,    20,  1985,  3260,  3121,  3047,
3408     2483,  1096,  2787,  1097,  1437,  4062,   839,  1098,  3609,  3063,
3409     1611,  5828,  3905,  3906,  5816,  5817,  1994,  3925,  3406,  1167,
3410     2643,  5652,   902,  1458,  3441,   881,  4297,  3085,  3070,   193,
3411     1530,  2644,  3075,    48,  5413,   193,  3079,   727,   999,  3082,
3412     3537,  4063,  1601,  5558,  2669,  5669,    49,   895,  2011,  2645,
3413     5881,  5882,  1612,  5404,  3955,  3956,  3401,  3552,  1761,  1613,
3414     5420,  3322,  1614,  2023,  1398,  1399,   881,  5903,  3066,    50,
3415     3102,  2484,  1881,   194,  4476,  1207,  4477,  2751,  3778,   194,
3416     1602,    40,  2670,  1459,  5658,  3442,  5461,   728, -2255,  5710,
3417     1756,  1465,  -163,  5904,  4795,  1000,  1465,  2577,  1798,   881,
3418     2751,  3067,  3915,  3916,  3917,  3918,  3919,  3920,  3921,  3922,
3419     3923,  3553,  2751,  4774,  3068,  3538, -1057,    44,  4778,  4607,
3420     3633,  1460,  -163,  5040,  4801,    35,  1641,  3442,  1361,  4842,
3421     3915,  3916,  3917,  3918,  3919,  3920,  3921,  3922,  3923,    40,
3422     3915,  3916,  3917,  3918,  3919,  3920,  3921,  3922,  3923,  3069,
3423     5941,  3323,  2889,  2890,  3332,  1461,  5462,  2578,  1881,    48,
3424     5416,  4839,  2620,   937,  3712,  4796,  2620,  5335,  5916,  1465,
3425     3554,  3483,    49,  1465,  4986,    44,  4628,    32,   618,   618,
3426      618,  3391,   867,   905,   905,   646,   905,  1462,  1411,  1463,
3427     1603,   896,  2840,  4294,  5041,    50,  3063,  1173,  1175,  1177,
3428     5379,  2646,  1179,  1180,  1181,  2658,  1572,  2946,    40,  1422,
3429     4478,  3023,  1186,    56,  1422,  3033,  2817,    48,  4711,  3405,
3430     1423,  1615,  3063,  5734,  1442,   962,   962,  3485,  2846,  1573,
3431       49,  4298,  3484,  5809,  1642,  5610,  1422,  4299,  2752,  1464,
3432    -1675,  5781,  4658,  5742,    44,   648, -1675,  3314,  4298,  4432,
3433     4300,  3314,  1914,    50,  5380,  1616,   911,  5381,  1350,  1617,
3434     4629,  2752,  1443,  5382,  3016,  5576,  1493,  2753,  5590,   627,
3435      912,    56,  4025,  2752,  3555,  5743,  4659,   937,  4301,  4095,
3436     4302,  5611,  1424,  5332, -1628,  3512,    48,  1424,  3486,   881,
3437     2753,  5383,  2754,  1618,  4433,  4301,  1444, -1628,  4608,    49,
3438      881,   920,  2753, -1628,  4609,  4026,  5333,  5013,  5597,  1424,
3439     3535,  4610,  1757, -1675,   922,  2754,   881,  3314,  3713,   897,
3440     4568,  4630,    50,  1384,  5873,  4631,  5933,  2754,  1914,  1425,
3441     4028,  2749,  1351,  4171,  1425,   937,  4303,  2499,  -453,  3618,
3442       56,   962,   646,   937,  1215,  4172,  4611,  3344,  5384,  5258,
3443    -1628,   937,  5885,  4303,  2749,  5147,  4660,    40,  1385,  3464,
3444    -1675,  5385,   935,  4129,  4304,  5059,  2749,  3714,  4612,   881,
3445    -1628,   971,  5064,  5386,    40,  3570,  5965,  1385,   618,  1386,
3446     2500,   618,  5446,  4218,   881,   993,  1452,   881,   881,  1084,
3447     5912,   618,   618,    44,   937,   937,  3556,  1387,  1386,  4294,
3448     5309,  3535,   648,  5148,  3557,  4683,   618,  3558,   937,   618,
3449       44,  -592,  1058,   659,  1059,   660,  1389, -1628,   881,   881,
3450     3571,   937,   937,  3270,  1453,  1085, -1628,  3279,  3574,  4305,
3451     1229,  3577,  1572,  3908,  4306,    48,  4130,  3909,  3910,  3911,
3452     5718,  1813,  1631,  5340,   190,  3569,  5130,  5735,  4030,  5215,
3453     5943,  4306,    48,  3737,  4963,  1573,  4219,  -453,  1454,   618,
3454     1086,  3811,   618,   618,  3613,    49,  5145,  3693,  2741,   981,
3455     5717,  3055,  4142,  3056,   943,  3057,  4307,  3058,  4684,  3059,
3456     1632,  5513,  3594,  3060,  1633,  2751,  5517,  5518,    50,    56,
3457      190,  1044,  4308,  4307,  2751,  1041,   618,  1042,   618,   982,
3458     2878,  4671,  2742,   618,   618,  5169,    56,  1043,  1087,  4308,
3459      618,   618,   618,  3107,  1634,   618,  3639,   618,  5568,   618,
3460      618,   618,   618,   618,   618,  4458,   618,    35,   618,   618,
3461     3096,  2032,   618,  1607,  2620,  5156,  4128,  2820,  2879,  3649,
3462     3650,  3651,  2751,  5435,  2620,  3619,   881,   618,   618,   618,
3463     4183,  3544,  3545,   746, -1627,  3548,  3951,  2790,  3725,  5287,
3464     5387,  5289,  2518,  5388,   618, -1628,  1757, -1627,  3314,  3314,
3465      659,  1608,   660, -1627,  3461,  2791,  5812,   747,  1447,  3316,
3466     2794,  3741,  3742,  3743,  3744,  5601,  3746,  3106,  4184,  2810,
3467     4309,  2574,  4421,  3805,  1062,  2520,  1063,  5439,   664,  2751,
3468     1105,  2877,  2724,  3655,  5822,  1609,   944,  4309,  3614,  4267,
3469     3449,  3774,  1448,  2725,  5134,  5117,  1449,  5118,  5119,  5120,
3470    -1627,  5440,  4185,  1922,  2620,  5618,  1924,  4073,  1926,  2729,
3471     1928,  2730,  1930,  1084,  2575,  4621,  1934,  1572,  3913,   987,
3472    -1627,  4628,  3615,  3616,  5905,  2948,  2752,  2741,  4621,  2880,
3473     1450, -1628,  1575,  2867,  4551,  2752,  1837,  2873,  3524,  1908,
3474     1573,  2724,  2881,  5662, -1628,  2978,  5580,  5876,  5906,  1085,
3475    -1628,  1648,  2732,  4222,  1652,  2753,   996,  3617,  -140,  1838,
3476     2759,  2742,  1909,  1004,  2753,   186,   740, -1627,   232,  3838,
3477     1229,  2882,  2731,  3908,   632,  2576, -1627,  3909,  3910,  3911,
3478     2754,  5547,   724,  2752,  4339,  1585,  3914,   618,  1046,  2754,
3479     3208,  2751,  3209,  3724,  4964,  4213,  3941, -1628,  4259,  1342,
3480      802,  1374,  3948,  1403,  1585,  4629,  2811,  1586,  3276,  2812,
3481     4076,   186,  2753,  4743,  1005,  4760,  3210, -1628,  1006,  2749,
3482     3163,  3163,  2487,  5452,  2577,  3163,  1586,   618,  2749, -1084,
3483     1048,  3277,  1087,  2760,  1053,  2751,  4744,  2754,  4761,   740,
3484     2752,   615,  4472,  4473,  4474,  4475,  1380,  1381,  4479,  4480,
3485     4481,  4482,  4483,  4484,  4485,  4486,  4487,  4488,  1587,  1984,
3486     3314,    56,  3163,  3163, -1628,  3767,  4630,  3314,  5942,  2753,
3487     4631,  1067,  3314, -1628,   899,  3314,  2749,  1587,   618,  1374,
3488     4098,  2554,  4050,  1061,  2578,  5332,  4621, -1676,   740,  1061,
3489     4604,    40,   755, -1676,  2754,  1374,  1080,  2554,   755,  5783,
3490     1762,  1061,  1117,  1763,  4369,  4526,  4527,  4223,  5333,  3293,
3491     3295,  3296,  3729,  5651,    29, -1627,   646,  3878,  3211,  3212,
3492     3213,  3214,  2529,  1089,  4664,  3215,  3216,    44,  1117,  1229,
3493     3879,  3217,  3908,  2749,  5301,  3880,  3909,  3910,  3911, -1051,
3494      900,  1562,  -591,  4406,  4986,  4876,  1579,  1588,  4407,  1088,
3495     4407,  4260,  2752,  1005,  1090, -2236,  5471,  1006,  1111,  2507,
3496    -1676,  3211,  3212,  3213,  3214,  3934,  1588,  3936,  3937,    48,
3497     1920,  1969,  2515,  1763,  1763,  1763,   648,  1127,  3913,  3860,
3498     3861,  2753,    49,     3,     4,  3915,  3916,  3917,  3918,  3919,
3499     3920,  3921,  3922,  3923,  3995,  1589,  2752,  3585,  1590,  3586,
3500     3011,  2751,  3012,  3590,  3803,    50,  2754, -1676,    40,  3809,
3501     1128,  3810, -1628,  2819,  1589,  1118,   901,  1590,  5863,  2528,
3502     1107,  3816,  2529,    56,  3817,  2753,  3818,  3819,   650,  1134,
3503     3821,   915,  2819,  3986,  3824,  3987,  3825,  1145,  5342,  3827,
3504      927,  3341,  3342,  3206,    44,  2749,  3914,  1592,   927,  1162,
3505     2754,   927,   618,   618,   618,   618,   618,   618,   618,   618,
3506      618,  2562,   618,  4366,  1763,  4367,  1592,  3185,  2751,  3051,
3507     3188,   618,  2529,   618, -1699, -1699,  3062,  3218,  1005,  3063,
3508     3064,  1408,  1006,  3063,  3431,  3988,    48,  3989,  3219,  2749,
3509     3428,  1594,  3432,  3433,  3099,   962,   627,  3100,  3275,    49,
3510     3866,  1914,  3280,  5910,  1152,  2529,  3364,  5602,   740,  2529,
3511     1594,   618,  4006,  4007,  1595,   618,  1189,  4644,   618,  3272,
3512      618,  3458,    50,   618,  3459,  1193,  3997,   618,  4118,  3529,
3513    -1703, -1703,  3530,  1595,  1597,  3907,  4936,  3913,  4937,  3314,
3514       56, -1388,  4078, -1388,   659,  1197,   660,  3935,  1757,  3689,
3515      618,  3425,  3690,  1597,  4147,   902,  3829, -1084,  3877,  3063,
3516     1203,  2529,  2752,  3886,  5753,  5754,  2529,   618,  4121,   663,
3517     1200,  3892,  1813,  4294,  2529,  3893,   618,   618,  2529,  3958,
3518     5847,  5848,  3894,  4040,  4687,  2529,  5497,  3460,  4621,  3927,
3519     4670,  2753,  2529,  3970,  5502,  3940,  1205,  4024,  2529,  2555,
3520     5860,  3312,   937,  4844,  3945,  3914,  3356,  3946,  4004,   881,
3521     1206,  2529,  4164,   881,   881,  4165,  2754,  5824,    29,  4024,
3522      937,  4785,  3985,  4786,   937,  1212,  4355,  4169,   937,  2752,
3523     4170,  1214,  4194,  1778,  4791,  4195,   937,  1208,  4256,  3837,
3524     5922,  4195,  5923,  4178,  1787,  3915,  3916,  3917,  3918,  3919,
3525     3920,  3921,  3922,  3923,   937,  2749,  1213,   618,  2753,  1795,
3526     4378,  1216,  3395,  4379,  3398,  3550, -1702, -1702,   618,  5777,
3527      881,   618,  4025,   618,   618,  1408,   881, -1616,  3392,  4547,
3528     4643,  4549,  4661,  2754,  4668,  4979,  5724,  4981,   937,  4652,
3529      890,   891,  4381,  5427,  4025,  4382,  4412,  4497,  1218,  4413,
3530     4498,  3314,  1215,  1217,  1105,  4026,  2928,  4508,   937,   937,
3531     4509,  5920,    40,  4519,  1223,  4593,  2529,   881,  4594,  1225,
3532     4027,  3314,  2749,  4445,  1345,  4342,  2620,  4026,  4598,  1348,
3533     4028,  4599,  4084,  4085,  3314,  3446,  1352,  4686,  4603,  1757,
3534      937,  3379,  4027,  1757,  3636,  5346,  5486,  4627,    44,  4315,
3535     3063,  4845,  4028,  1354,  3063,  1229,  4029,  4910,  3908,  4567,
3536     1961,  4570,  3909,  3910,  3911,  1353,   937,  3206,  1757,  5241,
3537     4933,  5242,   937,  2529,  3960,  1358,  3961,  1362,  4029,   937,
3538     4286,  4973,  5966,  4993,  2529,  5023,   937,  1367,  3379,   937,
3539       48,  5347,  1370,  5029,  5036,   937,  5030,  3063,  4101,  5037,
3540     3962,  3305,  3063,    49,  3915,  3916,  3917,  3918,  3919,  3920,
3541     3921,  3922,  3923,  1368,  1964,   937,  5348,  1374,  4105,  5171,
3542     5208,   937,  5172,  4413,  5225,  1378,    50,  5226,   937,  4621,
3543     1377,  1391,  1198,  1198,  5349,  1393,  1198,  5227,  5350,  2031,
3544     2529,   937,  2032,  1408,  5825,  1420,   186,  5245,  4030,  5169,
3545     5246,  1409,  5255,  5261,   937,  1914,  4352,  1435,  1436,  1757,
3546     5351,  1105,  1439,  5352,  5263,   937,  3584,  4352,  1403,  4151,
3547     4030,  4153,  4228,  2518,  1445,  1485,  5374,  4199,  5353,  5375,
3548    -2772,  1511, -2273,   618,   618,   618,  1514,  5394,  5428,   618,
3549     3063,  5429,  3314,  1516,  5469,  5475,  4208,  5470,  1914,  1517,
3550     1556,  1552,  3211,  3212,  3213,  3214,  2520,  4862,  5478,  3963,
3551     1557,  4352,  1558,  5724,  4595,  3964,   618,   881,  1569,  4621,
3552     5489,   915,  1571,  5490,  5532,  1757,  1584,  5533,  1581,  3870,
3553      927,  3872,  3873,  1606,  1622,  1623,  4994,   927,  4855,  3778,
3554      927,  5572,  5599,  5622,  2486,  5490,  3946,  5649,  5623,  5637,
3555     3314,  2529,  5638,  5641,  5642,  5661,  1914,  2529,  3063,   618,
3556     4503,  1639,  4087,  3913,  4452,  1649,  5354,  1650,  4623,  4624,
3557     3163,  3163,  3163,  3163,  1653,  3957,  3163,  3163,  3163,  3163,
3558     3163,  3163,  3163,  3163,  3163,  3163,  1658,  1659,  1773,  3756,
3559     3867,   881,  1775,  4333,  1198,   881,  5667,  1771,  5673,  3100,
3560     1786,  3100,  5674,  4500,  5677,  3100,  1780,  2529,  2560,  4246,
3561     3312,  5678,  1791,  1794,  2529,  4253,  5355,  4621,  5679,  1796,
3562    -2772,  5680,  1801,  5706,  1804, -2772,  5707,  2620,  1806,  5759,
3563     1816,  3914,  4352,  3163,  3163,  5773,  1815,  5775,  2529,   962,
3564     2529,  5792,  5814,  5859,  5793,  5815,  5483,  1798,  1820,  1821,
3565     4326,  1663,  4329,  5884,  5918,  5938,  5490,  5919,  2529,  -183,
3566     5956,  3965, -2772,  5638,  5962,  5979,  1823,  5963,  5963,  1824,
3567     1826,  1828,  3966,  1840,  1829,  1847,  4558,  1851,   937,  1855,
3568      212,  1864,  1869,  1870,  1871,  2031,  1873,  1876,  2032,  1877,
3569     1880,  4316,  1881,  4318,   881,  4436,   937,  1761,  1888,  1892,
3570     1894,  1895,  1897,   937,  3314,  1899,  1904,   618,  1905,   881,
3571      618,  1907,   618,   618,   881,  2525,  1910,  1913,  4670,  2518,
3572      893,  1916,   618,  1917,  1919,  1966, -2772,   618,  1936,  1972,
3573     1981,  1982,  1974,  2560,  1105, -1854,  1105,  1975, -1861,  1991,
3574     1989,  4046,  1990, -1851,  1992,  1993,    56,  1995,  1996,  1997,
3575    -1852,  1998,  2520,   618,   618,   618, -1855,  1999,   618,  2000,
3576     2001,  2003,  2004,  2771,   893,  2005,   618,   618,   618,   618,
3577     2006,  2007, -1853,  2008,  1757,  2009,  4387,  2010,  2012,   618,
3578     1757,  2013,   618,  2014,   618,  2015,  3512,  2016,  4681,  2472,
3579     2017,  2018,  2019,  2476,  3314,   618,   618,  4662,  2474,   618,
3580     4414,  4444,  4416,  2477,  4418,  2490, -2772,  5056,  2486,  2502,
3581     2510,  3535,  2532,  2533,  2538,  2540,  2541,  2550,   618,  1105,
3582      618,  3969,   618,  2547,  2544,  2545,  2548,  2549,  2551,   186,
3583     3915,  3916,  3917,  3918,  3919,  3920,  3921,  3922,  3923,  2556,
3584     2563,  1423,   618,  1425,  2594,  2596,  3991,  3992,  3993,  2605,
3585     2607,  2608,   915,  2609,  2610,  2626,  2627,  2628,   927,  2629,
3586      937,  2554,   927,   893,   927,  2630, -2772,  2631,  5219,  2632,
3587     2633, -2772,  2634,  2635,  2660,  2641,  2666,  2672,  4469,  4889,
3588     2686,  2690,  2693,  4639,  2692,  2870,  2694,  2696,  2697,  4710,
3589     2710,  2714,  3314,  2715,  2716,   618,  2727,  2555,   618,  2728,
3590     2743,  2746,  2747,  2745,  2748,  4346, -2772,  2756, -2772,  2739,
3591      618,  2758,  4496,   893,  2749,   618,  2761,  2461,  2462,  2463,
3592     2464,  2465,  2466,  2757,  2762,  2763,  1850,  2772,  1852,  1853,
3593      618,  2768,  2778,  2769,  4779,  2779,  2782,  2785,  2786,  2783,
3594     4766,  2784,  2789,  2792,   618,  2795,  3312,  2796,  2799,  3312,
3595     2806,  2813,  2816,  1530,  2801,  2831,  2802,  2814,  4538,  2841,
3596     2833,  2525,  3163,   881,  2821,  2835,   881,  2842,   881,  2822,
3597     2827,  2858,  2828,   881,  2834,  2839,  2859,  2866,  2888,  2900,
3598     2836,  2895,  2847,  2902,  2903,  2904,  2901,   937,   937,  2848,
3599     2916,  2905,  2860,   618,  2871,  3312,  2917,  2912,  2909,  2910,
3600     2911,  4771,  4429,  2921,  2922,  2913,  2023,  2914,  2915,  2923,
3601     2924,  2932,  2935,  2930,   937,  2931,   641,   937,  2949,  2960,
3602      881,  2940,  1603,  2964,  2965,  2977,  2980,  2983,   881,  2946,
3603     2984,  2968,  2997,  3004,  2993,  3314,  3010,  3014,  3026,  3028,
3604     3029,  3030,  3031,  3044,  3084,  3109,  3128,  3001,  3076,  3097,
3605     2023,  3180, -2772,   881,  3186,  2032,  3199,  2950,  3244,  3224,
3606     3268,  3190,  3245,  3263,  2031,  2967,  3005,  2032,  3269,  3780,
3607     1398,  3298,  3206,  2870,   900,  3283,  3266,  3284,  3316,  3333,
3608     3335,  3017,  3282,  3019,  1117,  3021,  3133,  3205,  3979,  1757,
3609     1757,  1757,  3222,  1488,  3267,  3350,  3281,  3334,  2518,  3357,
3610     3368, -2771,  3285,  3369,  3286, -2772,  3290,  3299,  4046,  3401,
3611     3396,  3321,  3336,   937,  3399,  3040,  1117,  3025,  3371,  3314,
3612     3410,  3403,   881,  4906,   881,  3314,  5191,  3404,  1489,  3415,
3613     3420,  2520,   937,  3421,  3423,  3426,  3434,  3450,  3455,  1342,
3614     1346,  3467,  3474,  3200,  2870,  3457,  4011,  3487,  3492,  4016,
3615     3520,   937, -2772,  5454,  3493,  3519,  3525,  3528,  3518,  3564,
3616     3536,  3622,  4949,  2461,  2462,  2463,  2464,  2465,  2466,  3647,
3617     3580,  3543,  3635,  3563,   901,  3643,  3644,  3656,  3663,  3669,
3618     3675,  3680,  5468,  3691,  3670,  3671,  3702,  3703,  3717,  1490,
3619     3719,  3721,  3732,  3750,  3723,  3305,  3745,  3751, -2771,   892,
3620     4525,  1229,  3752,  3739,  3908,  3753,  3754,  3758,  3909,  3910,
3621     3911,  3761,  3765,  3766,  3769,   881,  3763,  3770,  3775,  3790,
3622     3792,  3791,  3800,  3314,  3801,  1491,  3802,  3804,  3806,  3820,
3623     3823,  3822,  3826,  3828,  3831,  3832,  3833,   937,  3844,  3834,
3624     1914,  3846,   618,  3193,  3835, -2772,  1911,  3110,   618, -2771,
3625    -2772,  3847,  2560,  3836,  1878,  3848,  3781,   881,  3855,  3863,
3626     3858,  1492, -2771,  3865,  3871,  3891,  4817,  4818, -2771,  3888,
3627     1195,  3942, -2122, -2771,  3959,  3889,  3968,  3890,  3954, -2771,
3628     3982,  3904, -2771,  4014,  1757,   881, -2771, -2772,  4042,  3648,
3629      937,  3977,   937,  3978,  5152,  2529,  4002,  4057,  4059,  3895,
3630     4958,  1494,  4068,  3896,  3900,   937,  3902,   937,  4081,  3903,
3631     4023,  3926,  3931,  3932,  3939, -2771,  3953, -2771,  4010,  4038,
3632     3980,  4075,  3981,  3984,  4003,  4008,  4048,  4009,   618,  4015,
3633     4055,  5004,  4093,  1496,  4061, -2771,  4088,  4097,  4094,  2031,
3634     2525,  4086,  2032,  4125,  4102,  4089, -2772, -2772, -2772,  4855,
3635     4100,  4114,  4115,  4126,   881,  5063,  4127,  4131,  4132,  4133,
3636     4134,  4138,  4149,  4150,  4152,  4158,  4159,  4168,  4160,  4182,
3637     4173,  4372,  4198,  2518,    35,   937,   881,  4200,  4202,  3782,
3638     2519,  4196, -2771,  1961,  4203, -2771,  4204,  4207,  1499,  4209,
3639     4210, -2771,  4211,  4212,  4214,  4229,  1500,  4230,   881,  4231,
3640     4232,  4233,  4245,  4234,  2707,  4235,  2520,  4409,  4898, -2772,
3641     4236,  4900,  4237,  4238,  4248,  4239,  1502,   937,  4250,  4376,
3642     4252,  2856,  4240,  4241,  4532,  1503,  4242,  4244,  4243,  1504,
3643     5011, -2772,  4254,  4255,   937,  4915,  5124,  5499,  4261,  4271,
3644     4264,  4276,  4282,  4334,  4265,  4266,  4268, -2771,  3783,  4284,
3645     4319,  4324,  4331,  4325,  4335,  4337,   937,  4341,  4351,   937,
3646     4354,  4364,  4361,  4352,  4370,  4371,  4375,  4391,  4377,  4408,
3647     4411,  4374,  4944,  4405,  4423,  4424,   618,  3914,  4415,   881,
3648     4425,  4426,  4427,  1505,  4417,   618,  4428,  3784,  4430,  4435,
3649     4438,  4439,  4448,   618,  4437,   618,  1198,  4449,   618,  3201,
3650     4450,  4451,   881,   618,   618,   618,   618,  4453,  4454,   618,
3651      618,   618,   618,   618,   618,   618,   618,   618,   618,  4455,
3652     2521,  4456,   618,   618,   618,  2522,  4457,   881,  4461,  1984,
3653    -2771, -2772,   618,  3908, -2121,  4510,   618,   893,  1757,  4521,
3654      618,  4522,  2461,  2462,  2463,  2464,  2465,  2466,   618,  4533,
3655     4564,   618,  5008,   618, -2771,  4563, -2771, -2771,  4571,  4577,
3656     4578,  4552,  2524,   618,  4493,  4579,   618,   618,  4470,  4494,
3657     4495,   618,   618,  4502,  4524,  4539,  4548,  4572,   618,  4540,
3658     4541,  4542,  4543,  4587,  4550,  4556,  4590,  5054,  4046,  4559,
3659     4901,  4902,  4903,  4904,  4905,  4561,  3163,  4576,  4596, -2771,
3660     4581, -2771, -2771,  4592,  4606,  4614,  4635,   190,  1044,   618,
3661     4638,   186,  1041,  4046,  1042,  2525,  4636,   618,  4646,  4637,
3662     4645,   618,  5045,  4648,  1043,  4651,  4657,  4656,  4649,  4676,
3663     4688,  4673,  4689,  4690,  4716,  4718,  4692,  4704,  4691,  4702,
3664     4703,  4705,  4706,  4719,  4707,  4731,  4732,   186,  3163,  4740,
3665     4756,  4757,  4737,   618,  4759,  4663,  4762,  4772,  4799,  4773,
3666     4775,  4776,  4777,  5069,  5070,  4788,  4809,  4814,  3312,   618,
3667     5095,  4835,  3312,  5135,  5191,   881,  3915,  3916,  3917,  3918,
3668     3919,  3920,  3921,  3922,  3923,  4820,  4841,   618,  4834,  4847,
3669     4864,  4840,  4857,  4828,  4863,  4874,  5853,  5854,  4881,   915,
3670     4880,  4885,   915,  4907,  4883,  4884,  2527,  4887,   937,  4888,
3671     4899,  4912,   927,   927,  4893,  4914,  4922,  4929,  4935,  4947,
3672     4950, -2123,  5022,  4951,  4997,  5006,  4987,   927,  4930,  4941,
3673      927,  5010,  5009,  4952,  4969,  4983,  5019,  5345,  3312,  5024,
3674     4990,  5278,  4956,  2820,  5001,  5026,  5032,  5031,  5038,  5042,
3675     5060,  5061,  5112,  5113,  5062,  5065,  5072,  5073,  5071,  1757,
3676     5085,  5088,  5092,  5097,  1757,   881,  1757,  5154,  5094,  5098,
3677     5106,  5107,  5114,  5116,  5503,  5125,  5128,  5132,  5133,  5136,
3678      927,  5141,  5115,   927,   927,  5121,  5144,  5150,  5151,  1757,
3679      881,  5153,  5149,  5157,  4046,  5159,  5168,  5163,  5175,  5173,
3680     5179,  5180,  5184,  5182,  5186,  5187,  2457,  5188,  5197,  5205,
3681     3063,  5203,  5213,  5212, -2772, -2772, -2772,  2461,  2462,  2463,
3682     2464,  2465,  2466,  2023,  5224,  5220,  5232,  5230,   937,  5233,
3683     5231,   937,  5238,  5243,  5247,  5253,  5279,  5282,  5285,  4722,
3684     5288,  5257,  5260,  5298,  3365,  5300,  5303,  5306,   186,  5526,
3685     4730,  5528,  5302,  5307,  5308,  5319,  5338,  5320,  5324,  5313,
3686     5329,  5330,  3381,  5360,  4798,  5331,  3384,  5367,  3305,  5370,
3687     3387,  5369,  3305,  5373,  5378,  5377,  5397,  5398,  5402,  5407,
3688     5409,  3163,  5207,  5425,  5430,  5209,  5210,  3427,  5438,  5436,
3689     5459,  5437,  5444,  3435,  5463,   618,  3411,  5467,  5479,  5481,
3690     5483,  5485,  5214,  5506,  5484,  5487,  5102,  5103,  5498,  5105,
3691     3163,  5507,  5508,  5514,  5551,  5559,  5520,  5553,  5563,  1585,
3692     5564,   937,   937,  5566,  5574,   881,  5579,  5588,  5592,  5594,
3693     3453,   937,  5593,  5595,  3468,  5605,  5596,  5632,   618,   618,
3694     5606,  1586,  5607,  5608,  5613,  5615,  5624,  5630,   937,  5631,
3695     1061,  5644,  5634,  4534,  5617,  5653,  5666,  5670,  5654,  5689,
3696     5695,  5700,  5702,  5709,  5536,  5705,  5712,  4134,  5713,  5729,
3697     5730,   881,  5732,  5460,  5731,  4866,   881,   618,   618,  5746,
3698     5391,  5739,  3503,  5740,  5756,  5745,  5757,  5755,   618,  3312,
3699     3312,  5769,  1587,  4663,  5762,  5771,  5787,  5789,   962,  5796,
3700     2663,  5778,  5294,  5698,  5804,  5699,  5805,  5780,  3531,  5823,
3701     5840,  5311,  5845,  5803,  3540,  5821,  5855,  5690,  5692,  5858,
3702     5862,  3546,  5869,  5888,  5867,  5898,  5907,   937,  1061,  5924,
3703     5894,  3560,  5895,  5925,  5926,  5928,  5929,  3565,  5538,  5944,
3704     5946,  5955,  5960,  5947,  5961,  5968,  5969,  5972,  5976,  1410,
3705     5973,  5432,  1515,   618,  5316,  3726,  4000,  3578,  4664,  1620,
3706     2872,  2509,  3517,  3581,   618,  1619,  3595,  4144,  2031,  4679,
3707     3587,  2032,  4672,  5790,  3634,  2033,  2034,  2035,  3682,  4281,
3708     5357,  1588,  5683,  3602,  5868,  5408,  4816,  5636,  4669,  5131,
3709     5390,  4091,   618,  3830,  5782,   618,  3627,  5292,  5864,  5703,
3710     5701,  5802,  2518,   618,   618,  5879,   881,  1061,  4096,  2519,
3711      618,   618,  5161,  4867,  5664,   618,  3700,  3701,  4846,   618,
3712     4677,  4838,   618,   618,  4162,  1605,  4808,   618,  4833,  1589,
3713     4340,  3163,  1590,   618,  3687,  2520,  5155,  5396,  4891,  4380,
3714     5609,  5921,  5978,  5970,  5371,  4287,  4875,  2819,  5807,  5345,
3715      618,  4665,  2939,  5318,  5684,  1518,  5254,   618,  5516,  5672,
3716     5321,  1519,   618,  5794,   722,   618,   618,  5254,  1037,  2031,
3717      773,  5493,  2032,   618,  4908,  3730,  5917,  3003,  1958,  4082,
3718     3374,  1592,  4877,  2999,   618,  3015,  4397,  5603,  5433,  3305,
3719     3104,  3032,  3105,  4251,  1146,  4708,  5827,  5012,  5014,  3632,
3720     5456,  3312,  5945,  2518,  2640,  5696,  1521,  1355,  3312,  5281,
3721    -2772,   618,  1106,  3312,  3659,   186,  3312,  4894,  2897,  3320,
3722     4895,  5015,  5776,  4600,  2482,  1594,   807,   808,  4056,   881,
3723     5849,  5850,  5025,  4044,  5477,  2530,  2520,  3330,  5774,  5646,
3724     4018,  2025,   937,  4554,  4569,  5259,  4012,  5466,  1595,  2521,
3725     4601,  5465,  4013,  5935,  2522,  5761,  5856,  5635,  5455,  5647,
3726     4504,  2591,  1522,  2590,  5648,  2539,  3249,   881,  1597,  1523,
3727     4666,  3975,  1524,  4667,  2595,  3169,  2523,  2219,  5495, -2550,
3728     3883,  3658,  2600,  3973,   937,  3258,  3318,     0,  1406,   881,
3729        0,  2524,  5058,     0,     0,  5760,   937,     0,     0,  1525,
3730        0,     0,  5066,  5521,  5522,  4528,     0,     0,     0,     0,
3731        0,  3856,   618,     0,     0,     0,     0,     0,     0,     0,
3732     3843,     0,     0,     0,     0,   937,  3869,     0,     0,  5531,
3733     2269,  3874,     0,  1526,     0,     0,     0,     0,  3857,     0,
3734        0,     0,     0,     0,  2525,  3843,     0,     0,     0,     0,
3735    -2772,     0,     0,     0,     0, -2772,   881,     0,     0,     0,
3736        0,     0,     0,     0,     0,     0,     0,     0,     0,  5525,
3737        0,     0,     0,     0,  5659,     0, -2550,     0,     0,  2749,
3738        0,     0,   618,  1105,     0,     0,     0,     0,     0,     0,
3739        0,   615, -2772,     0,     0,     0,  1626,     0,   618,     0,
3740     1528,     0,     0,  1757,     0,     0,     0,     0,  3305,     0,
3741     1529,     0,  5684,  3305,     0,     0,  3305,     0,     0,  1530,
3742        0,     0,   937,  5476,  3163,  3163,     0, -2550,     0,   618,
3743        0,  1531,     0,  5625,     0,  2527,     0,   186,   186,     0,
3744    -2550,  5620,     0,     0,     0,  2525, -2550,     0,   962,     0,
3745        0, -2550,  5166,  5643,     0,  5645,     0, -2550,     0,     0,
3746    -2550,     0,     0,     0, -2550,     0,     0,     0,     0,  5656,
3747        0,     0,  1533,  1534,     0,   881,     0,   881,     0,     0,
3748     3312,     0,     0,     0,     0,     0,     0,     0,  4046,  5317,
3749        0,     0,     0, -2550,     0,  5315,     0,     0,     0,     0,
3750      962,     0,     0,  1535,  5530,     0,     0,     0,   937,   915,
3751        0,     0,   927, -2550,   927,   927,     0,     0,     0,     0,
3752        0,     0,     0,     0,     0,     0,   618,     0,     0,   618,
3753        0,     0,   618,   618,   618,  2457, -2772,     0,     0,  5359,
3754        0,     0,  5953,  2458,  2459,  2460,  2461,  2462,  2463,  2464,
3755     2465,  2466,  5964,     0,     0,     0,     0,   618,   618,     0,
3756    -2550,   618,     0, -2550,     0,     0,     0,     0,     0, -2550,
3757        0,  1536,     0,  1105,     0,     0,     0,     0,     0,  5953,
3758        0,   618,     0,     0,     0,     0,     0,   618,     0,  5953,
3759        0,   618,     0,     0,     0,     0,     0,   881,   618,     0,
3760        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3761        0,   618,     0,   618,     0,     0,     0,     0,   937,     0,
3762      937,     0,     0,     0,   618, -2550,     0,     0,     0,     0,
3763        0,     0,     0,     0,     0,     0, -2772,  4106,     0,  5280,
3764        0,     0,  3312,     0,     0,  4109,     0,  2461,  2462,  2463,
3765     2464,  2465,  2466,     0,     0,     0,  4103,     0,     0,     0,
3766        0,     0,  3312,     0,     0,   881,   937,     0,     0,     0,
3767        0,     0,     0,     0,   616,  3312,   618,     0,     0,     0,
3768      771,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3769        0,   766,   186,   768,     0,     0,     0,   774,  5971,     0,
3770        0,     0,   788,   796,   766,     0,   803,     0, -2550,   796,
3771      796,     0,   832,     0,   835,  1757,     0,     0,  5525,     0,
3772      618,   889,   889,   889,     0,     0,     0,     0,     0,     0,
3773        0,     0, -2550,     0, -2550, -2550,     0,     0,     0,  4191,
3774        0,  4193,     0,     0,     0,     0,     0,     0,     0,     0,
3775        0,     0,     0,     0,     0,  4174,     0,     0,  5395,     0,
3776        0,     0,     0,     0,     0,     0,  5861,     0,     0,     0,
3777        0, -2552,     0,     0, -2550,     0,     0, -2550, -2550, -2550,
3778        0,     0,   618,     0,     0,   881,     0,     0,     0,  5421,
3779        0,     0,     0,     0,     0,     0,     0,     0,     0,    71,
3780      615,   175,   190,   185,    80,    83,    84,   180,    85,   181,
3781       86,   106,   124,     0,   618,   129,     0,   159,   618,   183,
3782      618,   178,     0,     0,     0,     0,   893,     0,   184,     0,
3783        0,  1105,  4247,  3312,     0,     0,  5423,     0,     0,     0,
3784      618,  5911,  3305,   618,     0,     0,     0,     0,     0,     0,
3785      685,     0,     0, -2568,   618,  2674,     0,     0,     0,     0,
3786        0,   618,     0,     0,   616,   917,   917,     0, -2552,   917,
3787        0,     0,     0,   928,  4269,   832,     0,     0,   964,  4262,
3788        0,   928,     0,     0,   928,     0,     0,   832,     0,   917,
3789        0,  3312,   832,  2675,     0,     0,   917,     0,   832,     0,
3790        0,     0,     0,     0,     0,     0,   688,     0,   881,     0,
3791        0,     0,     0,   881,   881,   962,     0,     0,   618, -2552,
3792        0,     0,   689,   618,   618,   937,     0,     0,     0,     0,
3793        0,     0, -2552,     0,     0,     0,     0,     0, -2552,   937,
3794     1021,     0,     0, -2552,     0,     0,     0,     0,   915, -2552,
3795    -2568,   927, -2552,   927,   927,     0, -2552,     0,     0,   618,
3796        0,     0,     0,     0,  2676,     0,   618,     0,     0,  1757,
3797        0,  3468,     0,     0,     0,   692,     0,     0,     0,     0,
3798        0,     0,     0,     0,   693, -2552,     0,     0,     0,     0,
3799        0,     0,     0,     0,   618,     0,     0,   694,   186,     0,
3800        0, -2568,  2677,     0,     0, -2552,     0,  5582,     0,     0,
3801        0,     0,     0,     0, -2568,  4410,     0,     0,     0,     0,
3802    -2568,     0,     0,   881,   881, -2568,     0,     0,  1024,   186,
3803        0, -2568,     0,     0, -2568,     0,     0,     0, -2568,     0,
3804        0,     0,     0,   186,     0,  3312,     0,   618,     0,     0,
3805        0,     0, -2552,   618,     0, -2552,     0,     0,     0,  2870,
3806        0, -2552,     0,     0,   618,  1757,     0, -2568,   881,     0,
3807        0,     0,     0,   618,   698,   618,  4431,   618,     0,     0,
3808     5786,     0,     0,     0,   618,     0,     0, -2568,     0,     0,
3809        0,     0,  5650,     0,     0,     0,  4462,     0,     0,     0,
3810        0,  4447,   618,     0,     0,     0,     0,     0,     0,     0,
3811        0,     0,  2023,     0,  2678,     0,     0, -2552,     0,  4471,
3812        0,     0,     0,     0,     0,     0,     0,  1757,     0,   937,
3813        0,     0,     0,     0, -2568,  3312,   615, -2568,     0,   615,
3814        0,     0,  2031, -2568,  4492,  2032,     0,   212,  2679,     0,
3815        0,   703,  5833,  5834,     0,     0,     0,     0,     0,     0,
3816        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3817        0,     0,   771,     0,     0,     0,  2518,     0,  1028,     0,
3818        0,  2680,   618, -2772,     0,   615,     0,   707,     0,     0,
3819        0,     0,     0,     0,   708,     0,     0,   709,     0, -2568,
3820    -2552,     0,     0,     0,     0,     0,     0,     0,     0,  2520,
3821        0,     0,     0,     0,     0,     0,   710,     0,     0,     0,
3822      618,   618,   618,  1030, -2552,     0, -2552, -2552,   618,   712,
3823        0,     0,  1031,  3312,     0,     0,   714,     0,   618,     0,
3824        0,     0,     0,     0,  2681,  3305,     0,   186,   937,     0,
3825        0,  2682,     0,     0,   771,     0,     0,     0,     0,     0,
3826        0,   618,     0,     0,     0,     0, -2552,     0,     0, -2552,
3827    -2552, -2552,     0,     0,   937,     0,     0,   719,  4529,     0,
3828        0,     0, -2568,     0,     0,     0,     0,     0,     0,     0,
3829        0,     0,     0,     0,     0,     0,     0,  1016,     0,     0,
3830        0,     0,     0,   832,     0,   917, -2568,   917, -2568, -2568,
3831      917,     0,     0,     0,     0,   618,     0,   964,  5808,     0,
3832        0,     0,  1073, -2772,   917,   618,     0,     0, -2772,     0,
3833      917,     0,   186,   618,   618,     0,     0,  2031,     0,   618,
3834     2032,   618,   190,  5832,  2033,  2034,  2035,  5829, -2568,  5830,
3835     4640, -2568, -2568, -2568,   616,     0,     0,   618,   618,  5831,
3836        0,  2517,     0,   928,     0, -2772,     0,   964,     0,     0,
3837      928,  2518,     0,   928,     0,     0,  3312,     0,  2519,     0,
3838        0,  5974,  5975,     0,  5893,     0,     0,   937,     0,   917,
3839        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3840        0,     0,     0,     0,  2520,     0,     0,     0,     0,   618,
3841        0,     0,     0,     0,     0,   618,     0,     0,  2525,     0,
3842        0,     0,     0,     0,     0,     0,     0,     0,     0,   190,
3843     5832,     0,   618,     0,  5829,     0,  5830,     0,     0,     0,
3844      832,     0,     0,     0,     0,     0,  5831,     0,     0,     0,
3845        0,     0,   618,     0,     0,  1211,   618,     0,     0,     0,
3846     3312,   618,     0,     0,     0,     0,  3312,     0,     0,     0,
3847     4745,     0,     0,  4748,     0,  1327,  1327,     0,   832,   796,
3848        0,     0,     0,   796,     0,     0,     0,     0,     0,     0,
3849        0,     0,   618,     0,     0,     0,     0,   832,     0,   618,
3850        0,   832,     0,     0,     0,     0,     0,  1327,     0, -2772,
3851        0,     0,     0,   618,     0,     0,     0,     0,  2521,     0,
3852     1757,     0,     0,  2522,     0,     0,     0,   190,  5832,     0,
3853        0,     0,  5829,     0,  5830,     0,     0,     0,     0,     0,
3854        0,     0,  4819,     0,  5831,  2523,  2219,     0,   618,   618,
3855        0,     0,  1327,   618,     0,     0,     0,  1757,   186,     0,
3856     2524,     0,   618,   618,  3312,     0,   832,  1757,     0,     0,
3857        0,     0,     0,  4830,     0,     0,     0,     0,   832,     0,
3858        0,     0,     0,   186,     0,     0,     0,     0,     0,     0,
3859     2870,     0,     0,   832,     0,     0,  1518,     0,     0,  2269,
3860        0,     0,  1519,     0,     0,     0,     0,     0,     0, -2772,
3861        0,     0,   832,  2525,     0,     0,  2526,   917,   917,     0,
3862     2461,  2462,  2463,  2464,  2465,  2466,     0,     0,     0,     0,
3863        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3864        0,  2031,     0,     0,  2032,     0,     0,  1521,     0,   796,
3865      796,     0,     0,     0,     0,     0,     0,     0,     0,  2031,
3866        0,     0,  2032,     0,     0,     0,  2033,  2034,  2035,  3843,
3867     5892,     0,  1327,  1327,     0,  2518,     0,     0,     0,     0,
3868        0,     0, -2772,  2517,     0,   616,     0,   917,     0,     0,
3869        0,   928,     0,  2518,   964,   928,     0,   928,     0,     0,
3870     2519,     0,   917,  1522,  2527,     0,     0,     0,  2520,     0,
3871     1523,     0,     0,  1524,     0,     0,     0,     0,     0,     0,
3872        0,     0,     0,     0,     0,   832,  2520,     0,     0,     0,
3873        0,     0,   917,   917,     0,     0,     0,     0,     0,     0,
3874     1525,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3875        0,     0,     0,   832,   832,   832,     0,   917,     0,   616,
3876        0,   616,   616,     0,     0,     0,     0,     0,   186,     0,
3877        0,     0,     0,     0,  1526,     0,     0,  4967,     0,     0,
3878        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3879        0,     0,     0,     0,     0,   917,     0,   917,   917,     0,
3880        0,     0,     0,     0,  2457,     0,     0,     0,     0,     0,
3881        0,     0,  2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,
3882     2466,     0, -2772,     0,     0,  3897,     0, -2772,  3898,     0,
3883     1327,     0,     0,     0,     0,  2031,     0,  1626,  2032,     0,
3884     2521,  1528,  2033,  2034,  2035,  2522,  5046,     0,     0,     0,
3885        0,  1529,     0,     0,     0,     0,  1939,  1939,   615,  2517,
3886     1530,   832,   615,   766, -2772,     0,     0,  2523,  2219,  2518,
3887        0,     0,  1531,     0,     0,     0,  2519,   832,     0,     0,
3888        0,     0,  2524,  1973,  5068,     0,   832,     0,     0,  1979,
3889        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3890        0,     0,  2520,  1327,     0,     0,  5084,     0,     0,     0,
3891     1654,     0,     0,  1533,  1534,     0,     0,  2525,     0,     0,
3892        0,  2269,  -135,     0,     0,     0,  5079,     0,   615,     0,
3893        0,     0,     0,     0,  1327,  2525,     0,     0,  5089,     0,
3894        0,     0,     1,     0,  1655,     0,     0,     0,     0,     0,
3895        0,     0,     2,     0,     3,     4,     0,     0,     0,     0,
3896        0,     0,  1327,  1327,  1327,     0,  1327,     0,     0,     0,
3897        0,     0,     5,  5111,     0,     0,     0,     0,     0,     0,
3898        0,     0,     6,     0,     0,     0,  1327,     0,     0,     0,
3899        0,     0,     0,     0,     7,     0,     8,     9,     0,     0,
3900        0,     0,     0,    10,     0,    11,     0,     0, -2772,     0,
3901        0,     0,  1536,     0,     0,     0,  2521,    12,     0,    13,
3902        0,  2522,     0,     0,   832,     0,  2527,     0,     0,     0,
3903        0,     0,     0,     0,     0,     0,    14,     0,     0,    15,
3904        0,     0,  1327,  2523,  2219,     0,     0,     0,     0,     0,
3905     1488,   916,   918,     0,    16,   921,    17,     0,  2524,     0,
3906       18,  2031,     0,     0,  2032,     0,    19,     0,     0,     0,
3907        0,     0,     0,     0,    20,   979,    21,     0,     0,     0,
3908        0,     0,   989,    22,     0,  1489,     0,     0,  1327,     0,
3909        0,     0,  1327,  1327,  5196,  2518,     0,  2269,     0,     0,
3910       23,     0, -2772,   832,   832,  2604,     0,  1327, -2772,     0,
3911        0,  2525,     0,     0,  2526,     0,     0,    24,     0,  2461,
3912     2462,  2463,  2464,  2465,  2466,     0,  2457,     0,  2520,   796,
3913        0,     0,     0,     0,  2458,  2459,  2460,  2461,  2462,  2463,
3914     2464,  2465,  2466,     0,     0,     0,  1490,     0,     0,     0,
3915     3843,     0,     0,     0,     0,     0,     0,    25,    26,     0,
3916        0,     0,     0,    27,  2695,     0,     0,     0,     0,   796,
3917        0,     0,   917,     0,     0,    28,     0,     0,     0,   615,
3918      615,     0,  1491,     0,     0,   832,  2723,     0,     0,     0,
3919        0,     0,     0,    29,   832,     0,     0,   917,     0,     0,
3920        0,     0,  2527,     0,     0,     0,     0,     0,     0,     0,
3921        0,     0,     0,     0,  4247,     0,     0,     0,  1492,     0,
3922        0,     0,     0,     0,   964,     0,   832,     0,     0,   796,
3923        0,     0,     0,     0,     0,     0,    30,     0,     0,     0,
3924        0,     0, -2772,     0,     0,     0,   796, -2772,     0,   832,
3925       31,     0,   832,     0,  1493,     0,    32,    33,  1494,    34,
3926     3843,     0,  3843,     0,    35,     0,     0,     0,     0,     0,
3927       36,     0,     0,    37,   917,     0,     0,     0,     0,     0,
3928       38,     0,     0,     0, -2772,     0,    39,    40,     0,  1495,
3929     1496,   832,     0,     0,    41,     0,     0,     0,    42,     0,
3930        0,     0,  2457,   917,   917,   917,   917,   832,    43,     0,
3931     2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,     0,
3932        0,   832,     0,    44,     0,     0,  3899,  1497,     0,     0,
3933        0,    35,  1327,  1327,  1327,     0,  1498,  2525,     0,     0,
3934        0,     0,     0,    45,     0,  1499,     0,     0,     0,     0,
3935        0,     0,     0,  1500,    46,     0,     0,     0,     0,     0,
3936       47,  1501,     0,     0,     0,    48,     0,     0,  2031,     0,
3937        0,  2032,     0,  1502,     0,  2033,  2034,  2035,    49,     0,
3938        0,     0,  1503,     0,     0,     0,  1504,     0,     0,     0,
3939        0,   615,  2517,     0,     0,     0,     0,     0,   615,     0,
3940        0,    50,  2518,   615,     0,     0,   615,  4999,     0,  2519,
3941        0,     0,     0,     0,     0,     0,     0,     0,     0,    56,
3942        0,     0,  -135,     0,     0,     0,     0,     0, -2772,     0,
3943      832,     0,     0,     0,     0,  2520,     0,     0,     0,     0,
3944     1505,   832,     0,     0,     0,     0,     0,     0,     0,   917,
3945      917,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3946        0,     0,  3780,     0,     0,   917,     0,     0,     0,     0,
3947        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3948        0,     0,     0,   832,     0,     0,  1488,     0,     0,     0,
3949        0,  1047,     0,  1050,     0,     0,  1052,     0,     0,   917,
3950      917,   917,   917,     0,     0,     0,     0,     0,   832,     0,
3951     1077,     0,     0,     0,     0,   832,  1081,     0,     0,     0,
3952        0,  1489,     0,     0,     0,  1964,     0,     0, -2772,     0,
3953     1964,  1964,   616,     0,     0,   616,     0,     0,     0,  2461,
3954     2462,  2463,  2464,  2465,  2466,   928,   928,     0,     0,  2521,
3955        0,     0,     0,     0,  2522,     0,   964,   964,     0,     0,
3956      928,     0,     0,   928,     0,     0,     0,     0,     0,     0,
3957        0,     0,  1488,     0,     0,     0,  2523,  2219,   917,   917,
3958        0,     0,  1490,     0,     0,   917,     0,   832,     0,     0,
3959        0,  2524,     0,     0,     0,     0,     0,     0,     0,     0,
3960        0,     0,     0,     0,  1939,     0,     0,  1489,     0,     0,
3961        0,   917,     0,   928,     0,     0,   928,   928,  1491,   832,
3962      832,     0,   917,     0,     0,     0,     0,     0,     0,   832,
3963     2269,     0,     0,     0,     0,     0,   832,     0,     0,  5138,
3964        0,  5604,   766,   766,  2525,     0,  3112,  2526,     0,  3781,
3965     1327,     0,  1327,     0,  1492,     0,     0,  1327,  1327,     0,
3966        0,     0,     0,     0,  1327,  1327,  1327,     0,  1490,  1327,
3967      615,  1327,   964,  1327,  1327,  1327,  1327,  1327,  1327,  -135,
3968     1327,     0,  1327,  1327,     0,  5640,  1327,     0,     0,     0,
3969        0,     0,     0,     0,  1494,     0,     0,     0,     0,     1,
3970        0,  1327,  1327,  1327,  1491,     0,     0,     0,     0,     2,
3971        0,     3,     4,     0,     0,     0,     0,     0,  1327,     0,
3972        0,     0,     0,     0,     0,     0,  1496,     0,     0,     5,
3973        0,     0,     0,     0,     0,  2527,     0,     0,     0,     6,
3974     1492,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3975        0,     7,     0,     8,     9,  1518,     0,     0,   917,     0,
3976       10,  1519,    11,     0,     0,     0,     0,    35,     0,     0,
3977        0,     0,  1498,     0,    12,     0,    13,  1518,     0,     0,
3978     1494,  1499,     0,  1519,     0,     0,     0,     0,     0,  1500,
3979        0,     0,     0,    14,     0,     0,    15,  2707,  1624,     0,
3980        0,     0,     0,  1550,  1551,     0,  1521,     0,     0,  1502,
3981        0,    16,  1496,    17,     0,     0,     0,    18,  1503,     0,
3982        0,     0,  1504,    19,     0,     0,     0,     0,  1521,     0,
3983        0,    20,   615,    21,     0,  2457,     0,     0,     0,     0,
3984       22,  3783,     0,  2458,  2459,  2460,  2461,  2462,  2463,  2464,
3985     2465,  2466,   615,    35,     0,  2706,     0,    23,  1498,  3949,
3986        0,  1327,  1522,     0,     0,   615,     0,  1499,     0,  1523,
3987        0,     0,  1524,  1776,    24,  1500,  1505,     0,     0,     0,
3988     3784,     0,  1625,  2707,  1522,     0,     0,     0,  1788,  2031,
3989     3843,  1523,  2032,     0,  1524,  1502,  2033,  2034,  2035,  1525,
3990        0,  1327,     0,     0,  1503,     0,     0,     0,  1504,     0,
3991        0,     0,     0,  2517,    25,    26,     0,   927,  1810,  1811,
3992       27,  1525,     0,  2518,     0,     0,     0,     0,     0,     0,
3993     2519,     0,    28,  1526,     0,     0,     0,     0,     0,   757,
3994        0,     0,     0,  1848,     0,   757,     0,     0,     0,     0,
3995       29,     0,  1327,     0,     0,  1526,  2520,     0,     0,     0,
3996        0,   927,  1505,     0,     0,     0,     0,     0,     0,     0,
3997        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
3998        0,     0,     0,  1885,  1887,     0,     0,     0,     0,     0,
3999        0,     0,     0,    30,     0,     0,  1626,     0,     0,     0,
4000     1528,     0,     0,     0,     0,     0,     0,    31,     0,     0,
4001     1529,     0,     0,    32,    33,     0,    34,     0,  1626,  1530,
4002        0,    35,  1528,   615,     0,     0,     0,    36,     0,     0,
4003       37,  1531,  1529,     0,     0,     0,     0,    38,     0,     0,
4004        0,  1530,     0,    39,    40,     0,     0,     0,     0,     0,
4005        0,    41,     0,  1531,     0,    42,     0,     0,     0,     0,
4006        0,     0,     0,     0,     0,    43,     0,     0,     0,  2687,
4007     2521,     0,  1533,  1534,     0,  2522,     0,     0,     0,     0,
4008       44,   615,     0,     0,     0,     0,     0,     0,     0,     0,
4009        0,  1627,     0,     0,  1533,  1534,     0,  2523,  2219,     0,
4010       45,     0,     0,  2688,     0,     0,     0,     0,     0,     0,
4011        0,    46,  2524,     0,     0,     0,     0,    47,     0,     0,
4012        0,     0,    48,     0,     0,  1628,  1327,  1327,  1327,  1327,
4013     1327,  1327,  1327,  1327,  1327,    49,  1327,     0,     0,     0,
4014        0,     0,     0,     0,   832,  1327,     0,  1327,     0,     0,
4015        0,  2269,     0,     0,   832,     0,     0,     0,    50,    51,
4016       52,    53,    54,    55,     0,  2525,     0,     0,  2526,     0,
4017        0,  1536,     0,     0,     0,     0,    56,     0,     0,  -135,
4018        0,     0,     0,   832,     0,  1327,     0,     0,   917,  1327,
4019        0,     0,  1327,  1536,  1327,     0,     0,  1327,     0,     0,
4020        0,  1327,     0,     0,     0,     0,     0,  5565,     0,     0,
4021        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4022        0,     0,     0,     0,  3315,     0,     0,     0,     0,     0,
4023      832,   832,     0,     0,     0,   615,  2031,     0,     0,  2032,
4024        0,  1327,     0,  2033,  2034,  2035,     0,     0,     0,     0,
4025     1327,  1327,     0,     0,     0,     0,  2527,     0,     0,     0,
4026     2517,     0,     0,     0,   832,     0,     0,     0,     0,     0,
4027     2518,  3358,     0,  3363,     0,     0,     0,  2519,     0,     0,
4028        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4029        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4030        0,     0,     0,  2520,     0,     0,     0,     0,     0,     0,
4031        0,     0,   766,     0,   766,     0,     0,     0,     0,     0,
4032        0,     0,     0,  1518,     0,   615,     0,     0,     0,  1519,
4033        0,  1327,     0,     0,     0,     0,     0,     0,     0,     0,
4034        0,     0,   616,     0,  1624,   928,   964,   928,   928,     0,
4035        0,   917,     0,     0,   832,     0,  2457,     0,  2705,     0,
4036        0,     0,     0,     0,  2458,  2459,  2460,  2461,  2462,  2463,
4037     2464,  2465,  2466,     0,  1521,   796,     0,  3189,     0,     0,
4038        0,     0,     0,  2744,     0,     0,  2723,     0,     0,     0,
4039        0,     0,     0,     0,  3471,   832,     0,     0,     0,     0,
4040        0,  3482,     0,     0,     0,     0,     0,     0,     0,     0,
4041      832,     0,     0,     0,     0,     0,     0,  2521,     0,     0,
4042        0,     0,  2522,   615,     0,     0,     0,     0,  1625,     0,
4043     1522,   832,     0,     0,     0,     0,     0,  1523,     0,     0,
4044     1524,     0,     0,     0,  2523,  2219,     0,     0,     0,     0,
4045        0,   832,   832,     0,     0,   832,     0,     0,   796,  2524,
4046     2826,     0,     0,     0,     0,     0,     0,  1525,     0,     0,
4047        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4048        0,   917,     0,     0,   917,     0,     0,     0,     0,  2851,
4049     2852,  2853,  2854,     0,     0,     0,     0,     0,  2269,     0,
4050        0,  1526,   927,     0,     0,     0,     0,     0,     0,   832,
4051      832,     0,  2525,     0,     0,  2526,     0,     0,     0,     0,
4052        0,     0,     0,     0,  3621,     0,  3624,  3626,     0,     0,
4053      880,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4054        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4055        0,     0,     0,     0,     0,     0,     0,  1327,  1327,  1327,
4056        0,     0,     0,  1327,  1626,     0,   615,     0,  1528,     0,
4057        0,   917,     0,     0,   927,   927,     0,     0,  1529,     0,
4058        0,     0,     0,     0,   917,     0,     0,  1530,     0,     0,
4059     1327,     0,   917,     0,     0,     0,     0,     0,     0,  1531,
4060        0,     0,     0,  2527,     0,  2723,     0,     0,     0,     0,
4061      832,     0,     0,   832,     0,     0,     0,  3727,     0,     0,
4062      766,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4063        0,     0,   917,  3738,     0,  2907,  2908,  3592,     0,     0,
4064     1533,  1534,     0,  3621,     0,     0,     0,     0,     0,     0,
4065      615,  2925,     0,   917,     0,  3760,   615,     0,   757,     0,
4066      757,     0,   757,     0,     0,     0,     0,   684,   757,  1183,
4067     1184,  3593,     0,  5897,     0,     0,   770,     0,     0,     0,
4068        0,     0,     0,     0,     0,  2969,  2970,  2971,  2972,     0,
4069        0,     0,     0,     0,   917,     0,   917,     0,   917,     0,
4070        0,     0,     0,  2457,     0,     0,     0,     0,     0,     0,
4071        0,  2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,
4072        0,     0,     0,     0,  4283,     0,     0,     0,     0,     0,
4073        0,  1939,     0,     0,     0,     0,     0,     0,  2031,  1536,
4074     5932,  2032,     0,     0,     0,  2033,  2034,  2035,     0,     0,
4075        0,     0,     0,     0,   615,     0,     0,     0,     0,     0,
4076        0,     0,  2517,     0,     0,  3046,     0,     0,     0,     0,
4077        0,  3050,  2518,     0,     0,     0,     0,     0,     0,  2519,
4078        0,   616,   917,     0,   928,     0,   928,   928,     0,   917,
4079     5932,     0,     0,     0,  5967,     0,  1327,     0,     0,     0,
4080        0,  1327,     0,   927,   927,  2520,     0,     0,     0,     0,
4081        0,  2031,     0,     0,  2032,     0,     0,     0,  2033,  2034,
4082     2035,     0,     0,     0,     0,     0,     0,  1327,  1327,  1327,
4083        0,     0,  1327,     0,     0,  2517,     0,     0,     0,     0,
4084     1327,  1327,  1327,  1327,     0,  2518,     0,     0,     0,     0,
4085        0,     0,  2519,  1327,     0,     0,  1327,     0,  1327,     0,
4086      757,     0,     0,     0,     0,     0,     0,     0,     0,  1327,
4087     1327,     0,     0,  1327,     0,     0,  2031,     0,  2520,  2032,
4088        0,     0,     0,  2033,  2034,  2035,     0,     0,     0,     0,
4089      964,     0,  1327,     0,  1327,     0,  1327,     0,     0,     0,
4090     2517,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4091     2518,     0,     0,     0,     0,     0,  1327,  2519,     0,  2521,
4092      832,     0,     0,     0,  2522,     0,     0,     0,     0,   757,
4093        0,     0,     0,     0,  1518,     0,     0,     0,     0,     0,
4094     1519,   832,     0,  2520,  3203,     0,  2523,  2219,     0,     0,
4095        0,     0,     0,     0,     0,  1520,     0,     0,     0,     0,
4096        0,  2524,     0,     0,     0,     0,     0,     0,     0,   616,
4097        0,     0,  3315,  4022,     0,     0,     0,  4022,  4036,  4022,
4098        0,     0,     0,     0,  1327,  1521,     0,     0,     0,  1327,
4099        0,     0,  2521,     0,     0,     0,     0,  2522,     0,  2031,
4100     2269,     0,  2032,     0,  1327,     0,  2033,  2034,  2035,     0,
4101        0,     0,     0,     0,  2525,     0,     0,  2526,  3315,  2523,
4102     2219,     0,  4067,     0,     0,  4070,     0,  3363,     0,     0,
4103        0,     0,     0,  2518,  2524,     0,     0,     0,     0,     0,
4104     2519,  1522,     0,     0,     0,     0,     0,     0,  1523,     0,
4105        0,  1524,     0,     0,     0,     0,     0,  2521,     0,     0,
4106        0,     0,  2522,     0,     0,     0,  2520,  1327,     0,     0,
4107        0,     0,     0,  2269,  1939,     0,     0,     0,  1525,     0,
4108        0,     0,     0,     0,  2523,  2219,     0,  2525,     0,     0,
4109     2526,     0,     0,     0,     0,     0,     0,   917,   917,  2524,
4110        0,     0,     0,     0,     0,  2527,     0,     0,     0,     0,
4111        0,     0,  1526,     0,     0,     0,     0,     0,     0,     0,
4112        0,     0,  1518,     0,     0,     0,     0,     0,  1519,     0,
4113        0,     0,     0,     0,     0,     0,     0,     0,  2269,     0,
4114        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4115        0,     0,  2525,     0,     0,  2526,     0,     0,     0,     0,
4116        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4117      880,     0,     0,  1521,     0,  1527,     0,     0,  2527,  1528,
4118     2521,     0,     0,     0,     0,  2522,     0,     0,     0,  1529,
4119        0,     0,     0,     0,     0,     0,   880,     0,  1530,     0,
4120        0,     0,     0,     0,   832,  2457,     0, -2772, -2772,     0,
4121     1531,     0,     0,  2458,  2459,  2460,  2461,  2462,  2463,  2464,
4122     2465,  2466,  2524,     0,     0,     0,  4463,     0,     0,  1522,
4123        0,     0,     0,     0,     0,     0,  1523,     0,     0,  1524,
4124        0,     0,     0,  2527,     0,     0,     0,     0,  1532,     0,
4125        0,  1533,  1534,     0,     0,     0,     0,     0,     0,     0,
4126        0, -2772,   757,     0,     0,     0,  1525,   757,   757,     0,
4127        0,     0,     0,     0,     0,  2525,     0,     0,  2457,     0,
4128        0,  1038,  1535,     0,     0,     0,  2458,  2459,  2460,  2461,
4129     2462,  2463,  2464,  2465,  2466,  2535,     0,     0,     0,  4513,
4130     1526,     0,     0,     0,  2542,     0,  2543,     0,     0,     0,
4131     2546,     0,     0,     0,     0,     0,  1327,  2552,     0,     0,
4132        0,     0,  1327,     0,     0,     0,     0,     0,     0,     0,
4133        0,  1104,   684,   917,     0,     0,     0,     0,     0,     0,
4134        0,   880,     0,  2457,     0,     0,     0,     0,     0,     0,
4135     1536,  2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,
4136        0,     0,     0,  1527,  4616,     0,  2527,  1528,     0,     0,
4137      832,   832,   832,     0,  3203,     0,     0,  1529,     0,     0,
4138        0,     0,     0,     0,     0,     0,  1530,   832,     0,     0,
4139        0,     0,     0,     0,     0,     0,     0,     0,  1531,     0,
4140        0,     0,  1327,     0,     0,     0,   757,     0,  1488,     0,
4141        0,     0,     0,     0,     0,     0,   757,     0,     0,     0,
4142     1939,   832,   832,     0,     0,  1202,   832,     0,     0,     0,
4143        0,     0,     0,     0,     0,     0,  2764,     0,   832,  1533,
4144     1534,     0,     0,  1489,     0,     0,     0,     0,     0,     0,
4145        0,  1220,     0,     0,     0,     0,     0,     0,     0,  1330,
4146     1183,  1184,  1339,  1104,  1341,     0,  2457,     0,     0,     0,
4147     2765,     0,     0,     0,  2458,  2459,  2460,  2461,  2462,  2463,
4148     2464,  2465,  2466,  1673,     0,     0,     0,     0,     0,     0,
4149        0,     0,     0,     0,   917,     0,     0,     0,     0,     0,
4150        0,   880,     0,   757,  1490,     0,   757,   757,     0,     0,
4151        0,     0,   880,     0,     0,   832,     0,     0,     0,     0,
4152        0,     0,     0,     0,     0,     0,     0,   880,   832,     0,
4153        0,   832,     0,     0,     0,     0,     0,  3436,  1536,     0,
4154     1491,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4155     1327,     0,     0,     0,     0,     0,     0,     0,  1518,  1327,
4156        0,     0,     0,     0,  1519,     0,     0,  1327,     0,  1327,
4157        0,     0,  1327,     0,     0,     0,  1492,  1327,  1327,  1327,
4158     1327,     0,     0,  1327,  1327,  1327,  1327,  1327,  1327,  1327,
4159     1327,  1327,  1327,     0,     0,     0,  1327,  1327,  1327,     0,
4160        0,     0,     0,     0,     0,     0,  1327,     0,     0,  1521,
4161     1327,     0,  1493,     0,  1327,     0,  1494,     0,     0,     0,
4162        0,     0,  1327,     0,     0,  1327,     0,  1327,     0,     0,
4163        0,     0,     0,     0,     0,     0,     0,  1327,     0,     0,
4164     1327,  1327,     0,     0,     0,  1327,  1327,  1559,  1496,     0,
4165     4536,     0,  1327,     0,     0,     0,     0,     0,     0,   832,
4166      832,   832,  1104,     0,     0,  1522,     0,  3572,     0,     0,
4167     3575,     0,  1523,     0,     0,  1524,     0,     0,     0,  4022,
4168     4036,  4022,   880,  1327,  4022,  1560,     0,  4560,     0,    35,
4169        0,  3315,     0,     0,  1498,  3315,     0,   757,     0,     0,
4170        0,  4575,  1525,  1499,     0,     0,     0,     0,     0,     0,
4171        0,  1500,     0,     0,     0,     0,     0,     0,     0,  1561,
4172        0,     0,     0,     0,     0,     0,     0,  1327,     0,     0,
4173        0,  1502,     0,     0,     0,     0,  1526,     0,     0,     0,
4174     1503,  3363,     0,  1327,  1504,     0,     0,     0,     0,     0,
4175        0,     0,     0,     0,     0,     0,     0,  3666,     0,     0,
4176        0,  4622,  1939,  1939,     0,     0,     0,     0,     0,     0,
4177     3679,     0,     0,     0,     0,     0,     0,     0,  3688,     0,
4178        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4179        0,     0,     0,     0,     0,     0,     0,     0,  1505,  1626,
4180        0,  2723,  4654,  1528,     0,     0,     0,     0,     0,     0,
4181        0,     0,     0,  1529,     0,     0,     0,     0,  3733,     0,
4182     4675,     0,  1530,     0,  2031,     0,     0,  2032,     0,     0,
4183        0,  2033,  2034,  2035,  1531,     0,     0,     0,     0,  3757,
4184        0,     0,     0,     0,     0,     0,     0,     0,  2517,     0,
4185     1963,     0,     0,     0,     0,     0,     0,     0,  2518,     0,
4186        0,     0,     0,     0,     0,  2519,     0,     0,     0,     0,
4187        0,     0,  3463,  1104,     0,  1533,  1534,     0,     0,     0,
4188        0,     0,  3812,     0,  3814,     0,     0,     0,     0,  2031,
4189        0,  2520,  2032,     0,     0,     0,  2033,  2034,  2035,     0,
4190        0,     0,     0,     0,     0,     0,  1535,     0,     0,  3134,
4191     3135,     0,     0,  2517,     0,     0,  3149,  3150,     0,     0,
4192     4763,     0,     0,  2518,  2625,     0,     0,     0,     0,     0,
4193     2519,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4194        0,     0,     0,     0,     0,  3191,     0,     0,     0,     0,
4195     2027,     0,     0,   917,     0,     0,  2520,     0,     0,  2029,
4196        0,     0,     0,     0,     0,     0,     0,   917,  3868,  1327,
4197        0,     0,     0,  2480,  1536,  3875,   832,     0,     0,     0,
4198        0,     0,  4807,     0,     0,     0,     0,     0,     0,     0,
4199     2625,     0,  1104,  2723,     0,  2497,  2498,     0,     0,     0,
4200     1104,  1104,     0,     0,     0,  2521,     0,   832,     0,     0,
4201     2522,     0,  3315,  3738,  2031,     0,     0,  2032,     0,     0,
4202     3621,  2033,  2034,  2035,     0,     0,     0,     0,     0,  4856,
4203        0,   880,  2523,  2219,     0,     0,     0,     0,  2517,   832,
4204        0,     0,     0,     0,     0,     0,     0,  2524,  2518,     0,
4205        0,  1327,  1327,     0,     0,  2519,     0,     0,     0,     0,
4206        0,     0,  1327,     0,   880,     0,     0,     0,     0,     0,
4207     2521,     0,     0,  1939,   832,  2522,     0,     0,     0,     0,
4208        0,  2520,     0,     0,     0,     0,  2269,     0,     0,     0,
4209        0,   832,     0,     0,     0,     0,     0,  2523,  2219,  1518,
4210     2525,     0,     0,  2526,     0,  1519,     0,     0,     0,     0,
4211        0,     0,  2524,     0,     0,     0,     0,     0,     0,  1488,
4212        0,     0,     0,     0,     0,     0,     0,  1327,     0,     0,
4213        0,     0,     0,     0,     0,     0,     0,     0,  1327,     0,
4214        0,     0,     0,  1673,  1673,  1673,     0,     0,     0,     0,
4215     1521,  2269,     0,     0,  1489,     0,     0,     0,     0,     0,
4216        0,     0,     0,     0,     0,  2525,  1327,     0,  2526,  1327,
4217        0,     0,     0,     0,     0,     0,     0,  1327,  1327,     0,
4218        0,     0,     0,     0,  1327,  1327,     0,     0,     0,  1327,
4219        0,  2527,     0,  1327,     0,  2521,  1327,  1327,     0,     0,
4220     2522,  1327,  4972,     0,     0,     0,  1522,  1327,   832,   832,
4221      832,   832,     0,  1523,     0,  1490,  1524,     0,     0,     0,
4222        0,     0,  2523,  2219,   616,     0,     0,  4022,     0,     0,
4223        0,  3315,     0,     0,     0,     0,  3315,  2524,     0,  3315,
4224      616,     0,  3621,  1525,  5003,     0,     0,  1327,     0,   964,
4225        0,  1491,     0,  2824,   880,     0,  2527,     0,  1327,     0,
4226        0,  2832,  4067,     0,     0,   880,     0,  3363,     0,     0,
4227      870,     0,     0,     0,     0,     0,  2269,  1526,     0,     0,
4228        0,   880,   766,  4107,  4108,  1327,     0,  1492,     0,     0,
4229     2525,  2457,     0,  2526,     0,     0,     0,     0,     0,  2458,
4230     2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,     0,     0,
4231        0,     0,  4836,     0,     0,     0,     0,     0,     0,  2723,
4232        0,     0,     0,  1493,     0,     0,     0,  1494,     0,     0,
4233        0,     0,     0,     0,   880,  5067,     0,     0,     0,     0,
4234     1626,     0,     0,     0,  1528,     0,     0,     0,     0,   880,
4235        0,     0,   880,   880,  1529,     0,  2457,     0,  1576,  1496,
4236        0,     0,     0,  1530,  2458,  2459,  2460,  2461,  2462,  2463,
4237     2464,  2465,  2466,     0,     0,  1531,     0,  4931,     0,     0,
4238        0,  2527,     0,   880,   880,     0,  1327,     0,     0,     0,
4239        0,     0,     0,     0,     0,     0,  1577,     0,     0,     0,
4240       35,     0,     0,     0,     0,  1498,     0,     0,     0,     0,
4241      917,     0,     0,  3637,  1499,     0,  1533,  1534,     0,     0,
4242        0,     0,  1500,     0,     0,   917,     0,     0,     0,     0,
4243     1578,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4244        0,     0,  1502,     0,     0,     0,     0,  3638,     0,     0,
4245        0,  1503,     0,     0,     0,  1504,  1327,     0,     0,     0,
4246        0,  3287,  3289,     0,     0,     0,     0,  3297,     0,     0,
4247        0,     0,   616,     0,  2961,     0,     0,     0,  2966,  2723,
4248        0,  2457,     0,     0,  1673,     0,     0,  1673,  1939,  2458,
4249     2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,  2031,  3339,
4250     3339,  2032,  4968,  3738,     0,  2033,  2034,  2035,     0,  1505,
4251        0,   880,     0,     0,     0,  1536,   917,     0,  3760,  4270,
4252        0,     0,  2517,     0,     0,     0,     0,     0,     0,     0,
4253        0,     0,  2518,     0,  2031,     0,     0,  2032,     0,  2519,
4254        0,  2033,  2034,  2035,   832,  1518,     0,     0,     0,     0,
4255        0,  1519,     0,     0,     0,   832,     0,     0,  2517,   757,
4256        0,     0,     0,     0,     0,  2520,     0,     0,  2518,     0,
4257        0,     0,     0,     0,     0,  2519,     0,     0,     0,     0,
4258        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4259        0,     0,     0,     0,     0,     0,  1521,     0,     0,     0,
4260     1327,  2520,     0,  1327,     0,     0,  1327,  1327,  1327,     0,
4261        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4262        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4263        0,  1327,  1327,     0,     0,  1327,     0,     0,     0,     0,
4264        0,     0,     0,  3470,     0,  3145,     0,     0,     0,     0,
4265        0,     0,  1522,     0,     0,  1327,     0,     0,     0,  1523,
4266        0,  1327,  1524,     0,     0,  3315,     0,     0,     0,  5003,
4267        0,     0,  1327,     0,  5277,     0,     0,     0,     0,  2521,
4268     4422,     0,     0,     0,  2522,  4622,     0,  1327,     0,  1525,
4269        0,     0,     0,     0,     0,     0,     0,     0,  4622,   964,
4270      917,     0,   917,     0,     0,     0,  2523,  2219,     0,     0,
4271        0,     0,     0,     0,     0,  2521,     0,     0,     0,     0,
4272     2522,  2524,     0,  1526,   757,     0,     0,     0,     0,     0,
4273        0,     0,   757,     0,     0,   757,     0,     0,     0,     0,
4274        0,     0,  2523,  2219,     0,     0,     0,   757,     0,     0,
4275      928,   964,     0,     0,     0,     0,     0,  2524,     0,     0,
4276     2269,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4277        0,     0,     0,     0,  2525,     0,     0,  2526,     0,     0,
4278        0,     0,     0,     0,     0,     0,  1626,     0,     0,     0,
4279     1528,     0,     0,     0,   928,     0,  2269,     0,     0,     0,
4280     1529,     0,     0,     0,     0,     0,     0,  4807,     0,  1530,
4281     2525,     0,   832,  2526,     0,     0,     0,   832,     0,     0,
4282        0,  1531,     0,     0,     0,     0,  2723,     0,     0,     0,
4283        0,     0,     0,     0,     0,     0,   832,     0,     0,     0,
4284     4856,     0,     0,  5410,     0,     0,  1518,     0,     0,     0,
4285        0,     0,  1519,     0,   917,   832,  4622,     0,     0,  4119,
4286        0,     0,  1533,  1534,     0,  2527,  2031,     0,     0,  2032,
4287        0,     0,     0,  2033,  2034,  2035,     0,     0,     0,     0,
4288        0,     0,     0,     0,     0,     0,     0,     0,  1327,     0,
4289     2517,     0,  1327,  4120,  1327,     0,     0,  1521,     0,     0,
4290     2518,  2527,     0,     0,     0,     0,     0,  2519,     0,     0,
4291      870,     0,     0,     0,   616,     0,     0,  1327,     0,     0,
4292        0,  5474,     0,     0,     0,     0,     0,     0,  1327,     0,
4293        0,     0,     0,  2520,     0,  1327,   870,     0,     0,     0,
4294        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4295        0,     0,     0,  1522,     0,     0,     0,     0,  1673,     0,
4296     1523,  1536,     0,  1524,     0,  2457,   832,     0,  1939,     0,
4297        0,     0,     0,  2458,  2459,  2460,  2461,  2462,  2463,  2464,
4298     2465,  2466,     0,     0,     0,     0,  5218,     0,     0,     0,
4299     1525,     0,  1327,   757,     0,     0,     0,  1327,  1327,     0,
4300        0,  2457,   917,   917,   917,   917,     0,     0,     0,  2458,
4301     2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,     0,     0,
4302        0,     0,  5229,     0,  1526,     0,     0,     0,     0,     0,
4303        0,     0,     0,  1327,     0,     0,     0,     0,     0,     0,
4304      616,     0,     0,     0,     0,     0,     0,  2521,     0,     0,
4305        0,     0,  2522,     0,     0,     0,     0,     0,     0,     0,
4306        0,     0,     0,     0,     0,   832,     0,     0,  3315,     0,
4307        0,     0,     0,     0,  2523,  2219,     0,     0,     0,     0,
4308        0,   870,     0,     0,     0,     0,     0,  1626,     0,  2524,
4309        0,  1528,     0,   832,  3370,     0,     0,     0,  2625,  3376,
4310        0,  1529,     0,     0,     0,     0,     0,     0,     0,     0,
4311     1530,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4312        0,  1327,  1531,     0,     0,     0,     0,  1327,  2269,     0,
4313        0,  1939,     0,     0,     0,  3621,     0,     0,  1327,  4787,
4314        0,     0,  2525,     0,     0,  2526,  3265,  1327,     0,  1327,
4315        0,  1327,  5277,  4789,     0,   880,     0,     0,  4622,     0,
4316     4176,   880,     0,  1533,  1534,     0,   964,     0,     0,     0,
4317        0,     0,     0,     0,     0,     0,  1327,     0,     0,     0,
4318        0,  3998,     0,   757,     0,     0,     0,     0,     0,     0,
4319        0,     0,     0,     0,  4177,     0,     0,     0,     0,  4005,
4320        0,     0,   880,     0,     0,     0,     0,     0,     0,     0,
4321        0,  1939,  1939,     0,     0,     0,     0,     0,     0,     0,
4322        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4323        0,  2031,     0,  2527,  2032,     0,     0,     0,  2033,  2034,
4324     2035,   870,   917,     0,     0,  4051,  4051,     0,     0,     0,
4325        0,     0,   870,     0,     0,  2517,  5725,     0,     0,     0,
4326        0,     0,  1536,     0,     0,  2518,     0,   870,     0,     0,
4327        0,     0,  2519,     0,     0,     0,     0,     0,     0,     0,
4328        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4329        0,     0,  1104,     0,  1327,  1327,  1327,     0,  2520,     0,
4330        0,     0,  1327,     0,     0,     0,  5474,     0,     0,     0,
4331        0,     0,  1327,     0,     0,     0,     0,     0,     0,     0,
4332        0,  3363,     0,     0,     0,     0,     0,     0,     0,     0,
4333        0,     0,     0,  2457,     0,   928,     0,     0,     0,     0,
4334        0,  2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,
4335      917,  1341,     0,     0,  5237,     0,     0,  1939,     0,     0,
4336        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4337     1673,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4338        0,     0,  2723,     0,     0,     0,     0,     0,     0,  1327,
4339        0,     0,     0,     0,     0,     0,     0,     0,     0,  4622,
4340        0,     0,   880,     0,     0,     0,     0,   928,   928,  5836,
4341        0,     0,  2521,  1327,     0,  1327,     0,  2522,     0,     0,
4342        0,     0,   870,     0,  1939,  1939,  5851,     0,     0,     0,
4343     1341,  1327,  1327,     0,     0,     0,     0,  5857,     0,  2523,
4344     2219,     0,     0,     0,     0,     0,     0,  1341,     0,     0,
4345        0,     0,     0,     0,  2524,   917,     0,     0,     0,     0,
4346        0,     0,     0,     0,  2031,     0,     0,  2032,     0,     0,
4347        0,  2033,  2034,  2035,     0,     0,  2625,     0,     0,     0,
4348     2625,     0,     0,  5725,   917,   917,     0,     0,  2517,  4622,
4349        0,     0,     0,  2269,     0,     0,     0,     0,  2518,     0,
4350        0,     0,     0,     0,     0,  2519,   616,  2525,     0,     0,
4351     2526,     0,     0,  3630,     0,     0,     0,     0,     0,     0,
4352        0,     0,     0,     0,     0,     0,  1327,     0,     0,     0,
4353     1327,  2520,     0,     0,     0,  1327,     0,     0,     0,     0,
4354        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4355     3662,     0,  3662,     0,  3662,  3662,     0,     0,     0,  3662,
4356     3662,  3662,     0,  3662,  3662,  3662,  1327,     0,     0,     0,
4357        0,  5930,  5931,   616,  5934,  5474,     0,     0,     0,   880,
4358        0,     0,     0,     0,   917,     0,     0,  4622,     0,     0,
4359        0,     0,     0,     0,   880,     0,  5104,     0,  2527,   880,
4360        0,     0,     0,     0,     0,     0,     0,     0,   757,     0,
4361        0,  5108,     0,     0,     0,     0,     0,     0,  3740,     0,
4362        0,     0,  1327,   616,     0,     0,     0,   616,     0,     0,
4363        0,  4330,     0,     0,     0,   624,   928,   928,     0,     0,
4364     5977,   673,   624,  3768,     0,  2521,     0,   725,     0,   624,
4365     2522,     0,     0,     0,     0,   624,     0,   776,     0,     0,
4366        0,     0,     0,     0,   870,     0,     0,     0,     0,     0,
4367        0,     0,  2523,  2219,     0,     0,   843,   843,     0,     0,
4368        0,     0,     0,     0,     0,     0,     0,  2524,     0,     0,
4369        0,     0,     0,     0,     0,     0,     0,     0,  2457,     0,
4370        0,     0,  5167,     0,     0,     0,  2458,  2459,  2460,  2461,
4371     2462,  2463,  2464,  2465,  2466,     0,     0,     0,     0,  5240,
4372        0,     0,     0,     0,     0,     0,  2269,     0,     0,     0,
4373      870,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4374     2525,     0,     0,  2526,     0,     0,     0,     0,  2031,     0,
4375        0,  2032,     0,     0,     0,  2033,  2034,  2035,     0,     0,
4376        0,     0,     0,     0,     0,     0,     0,  2031,     0,     0,
4377     2032,   870,  2517,     0,  2033,  2034,  2035,     0,     0,     0,
4378        0,     0,  2518,     0,     0,     0,     0,     0,   757,  2519,
4379        0,  2517,     0,     0,     0,     0,     0,     0,     0,     0,
4380        0,  2518,     0,     0,   870,     0,     0,     0,  2519,     0,
4381        0,     0,     0,     0,     0,  2520,     0,     0,     0,     0,
4382        0,     0,     0,     0,     0,     0,   919,     0,     0,     0,
4383      923,  2527,     0,     0,  2520,     0,     0,     0,   966,     0,
4384        0,   968,     0,     0,   973,   974,     0,   977,  2625,   980,
4385        0,  3376,   986,  3376,   988,     0,     0,     0,  2625,     0,
4386        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4387        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4388        0,     0,     0,     0,     0,     0,  5295,     0,  5296,     0,
4389        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4390        0,     0,     0,     0,     0,   880,     0,     0,     0,     0,
4391        0,     0,     0,   880,     0,     0,  1104,     0,     0,     0,
4392        0,     0,     0,     0,     0,     0,     0,     0,     0,  2521,
4393        0,  2457,     0,     0,  2522,     0,     0,     0,  2625,  2458,
4394     2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,  2521,     0,
4395        0,     0,  5290,  2522,     0,     0,  2523,  2219,     0,  2031,
4396        0,     0,  2032,     0,     0,     0,  2033,  2034,  2035,     0,
4397        0,  2524,     0,     0,     0,  2523,  2219,     0,  2031,     0,
4398        0,  2032,     0,  2517,     0,  2033,  2034,  2035,     0,     0,
4399     2524,     0,     0,  2518,   870,     0,     0,     0,     0,     0,
4400     2519,     0,  2517,     0,     0,   870,     0,   880,     0,   880,
4401     2269,     0,  2518,     0,     0,     0,     0,     0,     0,  2519,
4402        0,   870,     0,     0,  2525,     0,  2520,  2526,     0,  2269,
4403        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4404     5422,     0,     0,  2525,     0,  2520,  2526,     0,     0,     0,
4405        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4406        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4407        0,     0,     0,  1104,   870,     0,     0,     0,     0,     0,
4408        0,     0,     0,     0,     0,     0,     0,     0,   757,   870,
4409        0,     0,   870,   870,     0,     0,     0,     0,     0,     0,
4410      880,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4411        0,     0,     0,   757,     0,  2527,     0,     0,     0,     0,
4412      757,     0,     0,   870,   870,     0,     0,  1673,     0,     0,
4413        0,   757,     0,  1673,  2527,     0,     0,     0,     0,     0,
4414     2521,     0,   880,     0,     0,  2522,     0,     0,     0,     0,
4415        0,  4167,     0,     0,     0,     0,     0,     0,     0,  2521,
4416        0,     0,     0,     0,  2522,     0,     0,  2523,  2219,     0,
4417     3376,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4418        0,     0,  2524,     0,     0,     0,  2523,  2219,     0,  5527,
4419        0,  5529,     0,     0,     0,     0,     0,     0,     0,     0,
4420        0,  2524,     0,     0,     0,  4206,     0,  1183,  1184,     0,
4421        0,     0,     0,     0,     0,  2457,     0,     0,     0,     0,
4422        0,  2269,     0,  2458,  2459,  2460,  2461,  2462,  2463,  2464,
4423     2465,  2466,     0,     0,  2457,  2525,  5323,     0,  2526,   880,
4424     2269,     0,  2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,
4425     2466,   870,     0,     0,  2525,  5363,  1015,  2526,     0,     0,
4426        0,  3376,     0,     0,     0,     0,     0,  1051,     0,     0,
4427        0,  1055,     0,  4249,     0,     0,     0,     0,  1068,  1069,
4428        0,     0,  1075,   880,  1078,  1079,     0,     0,     0,     0,
4429        0,     0,     0,     0,   757,     0,     0,     0,     0,  1101,
4430        0,  2031,     0,     0,  2032,     0,     0,     0,  2033,  2034,
4431     2035,     0,     0,     0,     0,     0,     0,  1114,     0,  3662,
4432        0,     0,     0,     0,     0,  2517,  2527,     0,     0,     0,
4433        0,  4280,  4280,     0,     0,  2518,     0,     0,  1142,     0,
4434     1144,  4296,  2519,     0,     0,  2527,  1104,   757,  1104,     0,
4435     1160,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4436        0,     0,     0,     0,   880,     0,     0,     0,  2520,     0,
4437        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4438        0,     0,   624,     0,     0,     0,     0,   880,     0,     0,
4439        0,     0,     0,     0,     0,  4350,     0,     0,     0,     0,
4440        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4441        0,     0,   880,     0,     0,     0,     0,     0,     0,     0,
4442        0,     0,     0,     0,     0,     0,  2457,     0,  5711,     0,
4443     4386,  1104,     0,     0,  2458,  2459,  2460,  2461,  2462,  2463,
4444     2464,  2465,  2466,     0,     0,  2457,     0,  5675,     0,     0,
4445        0,     0,     0,  2458,  2459,  2460,  2461,  2462,  2463,  2464,
4446     2465,  2466,     0,     0,     0,     0,  5697,   843,     0,     0,
4447        0,     0,     0,     0,     0,     0,     0,  2031,     0,     0,
4448     2032,     0,  2521,     0,  2033,  2034,  2035,  2522,     0,     0,
4449        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4450        0,  2517,     0,     0,     0,     0,     0,     0,     0,  2523,
4451     2219,  2518,     0,     0,     0,     0,     0,     0,  2519,     0,
4452        0,     0,     0,     0,  2524,     0,     0,     0,     0,     0,
4453        0,     0,     0,     0,     0,     0,  5791,     0,     0,     0,
4454        0,     0,     0,     0,  2520,     0,     0,     0,     0,  1479,
4455        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4456     2625,     0,     0,  2269,     0,     0,     0,     0,     0,     0,
4457        0,     0,     0,   757,     0,     0,     0,  2525,     0,   757,
4458     2526,     0,     0,   757,     0,     0,     0,     0,     0,     0,
4459        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4460        0,     0,     0,  4514,     0,     0,     0,     0,     0,     0,
4461     5082,  5083,     0,     0,     0,  5086,  5087,     0,     0,     0,
4462        0,     0,     0,  1657,     0,     0,     0,     0,     0,     0,
4463        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4464        0,  5866,     0,     0,     0,     0,     0,  1777,     0,     0,
4465     3376,     0,     0,     0,     0,     0,     0,     0,  2521,     0,
4466        0,     0,  1789,  2522,  1790,     0,     0,     0,  2527,     0,
4467     5880,  5880,     0,  1793,     0,  3376,     0,     0,     0,     0,
4468     1803,     0,     0,     0,     0,  2523,  2219,     0,     0,     0,
4469        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4470     2524,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4471        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4472        0,     0,  1854,     0,  1856,     0,     0,     0,     0,     0,
4473        0,     0,     0,     0,     0,     0,     0,     0,     0,  2269,
4474        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4475        0,     0,     0,  2525,     0,     0,  2526,     0,     0,     0,
4476        0,     0,     0,     0,     0,     0,     0,     0,  2457,     0,
4477     5880,     0,     0,     0,     0,     0,  2458,  2459,  2460,  2461,
4478     2462,  2463,  2464,  2465,  2466,     0,     0,     0,     0,  5878,
4479        0,     0,     0,     0,     0,     0,     0,     0,   624,     0,
4480      624,     0,   624,     0,   624,     0,   624,   624,   624,  2031,
4481      880,     0,  2032,   624,     0,     0,  2033,  2034,  2035,     0,
4482        0,  4296,     0,     0,  1959,     0,     0,     0,     0,     0,
4483        0,     0,     0,  2517,   870,     0,     0,  1971,   870,   870,
4484        0,     0,     0,  2518,  2527,     0,  4714,     0,     0,     0,
4485     2519,     0,     0,     0,  4723,     0,  3376,  4724,     0,  4725,
4486        0,  2625,     0,     0,     0,     0,     0,     0,     0,     0,
4487     2031,     0,     0,  2032,     0,     0,  2520,  2033,  2034,  2035,
4488        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4489        0,     0,     0,     0,  2517,   870,     0,     0,     0,     0,
4490        0,   870,     0,     0,  2518,  4765,     0,     0,     0,     0,
4491        0,  2519,     0,     0,     0,     0,     0,     0,     0,     0,
4492        0,  3662,     0,     0,     0,     0,  3662,     0,     0,     0,
4493        0,     0,     0,     0,     0,     0,     0,  2520,     0,     0,
4494        0,     0,   870,     0,  2457,     0,     0,     0,     0,     0,
4495        0,     0,  2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,
4496     2466,     0,     0,     0,     0,  5896,     0,     0,     0,     0,
4497        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4498        0,     0,     0,     0,     0,     0,     0,     0,   757,     0,
4499     2521,   880,     0,     0,   843,  2522,     0,   938,     0,     0,
4500        0,     0,     0,     0,     0,     0,   938,     0,     0,     0,
4501        0,     0,     0,     0,     0,     0,     0,  2523,  2219,     0,
4502      938,     0,     0,     0,  4870,     0,     0,  4296,     0,     0,
4503        0,     0,  2524,     0,     0,     0,     0,     0,     0,     0,
4504        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4505        0,  2521,     0,     0,     0,     0,  2522,     0,     0,     0,
4506        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4507        0,  2269,     0,     0,     0,     0,     0,     0,  2523,  2219,
4508        0,     0,     0,     0,     0,  2525,     0,     0,  2526,     0,
4509        0,     0,     0,  2524,     0,     0,     0,     0,  4918,  4918,
4510     4918,  4918,     0,  4918,  4918,  4918,  4918,  4918,     0,     0,
4511        0,     0,  2685,     0,   880,     0,     0,     0,     0,     0,
4512        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4513        0,     0,  2269,     0,   879,     0,     0,     0,     0,     0,
4514        0,     0,   870,     0,     0,     0,  2525,     0,     0,  2526,
4515        0,     0,   880,     0,     0,  2031,     0,     0,  2032,     0,
4516        0,     0,  2033,  2034,  2035,     0,     0,     0,     0,     0,
4517        0,     0,     0,     0,   880,     0,  2527,     0,     0,  2517,
4518        0,     0,     0,     0,  2776,  2031,     0,     0,  2032,  2518,
4519        0,     0,  2033,  2034,  2035,     0,  2519,     0,  4980,     0,
4520     4982,     0,     0,     0,     0,     0,     0,     0,     0,  2517,
4521        0,     0,     0,  3322,     0,     0,   870,     0,     0,  2518,
4522      870,     0,  2520,     0,     0,     0,  2519,     0,     0,     0,
4523        0,     0,     0,     0,     0,     0,     0,  2527,     0,     0,
4524        0,   880,     0,     0,     0,     0,     0,     0,     0,     0,
4525        0,     0,  2520,     0,     0,     0,     0,     0,     0,     0,
4526        0,     0,   757,     0,     0,     0,     0,     0,     0,     0,
4527        0,     0,     0,     0,     0,     0,  2457,     0,     0,     0,
4528        0,     0,     0,     0,  2458,  2459,  2460,  2461,  2462,  2463,
4529     2464,  2465,  2466,     0,     0,     0,     0,  5936,     0,     0,
4530        0,     0,     0,  3323,     0,     0,     0,     0,     0,     0,
4531        0,     0,     0,     0,     0,     0,     0,     0,     0,   870,
4532        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4533        0,     0,     0,     0,   870,     0,  2521,  2457,     0,   870,
4534        0,  2522,     0,     0,     0,  2458,  2459,  2460,  2461,  2462,
4535     2463,  2464,  2465,  2466,     0,     0,     0,     0,  5937,     0,
4536     5194,     0,   880,  2523,  2219,     0,  2521,     0,     0,     0,
4537        0,  2522,     0,     0,     0,     0,     0,     0,  2524,     0,
4538        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4539        0,     0,     0,  2523,  2219,     0,     0,     0,  2898,     0,
4540        0,     0,     0,     0,     0,     0,     0,     0,  2524,     0,
4541     5109,  5110,     0,     0,     0,     0,     0,  2269,     0,   938,
4542        0,     0,     0,  3662,     0,  3662,  3662,  3662,     0,     0,
4543        0,  2525,     0,  2934,  2526,     0,     0,     0,   938,     0,
4544        0,     0,  5681,     0,   938,     0,     0,  2269,     0,     0,
4545        0,     0,     0,     0,     0,     0,   938,     0,     0,     0,
4546        0,  2525,     0,     0,  2526,     0,     0,     0,     0,     0,
4547        0,     0,   938,     0,     0,     0,  2996,     0,  3000,     0,
4548        0,     0,   880,     0,     0,     0,     0,   938,     0,     0,
4549        0,  5162,     0,  2031,     0,   938,  2032,     0,  3018,     0,
4550     2033,  2034,  2035,     0,     0,     0,     0,     0,     0,   938,
4551        0,     0,     0,     0,     0,     0,     0,  2517,     0,   938,
4552        0,     0,  2527,     0,  3038,     0,  3039,  2518,     0,     0,
4553     5190,     0,     0,     0,  2519,     0,     0,     0,     0,     0,
4554        0,  3048,     0,  3049,     0,     0,     0,     0,     0,   624,
4555     3376,   624,  2527,   624,     0,   624,     0,   624,     0,     0,
4556     2520,   624,     0,     0,     0,     0,     0,     0,     0,     0,
4557        0,     0,  4918,     0,     0,   938,     0,     0,     0,   929,
4558      939,     0,     0,     0,     0,     0,     0,   929,   870,   939,
4559      929,   870,     0,   870,     0,     0,     0,     0,   870,     0,
4560        0,     0,     0,   939,   938,     0,     0,     0,     0,     0,
4561        0,     0,  3324,     0,     0,     0,     0,     0,     0,     0,
4562        0,     0,  2457,     0,     0,     0,     0,     0,   938,     0,
4563     2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,     0,
4564        0,  2894,     0,     0,     0,   870,     0,     0,     0,     0,
4565     3928,     0,  2457,   870,     0,  3929,     0,     0,     0,     0,
4566     2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,     0,
4567     3376,     0,     0,     0,  2521,     0,     0,     0,   870,  2522,
4568        0,     0,     0,     0,     0,     0,     0,     0,   938,     0,
4569        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4570        0,  2523,  2219,     0,     0,     0,     0,     0,     0,     0,
4571        0,     0,     0,     0,     0,     0,  2524,     0,     0,     0,
4572        0,  4296,     0,     0,     0,     0,     0,     0,     0,     0,
4573        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4574        0,     0,     0,     0,     0,     0,     0,   870,     0,   870,
4575        0,     0,     0,     0,     0,  2269,     0,     0,     0,     0,
4576        0,     0,     0,     0,     0,     0,  3662,     0,     0,  2525,
4577        0,     0,  2526,     0,   879,  5358,     0,  1518,     0,     0,
4578        0,     0,     0,  1519,     0,     0,     0,     0,     0,     0,
4579     1585,     0,     0,   880,     0,     0,     0,  1758,   880,   880,
4580      879,     0,     0,   938,     0,     0,     0,     0,     0,     0,
4581        0,     0,  1586,     0,     0,     0,     0,     0,     0,     0,
4582        0,     0,     0,     0,     0,     0,     0,     0,  1521,     0,
4583        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4584      870,     0,     0,  5951,     0,     0,     0,     0,     0,     0,
4585        0,     0,     0,     0,     0,     0,     0,     0,     0,  2031,
4586     3930,     0,  2032,  1587,     0,     0,  2033,  2034,  2035,     0,
4587        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4588     5951,     0,   870,  2517,  1522,     0,     0,     0,     0,     0,
4589     5951,  1523,     0,  2518,  1524,     0,     0,     0,     0,     0,
4590     2519,     0,     0,     0,     0,     0,     0,     0,  5194,   880,
4591      870,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4592        0,  1525,     0,     0,     0,   938,  2520,     0,     0,     0,
4593        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4594        0,     0,     0,     0,     0,   879,     0,     0,     0,     0,
4595        0,     0,  1588,   880,     0,  1526,     0,     0,     0,     0,
4596     2457,     0,     0,     0,     0,     0,     0,     0,  2458,  2459,
4597     2460,  2461,  2462,  2463,  2464,  2465,  2466,     0,     0,   870,
4598        0,     0,     0,     0,     0,   938,     0,     0,     0,     0,
4599        0,     0,     0,     0,     0,  1104,   938,     0,     0,  5540,
4600     1589,   870,   939,  1590,     0,     0,     0,     0,     0,     0,
4601      938,     0,     0,     0,   938,     0,     0,     0,  1591,     0,
4602        0,   939,  1528,   870,     0,     0,     0,   939,     0,     0,
4603        0,     0,  1529,     0,     0,     0,     0,     0,     0,   939,
4604     2521,  1530,     0,     0,     0,  2522,     0,     0,     0,     0,
4605        0,     0,  1592,  1531,     0,   939,     0,     0,     0,     0,
4606        0,     0,     0,     0,     0,     0,     0,  2523,  2219,   929,
4607      939,     0,     0,     0,     0,     0,   929,     0,   939,   929,
4608        0,     0,  2524,     0,     0,     0,     0,     0,     0,     0,
4609        0,  1593,   939,     0,  1533,  1534,  1594,     0,     0,     0,
4610        0,     0,   939,     0,   870,   879,     0,     0,     0,     0,
4611        0,     0,     0,     0,     0,     0,   879,     0,     0,  1595,
4612        0,  2269,     0,     0,     0,  1596,     0,   870,     0,     0,
4613        0,   879,     0,   938,     0,  2525,     0,     0,  2526,  1597,
4614        0,   938,   938,     0,     0,     0,     0,     0,     0,     0,
4615        0,     0,   870,     0,     0,     0,     0,     0,   939,     0,
4616        0,     0,  4505,     0,     0,     0,     0,     0,     0,     0,
4617        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4618        0,     0,     0,     0,     0,  1104,     0,   939,     0,  5687,
4619        0,  5688,     0,  1536,  1758,  5693,  5694,     0,     0,     0,
4620        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4621        0,   939,     0,     0,     0,     0,     0,     0,     0,     0,
4622        0,     0,     0,     0,     0,     0,  2527,     0,     0,     0,
4623        0,     0,     0,     0,     0,     0,  3366,  3367,     0,     0,
4624        0,     0,     0,  4506,     0,     0,     0,     0,     0,     0,
4625        0,     0,     0,     0,     0,  3382,  3383,     0,  3385,  3386,
4626        0,     0,  3388,  3389,     0,     0,     0,     0,     0,     0,
4627        0,   939,     0,     0,     0,     0,     0,  3400,     0,     0,
4628        0,     0,     0,     0,  3409,     0,   879,     0,  3412,  3413,
4629        0,     0,  3416,  3417,     0,     0,     0,     0,     0,  3422,
4630      870,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4631        0,  3437,     0,     0,     0,     0,     0,     0,     0,     0,
4632        0,     0,     0,  3454,     0,     0,  2457,     0,  3456,     0,
4633        0,     0,     0,     0,  2458,  2459,  2460,  2461,  2462,  2463,
4634     2464,  2465,  2466,  3462,     0,     0,     0,     0,     0,     0,
4635        0,     0,  3469,     0,     0,  3473,     0,  3475,  3478,  3480,
4636        0,     0,     0,     0,  3488,  3491,     0,     0,     0,     0,
4637        0,     0,     0,     0,  3504,     0,     0,     0,     0,  3513,
4638     1759,     0,     0,  3516,     0,     0,   939,     0,     0,     0,
4639      870,     0,     0,     0,     0,  3526,  3527,   929,     0,     0,
4640     3532,   929,     0,   929,     0,     0,  3541,  3542,     0,     0,
4641        0,     0,     0,  3547,   872,   870,  3549,     0,     0,     0,
4642        0,     0,     0,  3561,  3562,     0,     0,     0,  2496,  3566,
4643        0,     0,     0,  1673,     0,     0,     0,     0,     0,     0,
4644      938,  3573,     0,  1104,  3576,     0,     0,     0,     0,  3579,
4645        0,     0,     0,     0,     0,  3582,  3583,     0,     0,     0,
4646        0,     0,     0,  3589,     0,     0,  3591,     0,     0,     0,
4647     3598,  3599,  3600,  3601,     0,  3603,     0,     0,     0,     0,
4648        0,     0,     0,     0,     0,     0,     0,     0,  3628,  3629,
4649        0,  3631,     0,     0,     0,     0,     0,     0,     0,     0,
4650        0,     0,  3640,  3641,  3642,     0,     0,     0,   939,     0,
4651        0,     0,     0,     0,     0,     0,     0,     0,   636,     0,
4652        0,     0,     0,     0,     0,     0,     0,     0,   879,     0,
4653        0,  2031,     0,     0,  2032,     0,   637,     0,  2033,  2034,
4654     2035,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4655      870,     0,     0,     0,   938,  2517,     0,     0,     0,  3694,
4656        0,   638,     0,     0,     0,  2518,     0,  3718,   939,     0,
4657        0,     0,  2519,     0,   639,     0,  5952,     0,     0,   939,
4658        0,     0,  2480,     0,     0,     0,     0,  3731,     0,  1758,
4659     -856,     0,     0,   939,   879,     0,   870,   939,  2520,     0,
4660        0,   870,     0,     0,     0,     0,     0,     0,   640,     0,
4661        0,     0,   938,  5952,   641,     0,     0,     0,     0,     0,
4662      938,     0,     0,  5952,     0,     0,  4980,     0,   938,     0,
4663        0,     0,   642,     0,     0,   879,     0,  3799,     0,     0,
4664        0,     0,     0,   643,     0,     0,     0,     0,     0,     0,
4665        0,     0,   644,     0,     0,     0,  3813,     0,  3815,     0,
4666        0,     0,     0,     0,     0,   645,     0,     0,   879,     0,
4667        0,   938,   938,   646,     0,     0,     0,   647,     0,     0,
4668        0,     0,     0,     0,     0,   938,  2031,  5843,     0,  2032,
4669        0,     0,     0,  2033,  2034,  2035, -1051,     0,   938,   938,
4670        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4671     2517,     0,  2521,  3885,     0,     0,   939,  2522,     0,     0,
4672     2518,     0,     0,     0,   939,   939,     0,  2519,     0,     0,
4673        0,   870,     0,   648,     0,     0,     0,     0,     0,  2523,
4674     2219,     0,  -592,     0,     0,     0,     0,     0,     0,  3876,
4675        0,     0,     0,  2520,  2524,     0,     0,     0,     0,     0,
4676     2031,     0,     0,  2032,     0,     0,     0,  2033,  2034,  2035,
4677        0,     0,     0,     0,     0,     0,     0,  1759,     0,     0,
4678        0,     0,   649,     0,  2517,   650,     0,     0,     0,     0,
4679        0,     0,     0,  2269,  2518,     0,     0,     0,     0,     0,
4680        0,  2519,     0,     0,     0,   651,     0,  2525,     0,     0,
4681     2526,     0,     0,     0,     0,     0,     0,     0,     0,   652,
4682        0,     0,     0,     0,     0,     0,  -453,  2520,     0,     0,
4683        0,     0,  5844,     0,     0,     0,     0,     0,     0,     0,
4684        0,     0,     0,  1758,     0,     0,   653,     0,     0,     0,
4685        0,     0,     0,     0,   870,   654,     0,     0,   879,     0,
4686        0,     0,  -453,     0,     0,   655,     0,  2521,     0,   879,
4687        0,     0,  2522,     0,     0,     0,     0,     0,     0,     0,
4688        0,     0,     0,     0,   656,   879,     0,     0,     0,     0,
4689        0,   657,   870,     0,  2523,  2219,     0,  -453,  2527,     0,
4690      658,   659,     0,   660,   661,     0,     0,     0,     0,  2524,
4691        0,     0,     0,     0,   870,     0,     0,     0,     0,   662,
4692        0,     0,     0,     0,     0,     0,   663,     0,     0,   664,
4693        0,     0,   665,     0,     0,     0,     0,     0,   879,     0,
4694        0,  2521,     0,     0,     0,  -453,  2522,     0,  2269,     0,
4695        0,     0,     0,   879,     0,     0,   879,   879,     0,     0,
4696        0,     0,  2525,     0,     0,  2526,     0,     0,  2523,  2219,
4697        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4698        0,   870,     0,  2524,     0,     0,     0,   879,   879,     0,
4699        0,     0,     0,     0,     0,     0,     0,     0,  2457,     0,
4700        0,     0,     0,     0,   873,     0,  2458,  2459,  2460,  2461,
4701     2462,  2463,  2464,  2465,  2466,     0,     0,     0,     0,     0,
4702        0,     0,  2269,   939,     0,     0,     0,     0,  4092,     0,
4703        0,     0,     0,     0,     0,     0,  2525,  2031,     0,  2526,
4704     2032,     0,     0,     0,  2033,  2034,  2035,     0,  4104,     0,
4705        0,     0,     0,  2527,   872,     0,     0,  3901,     0,     0,
4706        0,  2517,     0,     0,  3933,  4111,     0,     0,     0,  4111,
4707        0,  2518,     0,     0,  4122,  4123,  4124,     0,  2519,     0,
4708      872,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4709        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4710        0,     0,   870,     0,  2520,     0,     0,     0,     0,     0,
4711     4154,  4155,  4156,  4157,     0,   879,     0,     0,     0,     0,
4712        0,     0,     0,     0,     0,     0,     0,  2527,     0,     0,
4713        0,     0,     0,     0,     0,     0,     0,   939,     0,     0,
4714        0,     0,     0,     0,     0,     0,     0,  4175,     0,  4179,
4715     4180,  4181,     0,  2457,     0,     0,     0,     0,     0,     0,
4716        0,  2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,
4717        0,     0,  1759,     0,     0,     0,     0,     0,     0,     0,
4718        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4719        0,     0,     0,     0,     0,   939,     0,     0,     0,     0,
4720        0,     0,     0,   939,     0,     0,     0,     0,     0,     0,
4721        0,   939,     0,     0,     0,     0,     0,     0,  2521,     0,
4722        0,     0,   870,  2522,     0,   872,     0,  2457,     0,     0,
4723        0,     0,     0,     0,     0,  2458,  2459,  2460,  2461,  2462,
4724     2463,  2464,  2465,  2466,     0,  2523,  2219,     0,     0,     0,
4725        0,   929,   929,     0,   939,   939,     0,     0,     0,     0,
4726     2524,     0,  4257,     0,     0,     0,   929,     0,   939,   929,
4727        0,  4263,     0,     0,     0,     0,     0,     0,     0,     0,
4728        0,   939,   939,     0,   875,     0,     0,     0,     0,     0,
4729      870,     0,     0,     0,     0,     0,     0,  4273,  4274,  2269,
4730        0,     0,  4275,     0,     0,     0,     0,     0,     0,     0,
4731        0,     0,     0,  2525,     0,     0,  2526,     0,     0,   929,
4732        0,     0,   929,   929,  4317,     0,     0,     0,     0,     0,
4733        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4734        0,     0,     0,     0,     0,  1758,     0,     0,     0,     0,
4735        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4736        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4737        0,     0,     0,     0,     0,     0,     0,  4353,     0,     0,
4738        0,     0,  4359,     0,     0,   872,     0,     0,  4365,     0,
4739        0,     0,     0,     0,     0,     0,   872,     0,     0,   938,
4740        0,     0,     0,     0,  2527,     0,     0,     0,     0,     0,
4741      870,   872,     0,     0,     0,     0,     0,   938,  4404,     0,
4742        0,   938,     0,     0,     0,   938,  1759,     0,     0,     0,
4743        0,     0,     0,   938,     0,     0,     0,     0,     0,     0,
4744        0,     0,     0,     0,     0,     0,     0,  4419,     0,  4420,
4745        0,   938,     0,     0,     0,  2031,     0,     0,  2032,     0,
4746        0,     0,  2033,  2034,  2035,     0,     0,     0,     0,   876,
4747        0,     0,     0,     0,     0,     0,     0,     0,     0,  2517,
4748        0,     0,     0,     0,     0,   938,     0,     0,  4443,  2518,
4749        0,     0,     0,     0,     0,     0,  2519,     0,     0,     0,
4750        0,     0,     0,     0,  2457,   938,   938,     0,     0,     0,
4751        0,     0,  2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,
4752     2466,     0,  2520,     0,     0,     0,     0,     0,     0,     0,
4753        0,     0,     0,   870,     0,     0,  1758,   938,   870,   870,
4754     1758,     0,     0,     0,     0,     0,     0,  2031,     0,     0,
4755     2032,     0,     0,     0,  2033,  2034,  2035,     0,     0,     0,
4756        0,     0,     0,   938,     0,  1758,   872,     0,     0,   938,
4757        0,  2517,     0,     0,  3944,     0,   938,     0,     0,     0,
4758        0,  2518,     0,   938,     0,     0,   938,     0,  2519,     0,
4759        0,     0,   938,     0,     0,     0,     0,     0,     0,     0,
4760        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4761        0,     0,   938,     0,  2520,     0,     0,  3938,   938,     0,
4762        0,     0,     0,     0,     0,   938,     0,     0,     0,     0,
4763        0,     0,     0,     0,     0,     0,  2521,     0,   938,     0,
4764        0,  2522,     0,     0,   873,     0,     0,     0,     0,   870,
4765        0,   938,     0,     0,     0,     0,  1758,     0,     0,     0,
4766        0,     0,   938,  2523,  2219,     0,     0,   878,     0,     0,
4767      873,     0,     0,     0,     0,     0,     0,     0,  2524,     0,
4768        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4769        0,     0,     0,   870,     0,     0,     0,     0,   879,     0,
4770        0,     0,   879,   879,     0,     0,     0,     0,     0,     0,
4771        0,     0,     0,     0,     0,     0,     0,  2269,     0,     0,
4772        0,     0,  1758,     0,  4626,     0,     0,  4633,  2521,  4634,
4773        0,  2525,     0,  2522,  2526,     0,     0,     0,     0,     0,
4774        0,     0,  4641,     0,     0,     0,     0,     0,     0,     0,
4775        0,     0,     0,     0,  4647,  2523,  2219,     0,  4650,   879,
4776        0,     0,     0,     0,     0,   879,     0,     0,     0,     0,
4777     2524,     0,     0,     0,     0,     0,     0,  4674,     0,     0,
4778        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4779        0,     0,     0,     0,     0,  4678,     0,     0,     0,     0,
4780     4682,     0,     0,     0,     0,     0,   879,     0,   872,  2269,
4781        0,     0,     0,     0,     0,   873,     0,     0,     0,     0,
4782        0,     0,  2527,  2525,     0,  4717,  2526,     0,     0,  4721,
4783        0,     0,     0,     0,     0,     0,     0,  4726,  4727,  4728,
4784     4729,     0,     0,     0,     0,     0,     0,  4733,  4734,  4735,
4785     4736,     0,     0,     0,     0,     0,  4738,  4739,     0,     0,
4786        0,     0,  4746,  4747,     0,  4749,  4750,  4751,  4752,  4753,
4787     4754,  4755,     0,     0,   872,   938,     0,     0,     0,     0,
4788        0,  4764,     0,     0,     0,  4767,  4768,  4769,  4770,     0,
4789        0,     0,     0,   938,     0,     0,     0,     0,     0,     0,
4790      938,     0,     0,     0,     0,     0,     0,     0,     0,  4111,
4791        0,     0,     0,     0,  2527,   872,     0,     0,     0,     0,
4792        0,     0,  2457,     0,   875,     0,     0,  4790,  1759,     0,
4793     2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,     0,
4794        0,     0,     0,     0,     0,     0,     0,     0,   872,     0,
4795      875,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4796        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4797        0,  1758,     0,     0,     0,   873,     0,  1758,     0,     0,
4798        0,     0,   939,     0,     0,     0,   873,     0,     0,     0,
4799        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4800      939,   873,  4871,     0,   939,     0,   879,     0,   939,     0,
4801        0,     0,     0,     0,  2457,     0,   939,     0,     0,     0,
4802        0,     0,  2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,
4803     2466,     0,     0,     0,   939,  4111,     0,     0,     0,     0,
4804        0,     0,  4896,     0,  4897,     0,     0,     0,     0,     0,
4805        0,   929,     0,   929,   929,     0,     0,   938,     0,     0,
4806        0,     0,     0,     0,  4911,     0,     0,     0,   939,     0,
4807     2031,     0,     0,  2032,     0,     0,     0,  2033,  2034,  2035,
4808      879,     0,     0,     0,   879,     0,     0,     0,   939,   939,
4809        0,     0,     0,     0,  2517,   875,     0,     0,     0,     0,
4810        0,     0,     0,     0,  2518,     0,     0,     0,     0,   876,
4811        0,  2519,     0,     0,     0,     0,     0,     0,     0,  1759,
4812      939,     0,     0,  1759,     0,     0,     0,     0,     0,     0,
4813        0,     0,     0,     0,     0,   876,     0,  2520,   872,     0,
4814        0,     0,     0,     0,     0,     0,   939,     0,  1759,   872,
4815        0,     0,   939,     0,     0,     0,   873,     0,     0,   939,
4816        0,     0,     0,     0,     0,   872,   939,     0,     0,   939,
4817        0,     0,     0,     0,     0,   939,     0,     0,     0,     0,
4818        0,     0,     0,   879,   938,   938,     0,     0,     0,     0,
4819        0,     0,     0,     0,     0,   939,     0,     0,   879,     0,
4820        0,   939,     0,   879,     0,     0,     0,     0,   939,     0,
4821        0,   938,     0,     0,   938,     0,     0,     0,   872,     0,
4822        0,   939,     0,     0,     0,     0,     0,     0,     0,     0,
4823        0,     0,     0,   872,   939,     0,   872,   872,     0,  1759,
4824        0,     0,     0,     0,     0,   939,     0,     0,     0,     0,
4825        0,  2521,     0,     0,     0,   875,  2522,     0,     0,     0,
4826        0,     0,     0,  5047,  5048,  5049,   875,   872,   872,  5050,
4827     5051,  5052,  5053,     0,     0,     0,  5055,     0,  2523,  2219,
4828      876,   875,     0,     0,     0,     0,  1758,  1758,  1758,     0,
4829        0,     0,     0,  2524,     0,     0,     0,     0,     0,     0,
4830        0,     0,     0,     0,     0,  1759,     0,   878,     0,     0,
4831      938,     0,  5074,  5075,  5076,  5077,  5078,     0,  5080,  5081,
4832        0,     0,     0,     0,     0,     0,     0,     0,     0,   938,
4833     5090,  5091,  2269,   878,     0,     0,     0,     0,     0,     0,
4834        0,     0,     0,     0,     0,     0,  2525,     0,   938,  2526,
4835        0,     0,     0,     0,     0,     0,     0,     0,     0,  5096,
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,     0,     0,     0,     0,     0,
4839        0,     0,     0,     0,     0,   872,     0,     0,   873,     0,
4840        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4841        0,     0,     0,     0,     0,     0,     0,     0,     0,  2031,
4842        0,     0,  2032,     0,     0,     0,  2033,  2034,  2035,     0,
4843        0,     0,     0,     0,   938,     0,   875,  2527,     0,     0,
4844      876,     0,     0,  2517,     0,     0,  4512,     0,     0,     0,
4845        0,   876,   879,  2518,     0,   879,     0,   879,   939,     0,
4846     2519,  5160,   879,     0,   873,     0,   876,     0,     0,  4459,
4847        0,     0,     0,     0,     0,     0,   939,     0,   878,     0,
4848        0,  1758,     0,   939,     0,     0,  2520,   938,     0,   938,
4849      929,     0,   929,   929,     0,     0,     0,     0,     0,     0,
4850        0,     0,   938,     0,   938,   873,     0,     0,     0,   879,
4851        0,     0,     0,     0,     0,     0,     0,   879,     0,     0,
4852        0,     0,     0,     0,     0,     0,  5211,     0,     0,     0,
4853        0,     0,     0,     0,     0,     0,     0,  2457,   873,     0,
4854        0,     0,   879,     0,     0,  2458,  2459,  2460,  2461,  2462,
4855     2463,  2464,  2465,  2466,  1759,     0,     0,     0,     0,     0,
4856     1759,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4857        0,     0,   938,     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     2521,     0,     0,     0,     0,  2522,     0,     0,     0,     0,
4861        0,   879,     0,   879,   938,     0,     0,     0,     0,     0,
4862        0,   876,     0,     0,     0,     0,     0,  2523,  2219,     0,
4863        0,   938,     0,     0,     0,     0,     0,   624,   878,     0,
4864      939,     0,  2524,     0,     0,     0,     0,     0,     0,   878,
4865        0,     0,     0,   938,     0,     0,   938,     0,     0,     0,
4866        0,     0,     0,     0,   878,     0,     0,     0,     0,     0,
4867        0,     0,     0,     0,     0,     0,     0,     0,   875,     0,
4868        0,  2269,     0,     0,     0,     0,     0,     0,     0,     0,
4869        0,     0,     0,     0,     0,  2525,     0,     0,  2526,     0,
4870     5312,     0,     0,     0,   879,     0,     0,     0,     0,     0,
4871        0,     0,     0,     0,     0,     0,     0,     0,     0,  5322,
4872        0,     0,     0,     0,  5327,  5328,     0,     0,   873,     0,
4873        0,     0,     0,     0,  5339,  1758,     0,     0,     0,   873,
4874        0,  5341,     0,     0,   875,     0,   879,     0,     0,     0,
4875        0,     0,     0,     0,     0,   873,     0,     0,     0,     0,
4876        0,     0,     0,     0,     0,     0,     0,   939,   939,     0,
4877        0,     0,     0,     0,   879,     0,     0,  5392,  5393,     0,
4878        0,     0,     0,     0,     0,   875,  2527,     0,     0,     0,
4879     5401,     0,  5403,     0,   939,     0,     0,   939,     0,     0,
4880        0,     0,     0,     0,     0,     0,     0,  5417,   873,     0,
4881        0,     0,     0,     0,     0,     0,     0,     0,   875,   878,
4882        0,     0,     0,   873,     0,     0,   873,   873,     0,     0,
4883        0,     0,  4111,     0,     0,     0,     0,     0,     0,     0,
4884     5451,     0,     0,   879,     0,     0,     0,     0,     0,     0,
4885        0,     0,     0,     0,     0,     0,     0,   873,   873,     0,
4886        0,     0,     0,   876,     0,   879,     0,     0,     0,  1759,
4887     1759,  1759,     0,     0,     0,     0,     0,     0,     0,     0,
4888        0,     0,     0,     0,     0,     0,  2457,   879,     0,     0,
4889        0,     0,     0,   939,  2458,  2459,  2460,  2461,  2462,  2463,
4890     2464,  2465,  2466,     0,     0,   938,     0,     0,     0,  5488,
4891        0,     0,   939,     0,     0,     0,     0,     0,     0,     0,
4892        0,     0,     0,     0,     0,     0,     0,     0,     0,   876,
4893     5505,   939,     0,     0,     0,     0,     0,     0,     0,     0,
4894     5512,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4895        0,     0,     0,     0,     0,     0,  1758,     0,     0,     0,
4896        0,  1758,     0,  1758,     0,     0,     0,     0,   879,     0,
4897      876,     0,     0,     0,     0,     0,     0,     0,   872,     0,
4898        0,     0,   872,   872,     0,   873,  1758,     0,     0,     0,
4899        0,   879,     0,     0,     0,     0,     0,     0,     0,     0,
4900        0,     0,     0,   876,     0,  5571,     0,   685,   875,     0,
4901        0,     0,   686,     0,     0,     0,   879,   939,     0,   875,
4902        0,     0,     0,     0,     0,   938,     0,     0,   938,     0,
4903        0,     0,     0,     0,     0,   875,     0,     0,     0,   872,
4904        0,     0,     0,     0,     0,   872,     0,     0,     0,  2031,
4905      687,     0,  2032,     0,     0,     0,  2033,  2034,  2035,     0,
4906        0,   878,     0,   688,  1759,     0,     0,     0,     0,     0,
4907      939,     0,   939,  2517,     0,  4111,     0,     0,     0,   689,
4908        0,     0,     0,  2518,     0,   939,   872,   939,   875,     0,
4909     2519,     0,     0,     0,     0,     0,     0,   690,     0,     0,
4910        0,     0,     0,   875,     0,     0,   875,   875,     0,     0,
4911        0,     0,     0,     0,     0,     0,  2520,     0,   938,   938,
4912        0,   691,     0,     0,     0,     0,     0,   878,   938,     0,
4913        0,     0,   692,  5663,     0,     0,     0,   875,   875,     0,
4914        0,   693,     0,     0,     0,   938,     0,  5676,     0,     0,
4915        0,     0,     0,     0,   694,   939,     0,     0,     0,   695,
4916        0,     0,     0,     0,   879,     0,   696,     0,   878,     0,
4917        0,     0,     0,     0,     0,  2031,     0,     0,  2032,     0,
4918        0,     0,  2033,  2034,  2035,   697,     0,     0,     0,     0,
4919     5704,     0,     0,   876,     0,     0,     0,   939,     0,  2517,
4920        0,   878,     0,     0,   876,     0,  5715,     0,     0,  2518,
4921        0,  4932,     0,     0,   939,     0,  2519,     0,     0,     0,
4922      876,     0,     0,     0,   938,     0,     0,     0,     0,     0,
4923     2521,   698,     0,     0,     0,  2522,   939,     0,     0,   939,
4924        0,     0,  2520,     0,     0,     0,     0,     0,     0,     0,
4925        0,     0,     0,     0,   879,     0,     0,  2523,  2219,     0,
4926        0,     0,     0,     0,     0,   875,     0,     0,     0,     0,
4927        0,   699,  2524,   876,     0,     0,     0,     0,     0,   879,
4928        0,     0,     0,     0,   700,     0,   872,     0,   876,     0,
4929        0,   876,   876,  5785,   701,     0,     0,     0,     0,     0,
4930        0,     0,     0,     0,   212,   702,     0,     0,   703,     0,
4931        0,  2269,     0,     0,     0,     0,     0,     0,  1759,     0,
4932        0,     0,   876,   876,     0,  2525,     0,     0,  2526,     0,
4933        0,     0,     0,     0,     0,   704,  5806,  4938,   705,     0,
4934        0,     0,   706,     0,   707,     0,     0,     0,     0,     0,
4935        0,   708,     0,     0,   709,     0,  2521,     0,     0,     0,
4936      872,  2522,     0,     0,   872,     0,     0,     0,     0,     0,
4937        0,     0,     0,   710,     0,     0,     0,     0,     0,     0,
4938      711,     0,     0,  2523,  2219,     0,   712,     0,     0,   713,
4939        0,   878,     0,   714,     0,     0,     0,     0,  2524,     0,
4940        0,   715,   878,   716,     0,     0,     0,     0,   717,     0,
4941        0,     0,     0,     0,   879,     0,  2527,     0,   878,     0,
4942        0,   718,     0,     0,     0,     0,     0,     0,     0,     0,
4943        0,     0,  5872,     0,   719,     0,     0,  2269,     0,   938,
4944        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4945      876,  2525,     0,     0,  2526,     0,     0,     0,     0,     0,
4946      879,     0,     0,   872,     0,   879,     0,     0,     0,     0,
4947        0,   878,     0,     0,     0,     0,     0,     0,   872,     0,
4948        0,   938,     0,   872,     0,     0,   878,     0,   939,   878,
4949      878,     0,     0,   938,     0,     0,   942,     0,     0,     0,
4950        0,     0,     0,     0,     0,     0,     0,     0,   976,     0,
4951        0,     0,     0,     0,     0,     0,  2457,     0,     0,   995,
4952      878,   878,   938,     0,  2458,  2459,  2460,  2461,  2462,  2463,
4953     2464,  2465,  2466,     0,     0,     0,     0,     0,     0,  1759,
4954        0,     0,  2527,     0,  1759,     0,  1759,     0,     0,     0,
4955        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4956        0,     0,     0,     0,     0,     0,     0,     0,   873,  1759,
4957        0,     0,   873,   873,     0,     0,     0,     0,     0,     0,
4958        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4959        0,     0,     0,     0,     0,   879,     0,     0,     0,     0,
4960     1758,     0,     0,     0,     0,     0,     0,     0,   939,     0,
4961        0,   939,     0,     0,     0,     0,     0,     0,     0,   938,
4962        0,     0,     0,     0,     0,     0,     0,     0,     0,   873,
4963        0,     0,     0,     0,     0,   873,     0,     0,     0,     0,
4964        0,     0,  2457,     0,     0,     0,     0,     0,   878,     0,
4965     2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,     0,
4966        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4967        0,     0,     0,     0,     0,     0,   873,     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,   939,   939,     0,     0,   938,     0,     0,     0,     0,
4971        0,   939,     0,     0,  2031,     0,     0,  2032,   879,     0,
4972        0,  2033,  2034,  2035,     0,     0,     0,     0,   939,     0,
4973        0,     0,   872,     0,     0,   872,     0,   872,  2517,     0,
4974        0,     0,   872,     0,     0,     0,     0,     0,  2518,     0,
4975        0,     0,     0,     0,     0,  2519,   879,     0,     0,     0,
4976        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4977        0,     0,     0,     0,     0,     0,     0,     0,   879,     0,
4978        0,  2520,     0,     0,     0,     0,     0,     0,     0,   872,
4979        0,     0,     0,     0,     0,     0,     0,   872,     0,     0,
4980        0,     0,     0,     0,     0,     0,     0,   939,     0,     0,
4981        0,     0,     0,     0,     0,   938,     0,   938,     0,     0,
4982        0,     0,   872,     0,     0,     0,     0,     0,     0,     0,
4983        0,     0,     0,     0,  2031,     0,     0,  2032,     0,     0,
4984        0,  2033,  2034,  2035,     0,   879,     0,     0,   875,     0,
4985        0,     0,   875,   875,     0,     0,     0,     0,  2517,     0,
4986        0,     0,     0,   938,     0,     0,     0,     0,  2518,     0,
4987        0,  4939,     0,     0,     0,  2519,   873,     0,     0,     0,
4988        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4989        0,   872,     0,   872,     0,  2521,     0,     0,     0,     0,
4990     2522,  2520,     0,     0,     0,     0,     0,     0,     0,   875,
4991        0,     0,  1758,     0,     0,   875,     0,     0,  1014,     0,
4992        0,     0,  2523,  2219,  1045,     0,     0,     0,     0,     0,
4993        0,     0,     0,     0,     0,     0,     0,  2524,     0,     0,
4994        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
4995      873,     0,     0,     0,   873,     0,   875,     0,     0,     0,
4996        0,     0,     0,     0,     0,     0,   879,     0,     0,     0,
4997     4940,     0,     0,     0,     0,     0,  2269,     0,     0,     0,
4998        0,     0,     0,     0,   872,     0,     0,     0,     0,     0,
4999     2525,     0,     0,  2526,     0,     0,     0,     0,     0,     0,
5000        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5001        0,     0,     0,     0,     0,  2521,     0,     0,     0,     0,
5002     2522,     0,   939,     0,     0,     0,   872,     0,     0,     0,
5003        0,     0,     0,   876,     0,     0,     0,   876,   876,     0,
5004        0,     0,  2523,  2219,     0,     0,     0,     0,     0,     0,
5005        0,     0,     0,   873,   872,     0,     0,  2524,     0,     0,
5006        0,     0,     0,     0,   939,     0,     0,     0,   873,     0,
5007        0,     0,     0,   873,     0,     0,   939,     0,     0,     0,
5008        0,  2527,     0,     0,     0,     0,   879,     0,     0,     0,
5009        0,     0,     0,     0,   876,     0,  2269,     0,     0,  1334,
5010      876,     0,     0,     0,     0,   939,     0,     0,     0,     0,
5011     2525,     0,     0,  2526,     0,     0,     0,     0,  1357,     0,
5012        0,     0,   938,   872,     0,     0,     0,     0,     0,     0,
5013        0,     0,     0,     0,     0,     0,   938,     0,     0,     0,
5014        0,   876,     0,     0,     0,   872,     0,     0,     0,     0,
5015        0,     0,     0,     0,   879,     0,   875,     0,     0,     0,
5016        0,     0,     0,     0,     0,     0,  1758,   872,     0,     0,
5017        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5018        0,  2457,     0,  1759,     0,     0,     0,  1415,     0,  2458,
5019     2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,     0,     0,
5020        0,  2527,   939,     0,     0,     0,     0,     0,  2031,     0,
5021        0,  2032,     0,     0,     0,  2033,  2034,  2035,     0,     0,
5022        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5023      875,   878,  2517,  1549,   875,   878,   878,     0,     0,     0,
5024        0,     0,  2518,     0,     0,     0,     0,     0,   872,  2519,
5025        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5026        0,     0,  1758,     0,     0,     0,     0,     0,     0,     0,
5027        0,   872,     0,     0,   879,  2520,     0,     0,     0,     0,
5028        0,     0,     0,     0,     0,     0,     0,     0,   939,     0,
5029        0,     0,   878,     0,     0,     0,   872,     0,   878,     0,
5030        0,  2457,     0,     0,     0,     0,     0,     0,     0,  2458,
5031     2459,  2460,  2461,  2462,  2463,  2464,  2465,  2466,     0,     0,
5032        0,     0,   873,     0,  1758,   873,   938,   873,     0,     0,
5033        0,     0,   873,   875,     0,     0,     0,     0,     0,   878,
5034        0,   876,     0,     0,     0,     0,  1808,     0,   875,     0,
5035        0,     0,     0,   875,     0,     0,     0,     0,     0,     0,
5036        0,     0,     0,     0,     0,  5453,     0,     0,     0,     0,
5037        0,     0,     0,     0,  1842,  1845,  1846,     0,     0,   873,
5038        0,     0,     0,     0,     0,     0,     0,   873,     0,  2521,
5039        0,     0,     0,     0,  2522,     0,     0,   879,   939,     0,
5040      939,     0,   879,   879,     0,     0,     0,     0,     0,     0,
5041        0,     0,   873,     0,     0,   876,  2523,  2219,     0,   876,
5042        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5043        0,  2524,     0,     0,     0,     0,     0,     0,     0,     0,
5044        0,     0,     0,     0,   872,   938,   939,     0,     0,     0,
5045        0,     0,     0,     0,   685,     0,   929,     0,     0,  1017,
5046        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5047     2269,   938,     0,     0,     0,     0,     0,     0,     0,     0,
5048        0,   873,  1334,   873,  2525,     0,     0,  2526,     0,     0,
5049        0,     0,     0,     0,     0,  1759,     0,  1018,  1970,     0,
5050      929,     0,     0,     0,     0,     0,     0,  1334,     0,     0,
5051      688,  1019,     0,   879,     0,     0,     0,     0,   876,     0,
5052        0,     0,  1020,     0,     0,     0,   689,     0,     0,     0,
5053        0,     0,     0,   876,   872,     0,     0,     0,   876,   878,
5054        0,     0,     0,     0,  1021,     0,     0,     0,     0,     0,
5055        0,     0,     0,     0,     0,     0,     0,   879,     0,   872,
5056        0,     0,     0,     0,     0,     0,     0,     0,  1022,     0,
5057        0,     0,     0,     0,   873,  2527,     0,     0,     0,   692,
5058        0,     0,     0,     0,   938,     0,     0,     0,   693,     0,
5059      685,     0,     0,     0,     0,  3113,     0,     0,     0,     0,
5060        0,   694,   875,     0,     0,   875,  1023,   875,     0,     0,
5061        0,     0,   875,   878,     0,     0,   873,   878,     0,     0,
5062        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5063        0,     0,  1024,     0,     0,     0,     0,     0,     0,     0,
5064        0,     0,     0,     0,   873,  2511,   688,  3114,     0,     0,
5065        0,     0,     0,     0,     0,     0,     0,  1025,     0,   875,
5066        0,     0,   689,     0,     0,     0,     0,   875,     0,     0,
5067        0,     0,     0,     0,     0,  2457,     0,     0,   698,     0,
5068     1021,     0,     0,  2458,  2459,  2460,  2461,  2462,  2463,  2464,
5069     2465,  2466,   875,     0,   872,     0,     0,     0,     0,     0,
5070        0,     0,     0,     0,  3115,   939,     0,     0,     0,     0,
5071        0,     0,     0,   873,     0,   692,   878,  1758,  1026,   939,
5072        0,     0,     0,     0,   693,  2602,     0,     0,     0,     0,
5073        0,   878,     0,     0,     0,   873,   878,   694,     0,     0,
5074      872,   701,  3116,     0,     0,   872,     0,     0,     0,  1759,
5075        0,   212,  1027,     0,  1758,   703,     0,   873,     0,     0,
5076        0,   875,     0,   875,  1758,     0,     0,     0,  1024,     0,
5077        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5078        0,     0,  1028,  1310,  1310,  1029,     0,   876,     0,   706,
5079      876,   707,   876,  3117,     0,     0,     0,   876,   708,     0,
5080        0,   709,     0,     0,     0,     0,  2717,     0,     0,     0,
5081        0,     0,     0,     0,   698,  2740,     0,     0,     0,     0,
5082      710,     0,     0,     0,     0,     0,     0,  1030,     0,     0,
5083        0,     0,     0,   712,     0,     0,  1031,     0,   873,     0,
5084      714,     0,     0,     0,   876,  1759,     0,  2777,  1032,     0,
5085      716,     0,   876,     0,   875,  1033,     0,     0,     0,     0,
5086     1310,   873,     0,     0,     0,     0,     0,     0,     0,     0,
5087     2800,     0,     0,  2803,     0,   872,     0,   876,     0,     0,
5088        0,   719,     0,     0,     0,     0,   873,   212,  3118,     0,
5089        0,   703,  2031,     0,     0,  2032,   875,     0,     0,  2033,
5090     2034,  2035,     0,     0,     0,     0,     0,  1759,     0,   939,
5091        0,     0,     0,     0,     0,     0,  2517,     0,  1028,     0,
5092        0,  3119,     0,     0,   875,     0,  2518,   707,  2855,     0,
5093        0,     0,     0,  2519,   708,     0,     0,   709,     0,     0,
5094        0,     0,  2874,     0,     0,     0,   876,     0,   876,     0,
5095        0,     0,     0,     0,     0,     0,   710,     0,     0,  2520,
5096        0,     0,     0,  1030,     0,     0,     0,     0,     0,   712,
5097        0,     0,  1031,     0,     0,     0,   714,     0,     0,     0,
5098     1670,  1674,     0,     0,     0,   878,     0,     0,   878,     0,
5099      878,  3120,     0,   875,     0,   878,     0,     0,   872,     0,
5100        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5101        0,     0,     0,     0,     0,   875,     0,   719,     0,     0,
5102        0,     0,     0,     0,     0,     0,     0,     0,   939,     0,
5103        0,     0,     0,     0,   873,     0,   872,   875,     0,   876,
5104        0,   929,   878,     0,     0,     0,     0,     0,     0,     0,
5105      878,  2896,     0,     0,   939,     0,     0,     0,   872,     0,
5106        0,     0,  2899,     0,     0,     0,     0,     0,     0,     0,
5107        0,     0,     0,  2521,     0,   878,     0,     0,  2522,     0,
5108        0,   876,     0,     0,     0,     0,     0,     0,     0,     0,
5109        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5110     2523,  2219,     0,     0,  2943,     0,     0,     0,     0,   876,
5111        0,     0,     0,   929,   929,  2524,     0,     0,   875,     0,
5112        0,     0,     0,     0,   873,   872,     0,     0,  2468,  2979,
5113        0,     0,     0,     0,     0,     0,  2992,     0,     0,     0,
5114        0,   875,     0,     0,   878,     0,   878,     0,     0,   873,
5115        0,     0,     0,     0,  2269,     0,     0,     0,     0,     0,
5116        0,     0,     0,     0,     0,     0,   875,   939,  2525,     0,
5117        0,  2526,     0,     0,     0,     0,     0,     0,   876,     0,
5118        0,     0,  2468,     0,     0,     0,     0,     0,     0,     0,
5119        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5120      876,     0,     0,     0,     0,     0,     0,     0,  3053,     0,
5121        0,  1987,     0,     0,     0,     0,     0,     0,     0,     0,
5122        0,     0,   876,     0,     0,     0,     0,     0,     0,     0,
5123        0,     0,     0,     0,     0,     0,     0,   878,     0,     0,
5124     1334,  1334,  2002,     0,     0,     0,   872,     0,     0,     0,
5125        0,     0,     0,     0,     0,     0,     0,  3103,     0,  2527,
5126        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5127     2020,  2021,  2022,     0,  2024,     0,     0,  1518,     0,   878,
5128        0,     0,     0,  1519,   873,     0,     0,     0,     0,     0,
5129     1585,     0,     0,     0,  2475,     0,     0,     0,     0,     0,
5130     1759,     0,     0,   876,     0,     0,     0,   878,     0,     0,
5131        0,     0,  1586,     0,   875,     0,     0,     0,     0,     0,
5132        0,     0,     0,     0,     0,     0,   876,     0,  1521,     0,
5133      873,     0,     0,     0,     0,   873,     0,  1759,     0,   196,
5134        0,     0,   929,   929,     0,     0,     0,  1759,     0,     0,
5135        0,   876,     0,     0,     0,     0,     0,     0,     0,  2457,
5136        0,     0,     0,  1587,     0,     0,   872,  2458,  2459,  2460,
5137     2461,  2462,  2463,  2464,  2465,  2466,   878,     0,     0,     0,
5138        0,     0,     0,     0,  1522,     0,     0,     0,     0,     0,
5139      197,  1523,     0,     0,  1524,     0,  2569,     0,   878,     0,
5140     2581,  2586,     0,     0,   875,     0,   198,     0,     0,     0,
5141        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5142      878,  1525,     0,     0,   199,     0,     0,     0,     0,   875,
5143      200,     0,     0,     0,   872,     0,     0,     0,     0,     0,
5144        0,     0,     0,     0,     0,     0,     0,     0,   201,     0,
5145        0,     0,  1588,     0,     0,  1526,     0,     0,     0,   202,
5146        0,     0,     0,     0,     0,   873,     0,     0,   203,     0,
5147        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5148        0,   204,     0,     0,     0,     0,   205,     0,  2468,     0,
5149        0,     0,  2468,   206,     0,     0,     0,     0,     0,   876,
5150     1589,   878,     0,  1590,     0,     0,     0,     0,     0,     0,
5151        0,     0,   207,     0,     0,     0,     0,     0,  1591,     0,
5152        0,     0,  1528,     0,   878,     0,     0,     0,     0,     0,
5153        0,     0,  1529,     0,     0,     0,     0,   208,     0,     0,
5154        0,  1530,     0,     0,     0,     0,     0,     0,     0,   878,
5155        0,     0,  1592,  1531,   872,     0,     0,     0,   209,     0,
5156        0,     0,     0,     0,   875,     0,     0,     0,     0,     0,
5157        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5158        0,     0,     0,     0,     0,     0,     0,     0,   873,   876,
5159        0,  3567,     0,     0,  1533,  1534,  1594,     0,   210,     0,
5160        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5161      875,     0,     0,     0,   876,   875,     0,     0,     0,  1595,
5162        0,   211,     0,     0,     0,  3568,   873,     0,     0,     0,
5163        0,   212,   213,     0,     0,   214,     0,     0,     0,  1597,
5164     1670,  1670,  1670,     0,     0,     0,     0,     0,   873,     0,
5165        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5166        0,     0,   215,     0,     0,   216,     0,     0,     0,   217,
5167        0,   218,     0,     0,     0,     0,     0,   872,   219,     0,
5168        0,   220,   872,   872,     0,     0,     0,     0,     0,     0,
5169        0,     0,     0,  1536,     0,     0,     0,   878,     0,     0,
5170      221,     0,     0,     0,     0,     0,     0,   222,     0,     0,
5171        0,     0,   223,   224,     0,   873,   225,     0,     0,     0,
5172      226,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5173      227,     0,     0,     0,     0,   228,     0,     0,     0,     0,
5174        0,     0,     0,     0,     0,   875,     0,     0,   229,   876,
5175        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5176        0,   230,     0,     0,     0,  3257,     0,     0,     0,     0,
5177        0,     0,     0,     0,     0,  3262,     0,     0,     0,     0,
5178        0,     0,     0,     0,     0,     0,     0,   878,     0,     0,
5179        0,     0,     0,   872,     0,   876,     0,     0,     0,     0,
5180      876,     0,     0,     0,  1415,  2468,     0,     0,     0,     0,
5181        0,     0,   878,     0,     0,     0,     0,     0,     0,     0,
5182     2468,     0,     0,     0,  3164,     0,     0,     0,     0,     0,
5183        0,     0,     0,     0,     0,     0,   873,   872,  2468,  2468,
5184     2468,     0,  2468,     0,     0,     0,     1,     0,     0,     0,
5185        0,  1415,  1415,     0,     0,     0,     2,     0,     3,     4,
5186        0,     0,     0,     0,     0,     0,     0,     0,   875,     0,
5187        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5188        0,     0,     0,     0,     0,  1334,     6,     0,     0,     0,
5189        0,     0,     0,     0,     0,     0,     0,     0,     7,     0,
5190        8,     9,     0,     0,     0,     0,   875,    10,     0,    11,
5191        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5192        0,    12,     0,    13,     0,     0,     0,     0,   875,     0,
5193      876,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5194       14,     0,     0,    15,     0,     0,     0,   878,     0,     0,
5195        0,     0,     0,     0,     0,     0,   873,     0,    16,     0,
5196       17,     0,     0,     0,    18,  3131,     0,     0,     0,     0,
5197     5431,     0,     0,     0,     0,     0,     0,  3151,    20,  3152,
5198       21,  3154,     0,     0,  3168,  3171,  3176,    22,     0,     0,
5199        0,  3182,     0,   878,  3187,   875,     0,     0,   878,     0,
5200        0,     0,     0,     0,    23,     0,     0,     0,     0,  3194,
5201     3195,  3196,     0,     0,     0,     0,  3472,     0,     0,     0,
5202        0,    24,     0,     0,   873,     0,  3197,     0,     0,     0,
5203        0,  3494,     0,     0,     0,     0,     0,     0,     0,     0,
5204        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5205        0,     0,  3521,   876,     0,     0,     0,     0,     0,     0,
5206        0,    25,    26,     0,     0,     0,     0,    27,     0,     0,
5207        0,     0,     0,     0,     0,     0,     0,     0,     0,    28,
5208        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5209        0,   876,     0,     0,     0,     0,     0,    29,     0,     0,
5210        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5211        0,     0,     0,   876,     0,     0,   875,     0,     0,     0,
5212        0,     0,     0,     0,     0,     0,     0,     0,   878,     0,
5213     3596,  3597,     0,     0,     0,     0,     0,     0,     0,     0,
5214       30,     0,     0,     0,   873,     0,     0,     0,     0,     0,
5215        0,     0,     0,     0,    31,     0,     0,     0,     0,     0,
5216       32,    33,     0,    34,     0,     0,     0,     0,    35,  3204,
5217        0,  4394,     0,     0,    36,     0,     0,    37,     0,     0,
5218      876,     0,     0,     0,    38,     0,     0,     0,     0,     0,
5219       39,    40,     0,     0,     0,     0,     0,     0,    41,     0,
5220        0,     0,    42,     0,     0,     0,     0,     0,     0,  3221,
5221        0,     0,    43,     0,     0,     0,     0,     0,     0,     0,
5222        0,     0,     0,     0,     0,     0,     0,    44,     0,     0,
5223        0,  3720,     0,     0,     0,     0,   875,     0,     0,     0,
5224        0,     0,     0,     0,     0,     0,     0,    45,     0,     0,
5225        0,   878,     0,     0,     0,     0,     0,     0,    46,     0,
5226     3223,     0,     0,     0,    47,     0,     0,   873,     0,    48,
5227        0,     0,   873,   873,     0,     0,     0,     0,     0,     0,
5228        0,     0,    49,     0,     0,     0,     0,     0,     0,   878,
5229        0,     0,     0,  2468,     0,     0,     0,     0,     0,     0,
5230        0,   876,     0,     0,   875,    50,     0,     0,     0,     0,
5231        0,   878,     0,     0,     0,     0,     0,     0,     0,     0,
5232        0,     0,     0,    56,     0,     0,  -135,     0,     0,     0,
5233        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5234        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5235        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5236        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5237        0,     0,     0,     0,     0,     0,     0,     0,   878,     0,
5238        0,     0,     0,   873,     0,     0,     0,  2468,     0,     0,
5239        0,     0,     0,     0,     0,     0,     0,     0,     0,  2468,
5240        0,     0,     0,     0,  2468,     0,     0,     0,     0,     0,
5241        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5242        0,   876,     0,     0,   875,     0,     0,   873,     0,     0,
5243        0,     0,     0,     0,  3230,  3231,  3232,  3233,  3234,  3235,
5244     3236,  3237,  3238,     0,  3239,     0,     0,     0,     0,     0,
5245        0,     0,     0,  1310,     0,  1670,     0,     0,     0,     0,
5246        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5247        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5248        0,     0,     0,     0,     0,     0,     0,     0,     0,   876,
5249        0,     0,     0,  3197,     0,     0,     0,  3204,     0,   878,
5250     3221,     0,  3223,     0,     0,  3274,     0,     0,     0,     0,
5251        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5252        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5253        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5254        0,  3990,     0,     0,     0,     0,     0,   875,     0,     0,
5255        0,     0,   875,   875,     0,     0,     0,     0,  2021,  2022,
5256        0,     0,  1415,     0,     0,     0,     0,     0,     0,     0,
5257        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5258        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5259        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5260        0,     0,     0,     0,     0,     0,     0,     0,     0,   876,
5261        0,     0,     0,     0,     0,     0,     0,     0,     0,   878,
5262        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5263        0,     0,     0,     0,     0,     0,     0,     0,     0,  3414,
5264        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5265        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5266        0,     0,     0,   875,     0,     0,     0,     0,     0,     0,
5267        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5268        0,     0,     0,     0,     0,     0,     0,   878,     0,     0,
5269        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5270        0,     0,     0,     0,     0,     0,     0,   875,     0,     0,
5271        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5272        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5273        0,     0,   876,     0,     0,     0,     0,   876,   876,     0,
5274        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5275        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5276        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5277        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5278        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5279        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5280        0,     0,     0,     0,     0,     0,     0,   878,     0,     0,
5281        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5282        0,     0,     0,     0,     0,  4197,     0,     0,     0,     0,
5283        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5284        0,     0,     0,     0,     0,     0,     0,     0,   876,     0,
5285        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5286        0,     0,     0,     0,     0,  3652,  3653,  1670,     0,     0,
5287        0,  3657,     0,     0,     0,     0,     0,     0,     0,     0,
5288        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5289        0,     0,   876,     0,     0,     0,     0,     0,  3686,     0,
5290        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5291        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5292        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5293      878,     0,     0,     0,     0,   878,   878,     0,     0,     0,
5294        0,     0,     0,     0,     0,     0,     0,     0,     0,  2468,
5295        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5296        0,     0,     0,     0,     0,     0,     0,     0,     0,  2468,
5297     2468,     0,  2468,     0,     0,     0,     0,  3164,  3164,     0,
5298     3924,     0,  3164,     0,     0,     0,  2468,     0,     0,  2468,
5299        0,  4321,  4322,  4323,  2468,     0,     0,     0,     0,     0,
5300     2468,     0,     0,     0,     0,  2468,     0,     0,  4332,     0,
5301        0,     0,  2468,  2468,  2468,  2468,     0,     0,     0,  3164,
5302     3164,     0,  2468,     0,     0,     0,     0,     0,     0,     0,
5303        0,     0,     0,     0,     0,     0,     0,     0,     0,  2468,
5304        0,  2468,  4356,  4358,     0,     0,   878,  4363,  2468,  2468,
5305     2468,  2468,  2468,  2468,  2468,  2468,  2468,  2468,     0,     0,
5306        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5307        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5308        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5309      878,     0,  2468,     0,     0,     0,     0,     0,     0,     0,
5310        0,     0,     0,     0,  3881,     0,     0,     0,     0,  3887,
5311        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5312        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5313        0,     0,     0,     0,     0,     0,     0,  2024,     0,     0,
5314        0,     0,     0,     0,     0,     0,     0,     0,  3176,  4442,
5315     3176,  3176,  1334,     0,     0,     0,     0,     0,     0,     0,
5316        0,  3947,     0,     0,  3950,     0,  3952,     0,     0,     0,
5317        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5318        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5319        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5320     3971,     0,  3974,     0,  3976,     0,     0,     0,     0,     0,
5321        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5322        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5323        0,     0,  2468,     0,     0,     0,     0,     0,     0,     0,
5324        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5325        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5326        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5327        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5328     4544,  4545,  4546,     0,     0,     0,     0,     0,     0,     0,
5329        0,     0,  4041,     0,     0,     0,     0,  2569,     0,     0,
5330        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5331        0,     0,  2586,     0,     0,     0,     0,     0,     0,     0,
5332        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5333        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5334        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5335        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5336        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5337        0,     0,     0,     0,     0,  4090,     0,     0,     0,     0,
5338        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5339        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5340        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5341        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5342        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5343        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5344        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5345        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5346        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5347     2468,  2468,     0,     0,     0,  2468,     0,     0,     0,     0,
5348        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5349        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5350        0,     0,     0,     0,  2468,     0,     0,     0,     0,     0,
5351        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5352        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5353        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5354        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5355        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5356        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5357        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5358        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5359        0,     0,     0,     0,     0,     0,     0,  4800,     0,     0,
5360        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5361        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5362        0,     0,     0,     0,  1670,     0,     0,     0,  4832,     0,
5363     1670,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5364        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5365        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5366     2992,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5367        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5368        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5369        0,     0,     0,     0,     0,  4890,     0,     0,     0,  2468,
5370        0,     0,     0,     0,     0,  2468,     0,     0,     0,     0,
5371     4343,     0,  3053,     0,     0,     0,     0,     0,     0,     0,
5372        0,     0,     0,  3924,  3924,     0,     0,  3164,  3164,  3164,
5373     3164,     0,     0,  3164,  3164,  3164,  3164,  3164,  3164,  3164,
5374     3164,  3164,  3164,  3924,     0,     0,     0,     0,     0,     0,
5375        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5376        0,     0,     0,     0,     0,  2468,     0,     0,  2468,     0,
5377     2468,     0,     0,  3924,  3924,     0,     0,     0,     0,     0,
5378        0,     0,     0,     0,     0,     0,     0,     0,     0,  2468,
5379     3164,  3164,  2468,     0,  2468,     0,     0,     0,     0,     0,
5380        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5381        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5382        0,     0,     0,     0,     0,     0,     0,     0,     0,  4975,
5383     4976,  4977,  4978,     0,     0,     0,     0,     0,     0,     0,
5384        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5385        0,     0,     0,     0,     0,     0,     0,     0,  4460,  2468,
5386        0,     0,     0,     0,     0,     0,     0,  4464,     0,     0,
5387        0,     0,     0,     0,     0,  4466,     0,  4467,     0,     0,
5388        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5389        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5390        0,     0,     0,     0,  4489,  4490,  4491,     0,  2468,     0,
5391        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5392        0,     0,  3182,     0,     0,     0,     0,     0,     0,     0,
5393     4515,     0,     0,  4518,     0,  4520,     0,     0,     0,     0,
5394        0,     0,     0,     0,     0,  4523,     0,     0,     0,     0,
5395        0,     0,     0,  4530,  4531,     0,     0,     0,     0,     0,
5396        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5397        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5398        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5399        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5400        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5401        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5402        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5403        0,     0,     0,     0,     0,  4589,     0,     0,     0,     0,
5404        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5405        0,  4602,     0,     0,     0,     0,     0,     0,     0,     0,
5406        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5407        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5408        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5409        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5410        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5411        0,     0,     0,     0,     0,     0,     0,     0,     0,  3164,
5412        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5413        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5414        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5415        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5416        0,  2468,     0,     0,     0,  5189,     0,     0,     0,     0,
5417        0,     0,     0,     0,     0,     0,  5199,     0,     0,     0,
5418        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5419        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5420        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5421        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5422        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5423        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5424        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5425        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5426        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5427        0,     0,     0,     0,     0,     0,     0,     0,  2468,     0,
5428        0,     0,  2468,     0,  2468,  2468,     0,     0,     0,     0,
5429     3924,  3924,  3924,  3924,     0,     0,     0,  3924,  3924,  3924,
5430     3924,  3924,  3924,  3924,  3924,  3924,  3924,  2468,  2468,  2468,
5431        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5432        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5433        0,     0,     0,  2468,     0,     0,  2468,     0,  2468,     0,
5434        0,  2468,     0,     0,  3924,  3924,     0,     0,  2468,  2468,
5435        0,     0,     0,     0,     0,     0,     0,     0,     0,  4878,
5436     4879,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5437     4886,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5438        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5439        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5440        0,     0,     0,     0,     0,     0,     0,  2468,     0,     0,
5441        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5442     2468,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5443        0,     0,     0,  5376,     0,  4928,     0,     0,  1334,     0,
5444        0,     0,     0,     0,     0,     0,  4934,     0,     0,     0,
5445        0,     0,     0,     0,     0,     0,     0,  5406,     0,     0,
5446        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5447        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5448        0,     0,     0,     0,     0,  4953,  4955,     0,     0,     0,
5449        0,     0,  4959,  4960,     0,     0,     0,  4961,     0,     0,
5450        0,  4962,     0,     0,  4965,  4966,     0,     0,     0,  4970,
5451        0,     0,     0,     0,     0,  4974,     0,     0,     0,     0,
5452        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5453        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5454        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5455        0,     0,     0,     0,     0,  5005,     0,     0,     0,     0,
5456        0,     0,     0,     0,     0,     0,  1310,     0,     0,     0,
5457        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5458        0,     0,     0,     0,     0,     0,     0,  5501,     0,     0,
5459        0,     0,     0,  5028,     0,     0,     0,     0,     0,     0,
5460        0,     0,     0,     0,     0,     0,     0,     0,     0,  3924,
5461        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5462        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5463        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5464        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5465        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5466        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5467        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5468        0,     0,     0,     0,     0,     0,  5578,     0,     0,     0,
5469        0,     0,     0,     0,  5093,     0,  2468,  2468,     0,     0,
5470        0,     0,     0,     0,  2468,     0,     0,     0,     0,     0,
5471        0,     0,     0,     0,  5600,     0,     0,     0,     0,     0,
5472        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5473        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5474        0,     0,     0,     0,     0,     0,  2468,     0,     0,     0,
5475        0,     0,  2468,  3164,     0,     0,     0,     0,     0,     0,
5476        0,     0,     0,     0,  5129,     0,     0,     0,     0,     0,
5477        0,  2468,     0,  2468,     0,     0,     0,  2468,  2468,  2468,
5478     2468,     0,     0,  2468,  2468,     0,     0,     0,  2468,     0,
5479        0,     0,  2468,     0,     0,     0,     0,     0,     0,     0,
5480        0,     0,     0,     0,     0,  3164,     0,     0,     0,     0,
5481        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5482        0,     0,     0,  2468,     0,     0,     0,     0,     0,     0,
5483        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5484        0,     0,     0,     0,     0,     0,  2468,     0,     0,     0,
5485        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5486        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5487        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5488        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5489        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5490        0,     0,     0,     0,     0,     0,     0,     0,  5217,     0,
5491        0,  2468,     0,     0,  5221,  5222,  5223,     0,     0,     0,
5492        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5493        0,     0,     0,     0,     0,     0,     0,     0,     0,  5234,
5494     5235,     0,     0,  5236,     0,     0,     0,  2468,     0,     0,
5495        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5496        0,     0,     0,     0,     0,     0,     0,     0,     0,  5256,
5497        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5498     5274,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5499        0,     0,     0,     0,     0,  5286,     0,     0,     0,     0,
5500        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5501        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5502        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5503        0,     0,     0,     0,     0,  2468,     0,  3924,  3164,  2468,
5504     2468,  2468,     0,     0,     0,     0,     0,     0,     0,     0,
5505        0,     0,  2468,  2468,  2468,     0,     0,     0,     0,     0,
5506        0,     0,     0,     0,     0,     0,     0,  3164,     0,     0,
5507     3924,     0,     0,     0,  2468,     0,     0,     0,     0,     0,
5508        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5509        0,     0,  2468,     0,     0,     0,     0,     0,     0,     0,
5510        0,     0,     0,     0,  2468,     0,     0,     0,     0,     0,
5511        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5512        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5513        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5514        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5515        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5516        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5517        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5518        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5519        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5520     3182,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5521        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5522        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5523        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5524        0,     0,     0,  2024,     0,     0,     0,     0,     0,     0,
5525        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5526        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5527        0,     0,  3924,     0,     0,     0,     0,     0,     0,     0,
5528        0,     0,     0,     0,     0,     0,  3924,     0,  3164,     0,
5529        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5530     5519,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5531        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5532        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5533        0,     0,     0,     0,     0,     0,     0,  2468,     0,     0,
5534        0,  5555,     0,     0,     0,     0,     0,     0,     0,     0,
5535        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5536        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5537        0,     0,     0,  2468,     0,     0,     0,     0,     0,     0,
5538        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5539        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5540        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5541        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5542        0,     0,     0,     0,     0,     0,     0,     0,     0,  5621,
5543        0,     0,     0,     0,     0,     0,     0,     0,     0,  2468,
5544        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5545        0,     0,     0,     0,     0,     0,     0,     0,     0,  5274,
5546        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5547        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5548        0,     0,     0,  2468,  5665,     0,     0,     0,     0,     0,
5549        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5550        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5551        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5552        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5553        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5554        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5555        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5556        0,     0,     0,     0,     0,     0,     0,     0,  2468,     0,
5557        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5558        0,  3164,  3164,     0,     0,     0,     0,     0,     0,     0,
5559        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5560        0,     0,  5750,  5750,  5750,     0,     0,     0,     0,     0,
5561        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5562     5274,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5563        0,  2468,     0,     0,     0,     0,     0,     0,     0,     0,
5564        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5565        0,     0,     0,     0,     0,  2468,     0,     0,     0,     0,
5566        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5567        0,  3924,  3924,     0,     0,     0,     0,     0,     0,     0,
5568        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5569        0,     0,     0,     0,     0,     0,     0,  5813,     0,     0,
5570        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5571        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5572        0,  5837,     0,  5750,     0,     0,  2468,  2468,     0,     0,
5573        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5574        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5575        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5576        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5577        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5578        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5579        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5580        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5581        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5582        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5583        0,     0,     0,     0,  5908,     0,     0,     0,  5909,     0,
5584        0,     0,     0,   233,     0,  1226,   680,     0,  1227,  1228,
5585     1229,   740,  1230,     0,     0,     0,     0,     0,     0,     0,
5586      234,   235,   236,   237,   238,   239,   240,   241,  1664,   242,
5587      243,   244,     0,     0,  5750,     0,  1231,     0,     0,   245,
5588      246,   247,     0,   248,   249,   250,   251,   252,   253,   254,
5589      255,   256,  1232,   258,  1233,  1234,     0,   261,   262,   263,
5590      264,   265,   266,   267,  1235,  1236,   268,   269,  1237,  1238,
5591      272,     0,   273,   274,   275,   276,  1239,     0,  1240,     0,
5592      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
5593     1670,   289,   290,   291,   292,   293,   294,     0,   295,   296,
5594      297,   298,  1241,  1242,  1243,  1244,  1245,  1246,  1247,   300,
5595      301,   302,   303,   304,   305,  1248,  1249,   308,  1250,   309,
5596        0,   310,   311,   312,   313,   314,   315,   316,     0,   317,
5597      318,   319,   320,  1665,     0,   321,   322,   853,   324,   325,
5598        0,   326,   327,   328,     0,   329,   330,   331,     0,   332,
5599      333,   334,   335,  1251,   337,   338,   339,   340,  1252,  1253,
5600      342,     0,   343,   344,   345,  1254,   347,     0,   348,     0,
5601      349,   350,     0,   351,   352,   353,   354,   355,     0,   356,
5602     1255,     0,  1256,   359,   360,     0,   361,   362,   363,   364,
5603      365,   366,   367,   368,   369,   370,     0,   371,   372,   373,
5604      374,   375,   376,   377,     0,   378,   379,   380,   381,   382,
5605      383,   384,  1257,  1258,     0,  1259,     0,   388,   389,   390,
5606      391,   392,   393,   394,   395,   396,   397,     0,     0,   398,
5607     1260,   400,   401,   402,     0,   403,   404,   405,  1261,  1262,
5608      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
5609      416,   417,   418,   419,   420,   421,  1263,   423,  1264,   425,
5610      426,   427,   428,   429,   430,   431,   432,  1265,   434,  1266,
5611      435,   436,   437,   438,  1267,  1268,   440,  1269,   442,   443,
5612      444,     0,   445,   446,     0,     0,  1270,   448,   449,     0,
5613        0,   450,   451,   452,   453,   454,   455,  1271,   457,   458,
5614      459,   460,   461,   462,   463,   464,   465,     0,   466,   467,
5615     1272,   469,   470,   471,   472,   473,     0,   474,   475,   476,
5616      477,   478,   479,   480,   481,   482,   483,  1273,   485,   486,
5617      487,   488,     0,   489,   490,   491,   492,   493,   494,   495,
5618      496,   497,   498,   499,   500,   501,     0,   502,   503,   504,
5619      505,   506,   507,   508,   509,  1274,   511,   512,   513,   514,
5620      515,   516,   517,   518,   519,     0,   520,   521,   522,   523,
5621      524,  1275,   525,   526,   527,   528,   529,   530,   531,   532,
5622     1276,   534,     0,   535,   536,   537,   538,   539,   540,   541,
5623      542,   543,   544,   545,   546,   547,  1277,   549,     0,   550,
5624      551,     0,   552,   553,   554,   555,   556,   557,   558,     0,
5625      559,  1278,  1279,     0,     0,   562,   563,  1280,   565,  1281,
5626     1282,   567,   568,   569,   570,   571,   572,   573,   574,     0,
5627     1283,   575,   576,   577,   578,   579,  1284,     0,   580,   581,
5628      582,   583,   584,   585,  1285,  1666,   587,   588,   589,   590,
5629      591,   592,     0,     0,   593,     0,     0,   594,   595,   596,
5630      597,   598,   599,   600,  1286,  1287,  1288,  1289,   605,  1290,
5631     1291,  1292,  1293,   610,   611,   612,   613,  1294,     0,     0,
5632        0,     0,     0,     0,     0,     0,     0,     0,  1295,  1296,
5633     1667,     0,     0,     0,     0,     0,     0,  1298,  1668,   233,
5634        0,  1226,   680,     0,  1227,  1228,  1229,   740,  1230,     0,
5635        0,     0,     0,     0,     0,     0,   234,   235,   236,   237,
5636      238,   239,   240,   241,     0,   242,   243,   244,     0,     0,
5637        0,     0,  1231,     0,     0,   245,   246,   247,     0,   248,
5638      249,   250,   251,   252,   253,   254,   255,   256,  1232,   258,
5639     1233,  1234,     0,   261,   262,   263,   264,   265,   266,   267,
5640     1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,   274,
5641      275,   276,  1239,     0,  1240,     0,   279,   280,   281,   282,
5642      283,   284,   285,   286,   287,   288,     0,   289,   290,   291,
5643      292,   293,   294,     0,   295,   296,   297,   298,  1241,  1242,
5644     1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,   304,
5645      305,  1248,  1249,   308,  1250,   309,     0,   310,   311,   312,
5646      313,   314,   315,   316,     0,   317,   318,   319,   320,     0,
5647        0,   321,   322,   853,   324,   325,     0,   326,   327,   328,
5648        0,   329,   330,   331,     0,   332,   333,   334,   335,  1251,
5649      337,   338,   339,   340,  1252,  1253,   342,     0,   343,   344,
5650      345,  1254,   347,     0,   348,     0,   349,   350,     0,   351,
5651      352,   353,   354,   355,     0,   356,  1255,     0,  1256,   359,
5652      360,     0,   361,   362,   363,   364,   365,   366,   367,   368,
5653      369,   370,     0,   371,   372,   373,   374,   375,   376,   377,
5654        0,   378,   379,   380,   381,   382,   383,   384,  1257,  1258,
5655        0,  1259,     0,   388,   389,   390,   391,   392,   393,   394,
5656      395,   396,   397,     0,     0,   398,  1260,   400,   401,   402,
5657        0,   403,   404,   405,  1261,  1262,   406,   407,   408,   409,
5658      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
5659      420,   421,  1263,   423,  1264,   425,   426,   427,   428,   429,
5660      430,   431,   432,  1265,   434,  1266,   435,   436,   437,   438,
5661     1267,  1268,   440,  1269,   442,   443,   444,     0,   445,   446,
5662        0,     0,  1270,   448,   449,     0,     0,   450,   451,   452,
5663      453,   454,   455,  1271,   457,   458,   459,   460,   461,   462,
5664      463,   464,   465,     0,   466,   467,  1272,   469,   470,   471,
5665      472,   473,     0,   474,   475,   476,   477,   478,   479,   480,
5666      481,   482,   483,  1273,   485,   486,   487,   488,     0,   489,
5667      490,   491,   492,   493,   494,   495,   496,   497,   498,   499,
5668      500,   501,     0,   502,   503,   504,   505,   506,   507,   508,
5669      509,  1274,   511,   512,   513,   514,   515,   516,   517,   518,
5670      519,    40,   520,   521,   522,   523,   524,  1275,   525,   526,
5671      527,   528,   529,   530,   531,   532,  1276,   534,     0,   535,
5672      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
5673      546,   547,  1277,   549,     0,   550,   551,    44,   552,   553,
5674      554,   555,   556,   557,   558,     0,   559,  1278,  1279,     0,
5675        0,   562,   563,  1280,   565,  1281,  1282,   567,   568,   569,
5676      570,   571,   572,   573,   574,     0,  1283,   575,   576,   577,
5677      578,   579,  1284,     0,   580,   581,   582,   583,   584,  1166,
5678     1285,     0,   587,   588,   589,   590,   591,   592,     0,     0,
5679      593,     0,    49,   594,   595,   596,   597,   598,   599,   600,
5680     1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,   610,
5681      611,   612,   613,  1294,     0,    50,     0,     0,     0,     0,
5682        0,     0,     0,     0,  1295,  1296,     0,     0,     0,     0,
5683        0,     0,     0,  1298,  5482,   233,     0,  1226,   680,     0,
5684     1227,  1228,  1229,   740,  1230,     0,     0,     0,     0,     0,
5685        0,     0,   234,   235,   236,   237,   238,   239,   240,   241,
5686        0,   242,   243,   244,     0,     0,     0,     0,  1231,     0,
5687        0,   245,   246,   247,     0,   248,   249,   250,   251,   252,
5688      253,   254,   255,   256,  1232,   258,  1233,  1234,     0,   261,
5689      262,   263,   264,   265,   266,   267,  1235,  1236,   268,   269,
5690     1237,  1238,   272,     0,   273,   274,   275,   276,  1239,     0,
5691     1240,     0,   279,   280,   281,   282,   283,   284,   285,   286,
5692      287,   288,     0,   289,   290,   291,   292,   293,   294,     0,
5693      295,   296,   297,   298,  1241,  1242,  1243,  1244,  1245,  1246,
5694     1247,   300,   301,   302,   303,   304,   305,  1248,  1249,   308,
5695     1250,   309,     0,   310,   311,   312,   313,   314,   315,   316,
5696        0,   317,   318,   319,   320,     0,     0,   321,   322,   853,
5697      324,   325,     0,   326,   327,   328,     0,   329,   330,   331,
5698        0,   332,   333,   334,   335,  1251,   337,   338,   339,   340,
5699     1252,  1253,   342,     0,   343,   344,   345,  1254,   347,     0,
5700      348,     0,   349,   350,     0,   351,   352,   353,   354,   355,
5701        0,   356,  1255,     0,  1256,   359,   360,     0,   361,   362,
5702      363,   364,   365,   366,   367,   368,   369,   370,     0,   371,
5703      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
5704      381,   382,   383,   384,  1257,  1258,     0,  1259,     0,   388,
5705      389,   390,   391,   392,   393,   394,   395,   396,   397,     0,
5706        0,   398,  1260,   400,   401,   402,     0,   403,   404,   405,
5707     1261,  1262,   406,   407,   408,   409,   410,   411,   412,   413,
5708      414,   415,   416,   417,   418,   419,   420,   421,  1263,   423,
5709     1264,   425,   426,   427,   428,   429,   430,   431,   432,  1265,
5710      434,  1266,   435,   436,   437,   438,  1267,  1268,   440,  1269,
5711      442,   443,   444,     0,   445,   446,     0,     0,  1270,   448,
5712      449,     0,     0,   450,   451,   452,   453,   454,   455,  1271,
5713      457,   458,   459,   460,   461,   462,   463,   464,   465,     0,
5714      466,   467,  1272,   469,   470,   471,   472,   473,     0,   474,
5715      475,   476,   477,   478,   479,   480,   481,   482,   483,  1273,
5716      485,   486,   487,   488,     0,   489,   490,   491,   492,   493,
5717      494,   495,   496,   497,   498,   499,   500,   501,     0,   502,
5718      503,   504,   505,   506,   507,   508,   509,  1274,   511,   512,
5719      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
5720      522,   523,   524,  1275,   525,   526,   527,   528,   529,   530,
5721      531,   532,  1276,   534,     0,   535,   536,   537,   538,   539,
5722      540,   541,   542,   543,   544,   545,   546,   547,  1277,   549,
5723        0,   550,   551,     0,   552,   553,   554,   555,   556,   557,
5724      558,     0,   559,  1278,  1279,     0,     0,   562,   563,  1280,
5725      565,  1281,  1282,   567,   568,   569,   570,   571,   572,   573,
5726      574,     0,  1283,   575,   576,   577,   578,   579,  1284,     0,
5727      580,   581,   582,   583,   584,   585,  1285,     0,   587,   588,
5728      589,   590,   591,   592,     0,     0,   593,     0,     0,   594,
5729      595,   596,   597,   598,   599,   600,  1286,  1287,  1288,  1289,
5730      605,  1290,  1291,  1292,  1293,   610,   611,   612,   613,  1294,
5731        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5732     1295,  1296,     0,     0,     0,     0,     0,     0,     0,  1298,
5733     3166,   233,     0,  1226,   680,     0,  1227,  1228,  1229,   740,
5734     1230,     0,     0,     0,     0,     0,     0,     0,   234,   235,
5735      236,   237,   238,   239,   240,   241,     0,   242,   243,   244,
5736        0,     0,     0,     0,  1231,     0,     0,   245,   246,   247,
5737        0,   248,   249,   250,   251,   252,   253,   254,   255,   256,
5738     1232,   258,  1233,  1234,     0,   261,   262,   263,   264,   265,
5739      266,   267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,
5740      273,   274,   275,   276,  1239,     0,  1240,     0,   279,   280,
5741      281,   282,   283,   284,   285,   286,   287,   288,     0,   289,
5742      290,   291,   292,   293,   294,     0,   295,   296,   297,   298,
5743     1241,  1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,
5744      303,   304,   305,  1248,  1249,   308,  1250,   309,     0,   310,
5745      311,   312,   313,   314,   315,   316,     0,   317,   318,   319,
5746      320,     0,     0,   321,   322,   853,   324,   325,     0,   326,
5747      327,   328,     0,   329,   330,   331,     0,   332,   333,   334,
5748      335,  1251,   337,   338,   339,   340,  1252,  1253,   342,     0,
5749      343,   344,   345,  1254,   347,     0,   348,     0,   349,   350,
5750        0,   351,   352,   353,   354,   355,     0,   356,  1255,     0,
5751     1256,   359,   360,     0,   361,   362,   363,   364,   365,   366,
5752      367,   368,   369,   370,     0,   371,   372,   373,   374,   375,
5753      376,   377,     0,   378,   379,   380,   381,   382,   383,   384,
5754     1257,  1258,     0,  1259,     0,   388,   389,   390,   391,   392,
5755      393,   394,   395,   396,   397,     0,     0,   398,  1260,   400,
5756      401,   402,     0,   403,   404,   405,  1261,  1262,   406,   407,
5757      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
5758      418,   419,   420,   421,  1263,   423,  1264,   425,   426,   427,
5759      428,   429,   430,   431,   432,  1265,   434,  1266,   435,   436,
5760      437,   438,  1267,  1268,   440,  1269,   442,   443,   444,     0,
5761      445,   446,     0,     0,  1270,   448,   449,     0,     0,   450,
5762      451,   452,   453,   454,   455,  1271,   457,   458,   459,   460,
5763      461,   462,   463,   464,   465,     0,   466,   467,  1272,   469,
5764      470,   471,   472,   473,     0,   474,   475,   476,   477,   478,
5765      479,   480,   481,   482,   483,  1273,   485,   486,   487,   488,
5766        0,   489,   490,   491,   492,   493,   494,   495,   496,   497,
5767      498,   499,   500,   501,     0,   502,   503,   504,   505,   506,
5768      507,   508,   509,  1274,   511,   512,   513,   514,   515,   516,
5769      517,   518,   519,     0,   520,   521,   522,   523,   524,  1275,
5770      525,   526,   527,   528,   529,   530,   531,   532,  1276,   534,
5771        0,   535,   536,   537,   538,   539,   540,   541,   542,   543,
5772      544,   545,   546,   547,  1277,   549,     0,   550,   551,     0,
5773      552,   553,   554,   555,   556,   557,   558,     0,   559,  1278,
5774     1279,     0,     0,   562,   563,  1280,   565,  1281,  1282,   567,
5775      568,   569,   570,   571,   572,   573,   574,     0,  1283,   575,
5776      576,   577,   578,   579,  1284,     0,   580,   581,   582,   583,
5777      584,   585,  1285,     0,   587,   588,   589,   590,   591,   592,
5778        0,     0,   593,     0,     0,   594,   595,   596,   597,   598,
5779      599,   600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,
5780     1293,   610,   611,   612,   613,  1294,     0,     0,     0,     0,
5781        0,     0,     0,     0,     0,     0,  1295,  1296,     0,     0,
5782        0,     0,     0,     0,     0,  1298,  4468,   233,     0,  1226,
5783      680,     0,  1227,  1228,  1229,   740,  1230,     0,     0,     0,
5784        0,     0,     0,     0,   234,   235,   236,   237,   238,   239,
5785      240,   241,     0,   242,   243,   244,     0,     0,     0,     0,
5786     1231,     0,     0,   245,   246,   247,     0,   248,   249,   250,
5787      251,   252,   253,   254,   255,   256,  1232,   258,  1233,  1234,
5788        0,   261,   262,   263,   264,   265,   266,   267,  1235,  1236,
5789      268,   269,  1237,  1238,   272,     0,   273,   274,   275,   276,
5790     1239,     0,  1240,     0,   279,   280,   281,   282,   283,   284,
5791      285,   286,   287,   288,     0,   289,   290,   291,   292,   293,
5792      294,     0,   295,   296,   297,   298,  1241,  1242,  1243,  1244,
5793     1245,  1246,  1247,   300,   301,   302,   303,   304,   305,  1248,
5794     1249,   308,  1250,   309,     0,   310,   311,   312,   313,   314,
5795      315,   316,     0,   317,   318,   319,   320,     0,     0,   321,
5796      322,   853,   324,   325,     0,   326,   327,   328,     0,   329,
5797      330,   331,     0,   332,   333,   334,   335,  1251,   337,   338,
5798      339,   340,  1252,  1253,   342,     0,   343,   344,   345,  1254,
5799      347,     0,   348,     0,   349,   350,     0,   351,   352,   353,
5800      354,   355,     0,   356,  1255,     0,  1256,   359,   360,     0,
5801      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
5802        0,   371,   372,   373,   374,   375,   376,   377,     0,   378,
5803      379,   380,   381,   382,   383,   384,  1257,  1258,     0,  1259,
5804        0,   388,   389,   390,   391,   392,   393,   394,   395,   396,
5805      397,     0,     0,   398,  1260,   400,   401,   402,     0,   403,
5806      404,   405,  1261,  1262,   406,   407,   408,   409,   410,   411,
5807      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
5808     1263,   423,  1264,   425,   426,   427,   428,   429,   430,   431,
5809      432,  1265,   434,  1266,   435,   436,   437,   438,  1267,  1268,
5810      440,  1269,   442,   443,   444,     0,   445,   446,     0,     0,
5811     1270,   448,   449,     0,     0,   450,   451,   452,   453,   454,
5812      455,  1271,   457,   458,   459,   460,   461,   462,   463,   464,
5813      465,     0,   466,   467,  1272,   469,   470,   471,   472,   473,
5814        0,   474,   475,   476,   477,   478,   479,   480,   481,   482,
5815      483,  1273,   485,   486,   487,   488,     0,   489,   490,   491,
5816      492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
5817        0,   502,   503,   504,   505,   506,   507,   508,   509,  1274,
5818      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
5819      520,   521,   522,   523,   524,  1275,   525,   526,   527,   528,
5820      529,   530,   531,   532,  1276,   534,     0,   535,   536,   537,
5821      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
5822     1277,   549,     0,   550,   551,     0,   552,   553,   554,   555,
5823      556,   557,   558,     0,   559,  1278,  1279,     0,     0,   562,
5824      563,  1280,   565,  1281,  1282,   567,   568,   569,   570,   571,
5825      572,   573,   574,     0,  1283,   575,   576,   577,   578,   579,
5826     1284,     0,   580,   581,   582,   583,   584,   585,  1285,     0,
5827      587,   588,   589,   590,   591,   592,     0,     0,   593,     0,
5828        0,   594,   595,   596,   597,   598,   599,   600,  1286,  1287,
5829     1288,  1289,   605,  1290,  1291,  1292,  1293,   610,   611,   612,
5830      613,  1294,     0,     0,     0,     0,   621,     0,     0,     0,
5831        0,     0,  1295,  1296,     0,     0,     0,     0,     0,     0,
5832        0,  1298,  4537,   234,   235,   236,   237,   238,   239,   240,
5833      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
5834     4019,     0,   245,   246,   247,     0,   248,   249,   250,   251,
5835        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
5836      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
5837      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
5838        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
5839      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
5840        0, -1763,   296,   297,   298,     0,     0,     0,     0,     0,
5841        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
5842      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
5843      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
5844      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
5845      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
5846      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
5847        0,   348,     0,   349,     0,     0, -1763,   352,   353,   354,
5848      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
5849      362,   363,   364,   365,     0,   367,   368,   369,   370,     0,
5850      371,   372,   373,   374,   375,   376,   377,     0,   378, -1763,
5851      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
5852      388,     0,     0,   391, -1763,   393,   394,   395,   396,   397,
5853        0,     0,   398,   399, -1763,   401,     0,     0,   403,   404,
5854      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
5855      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
5856    -1763,   424,   425,   426,   427,   428,   429,   430,   431,   432,
5857      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
5858      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
5859      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
5860      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
5861        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
5862      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
5863      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
5864      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
5865      502,   503, -1763,   505,   506,   507,   508,   509,   510,   511,
5866      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
5867      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
5868        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
5869      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
5870      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
5871      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
5872      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
5873      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
5874        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
5875        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
5876      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
5877      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
5878        0,     0,     0,     0,     0,   845,     0,     0,     0,     0,
5879        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
5880        0,  1408,   234,   235,   236,   237,   238,   239,   240,   241,
5881        0,   242,   243,   244,     0,     0,     0,     0,     0,     0,
5882        0,   245,   246,   247,     0,   248,   249,   250,   251,   252,
5883      253,   254,   255,     0,   846,   258,   847,   848,     0,   261,
5884      262,   263,   264,   265,   266,   267,     0,     0,   268,   269,
5885      849,   850,   272,     0,   273,   274,   275,   276,     0,     0,
5886      278,     0,   279,   280,   281,   282,   283,   284,   285,   286,
5887      287,   288,     0,   289,   290,   291,   292,   293,   294,     0,
5888      295,   296,   297,   298,     0,     0,     0,   299,     0,     0,
5889        0,   300,   301,   302,   303,   304,   305,   851,   852,   308,
5890        0,   309,     0,   310,   311,   312,   313,   314,   315,   316,
5891        0,   317,   318,   319,   320,     0,     0,   321,   322,   853,
5892      324,   325,     0,   326,   327,   328,     0,   329,   330,   331,
5893        0,   332,   333,   334,   335,     0,   337,   338,   339,   340,
5894        0,     0,   342,     0,   343,   344,   345,   854,   347,     0,
5895      348,     0,   349,   350,     0,   351,   352,   353,   354,   355,
5896        0,   356,     0,     0,     0,   359,   360,     0,   361,   362,
5897      363,   364,   365,   366,   367,   368,   369,   370,  2611,   371,
5898      372,   373,   374,   375,   376,   377,     0,   378,   379,  2612,
5899      381,   382,   383,   384,   855,   856,     0,   857,     0,   388,
5900      389,   390,   391,   392,   393,   394,   395,   396,   397,     0,
5901        0,   398,     0,   400,   401,   402,     0,   403,   404,   405,
5902        0,     0,   406,   407,   408,   409,   410,   411,   412,   413,
5903      414,   415,   416,   417,   418,   419,   420,   421,   858,   423,
5904      859,   425,   426,   427,   428,   429,   430,   431,     0,     0,
5905      434,     0,   435,   436,   437,   438,     0,     0,   440,   860,
5906      442,   443,   444,     0,   445,   446,     0,     0,   447,   448,
5907      449,     0,     0,   450,   451,  2614,   453,   454,   455,     0,
5908      457,   458,   459,   460,   461,   462,   463,   464,   465,     0,
5909      466,   467,     0,   469,     0,   471,   472,   473,     0,   474,
5910      475,   476,   477,   478,   479,   480,   481,   482,   483,   861,
5911      485,   486,   487,   488,     0,   489,   490,   491,   492,   493,
5912      494,   495,   496,   497,   498,   499,   500,   501,     0,   502,
5913      503,   504,   505,   506,   507,   508,   509,     0,   511,   512,
5914      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
5915      522,   523,   524,     0,   525,   526,  2615,   528,   529,   530,
5916      531,   532,   863,   534,     0,   535,   536,   537,   538,   539,
5917      540,   541,   542,   543,   544,   545,   546,   547,     0,   549,
5918        0,   550,   551,     0,   552,   553,   554,   555,   556,   557,
5919      558,     0,   559,   864,   865,     0,     0,   562,   563,     0,
5920      565,     0,     0,   567,   568,   569,   570,   571,   572,   573,
5921      574,     0,     0,   575,   576,   577,   578,   579,     0,     0,
5922      580,   581,   582,   583,   584,     0,   866,  2616,   587,   588,
5923      589,   590,   591,   592,     0,     0,   593,     0,     0,   594,
5924      595,   596,   597,   598,   599,   845,     0,     0,     0,     0,
5925        0,     0,     0,     0,     0,     0,   611,   612,   613,     0,
5926        0,     0,   234,   235,   236,   237,   238,   239,   240,   241,
5927        0,   242,   243,   244,     0,     0,     0,     0,     0,     0,
5928     2711,   245,   246,   247,     0,   248,   249,   250,   251,   252,
5929      253,   254,   255,     0,   846,   258,   847,   848,     0,   261,
5930      262,   263,   264,   265,   266,   267,     0,     0,   268,   269,
5931      849,   850,   272,     0,   273,   274,   275,   276,     0,     0,
5932      278,     0,   279,   280,   281,   282,   283,   284,   285,   286,
5933      287,   288,     0,   289,   290,   291,   292,   293,   294,     0,
5934      295,   296,   297,   298,     0,     0,     0,   299,     0,     0,
5935        0,   300,   301,   302,   303,   304,   305,   851,   852,   308,
5936        0,   309,     0,   310,   311,   312,   313,   314,   315,   316,
5937        0,   317,   318,   319,   320,     0,     0,   321,   322,   853,
5938      324,   325,     0,   326,   327,   328,     0,   329,   330,   331,
5939        0,   332,   333,   334,   335,     0,   337,   338,   339,   340,
5940        0,     0,   342,     0,   343,   344,   345,   854,   347,     0,
5941      348,     0,   349,   350,     0,   351,   352,   353,   354,   355,
5942        0,   356,     0,     0,     0,   359,   360,     0,   361,   362,
5943      363,   364,   365,   366,   367,   368,   369,   370,  2611,   371,
5944      372,   373,   374,   375,   376,   377,     0,   378,   379,  2612,
5945      381,   382,   383,   384,   855,   856,     0,   857,     0,   388,
5946      389,   390,   391,   392,   393,   394,   395,   396,   397,     0,
5947        0,   398,     0,   400,   401,   402,     0,   403,   404,   405,
5948        0,     0,   406,   407,   408,   409,   410,   411,   412,   413,
5949      414,   415,   416,   417,   418,   419,   420,   421,   858,   423,
5950      859,   425,   426,   427,   428,   429,   430,   431,     0,     0,
5951      434,     0,   435,   436,   437,   438,     0,     0,   440,   860,
5952      442,   443,   444,     0,   445,   446,     0,     0,   447,   448,
5953      449,     0,     0,   450,   451,  2614,   453,   454,   455,     0,
5954      457,   458,   459,   460,   461,   462,   463,   464,   465,     0,
5955      466,   467,     0,   469,     0,   471,   472,   473,     0,   474,
5956      475,   476,   477,   478,   479,   480,   481,   482,   483,   861,
5957      485,   486,   487,   488,     0,   489,   490,   491,   492,   493,
5958      494,   495,   496,   497,   498,   499,   500,   501,     0,   502,
5959      503,   504,   505,   506,   507,   508,   509,     0,   511,   512,
5960      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
5961      522,   523,   524,     0,   525,   526,  2615,   528,   529,   530,
5962      531,   532,   863,   534,     0,   535,   536,   537,   538,   539,
5963      540,   541,   542,   543,   544,   545,   546,   547,     0,   549,
5964        0,   550,   551,     0,   552,   553,   554,   555,   556,   557,
5965      558,     0,   559,   864,   865,     0,     0,   562,   563,     0,
5966      565,     0,     0,   567,   568,   569,   570,   571,   572,   573,
5967      574,     0,     0,   575,   576,   577,   578,   579,     0,     0,
5968      580,   581,   582,   583,   584,     0,   866,  2616,   587,   588,
5969      589,   590,   591,   592,     0,     0,   593,     0,     0,   594,
5970      595,   596,   597,   598,   599,   233,     0,  1226,   680,     0,
5971     1227,  1228,  1229,   740,  1230,     0,   611,   612,   613,     0,
5972        0,     0,   234,   235,   236,   237,   238,   239,   240,   241,
5973        0,   242,   243,   244,     0,     0,     0,     0,  1231,     0,
5974     3776,   245,   246,   247,     0,   248,   249,   250,   251,   252,
5975      253,   254,   255,   256,  1232,   258,  1233,  1234,     0,   261,
5976      262,   263,   264,   265,   266,   267,  1235,  1236,   268,   269,
5977     1237,  1238,   272,     0,   273,   274,   275,   276,  1239,     0,
5978     1240,     0,   279,   280,   281,   282,   283,   284,   285,   286,
5979      287,   288,     0,   289,   290,   291,   292,   293,   294,     0,
5980      295,   296,   297,   298,  1241,  1242,  1243,  1244,  1245,  1246,
5981     1247,   300,   301,   302,   303,   304,   305,  1248,  1249,   308,
5982     1250,   309,     0,   310,   311,   312,   313,   314,   315,   316,
5983        0,   317,   318,   319,   320,     0,     0,   321,   322,   853,
5984      324,   325,     0,   326,   327,   328,     0,   329,   330,   331,
5985        0,   332,   333,   334,   335,  1251,   337,   338,   339,   340,
5986     1252,  1253,   342,     0,   343,   344,   345,  1254,   347,     0,
5987      348,     0,   349,   350,     0,   351,   352,   353,   354,   355,
5988        0,   356,  1255,     0,  1256,   359,   360,     0,   361,   362,
5989      363,   364,   365,   366,   367,   368,   369,   370,     0,   371,
5990      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
5991      381,   382,   383,   384,  1257,  1258,     0,  1259,     0,   388,
5992      389,   390,   391,   392,   393,   394,   395,   396,   397,     0,
5993        0,   398,  1260,   400,   401,   402,     0,   403,   404,   405,
5994     1261,  1262,   406,   407,   408,   409,   410,   411,   412,   413,
5995      414,   415,   416,   417,   418,   419,   420,   421,  1263,   423,
5996     1264,   425,   426,   427,   428,   429,   430,   431,   432,  1265,
5997      434,  1266,   435,   436,   437,   438,  1267,  1268,   440,  1269,
5998      442,   443,   444,     0,   445,   446,     0,     0,  1270,   448,
5999      449,     0,     0,   450,   451,   452,   453,   454,   455,  1271,
6000      457,   458,   459,   460,   461,   462,   463,   464,   465,     0,
6001      466,   467,  1272,   469,   470,   471,   472,   473,     0,   474,
6002      475,   476,   477,   478,   479,   480,   481,   482,   483,  1273,
6003      485,   486,   487,   488,     0,   489,   490,   491,   492,   493,
6004      494,   495,   496,   497,   498,   499,   500,   501,     0,   502,
6005      503,   504,   505,   506,   507,   508,   509,  1274,   511,   512,
6006      513,   514,   515,   516,   517,   518,   519,    40,   520,   521,
6007      522,   523,   524,  1275,   525,   526,   527,   528,   529,   530,
6008      531,   532,  1276,   534,     0,   535,   536,   537,   538,   539,
6009      540,   541,   542,   543,   544,   545,   546,   547,  1277,   549,
6010        0,   550,   551,    44,   552,   553,   554,   555,   556,   557,
6011      558,     0,   559,  1278,  1279,     0,     0,   562,   563,  1280,
6012      565,  1281,  1282,   567,   568,   569,   570,   571,   572,   573,
6013      574,     0,  1283,   575,   576,   577,   578,   579,  1284,     0,
6014      580,   581,   582,   583,   584,  1166,  1285,     0,   587,   588,
6015      589,   590,   591,   592,     0,     0,   593,     0,    49,   594,
6016      595,   596,   597,   598,   599,   600,  1286,  1287,  1288,  1289,
6017      605,  1290,  1291,  1292,  1293,   610,   611,   612,   613,  1294,
6018        0,    50,     0,     0,     0,     0,     0,     0,     0,     0,
6019     1295,  1296,     0,     0,     0,   233,     0,  1226,   680,  1298,
6020     1227,  1228,  1229,   740,  1230,     0,     0,     0,     0,     0,
6021        0,     0,   234,   235,   236,   237,   238,   239,   240,   241,
6022        0,   242,   243,   244,     0,     0,     0,     0,  1231,     0,
6023        0,   245,   246,   247,     0,   248,   249,   250,   251,   252,
6024      253,   254,   255,   256,  1232,   258,  1233,  1234,  3172,   261,
6025      262,   263,   264,   265,   266,   267,  1235,  1236,   268,   269,
6026     1237,  1238,   272,     0,   273,   274,   275,   276,  1239,     0,
6027     1240,     0,   279,   280,   281,   282,   283,   284,   285,   286,
6028      287,   288,     0,   289,   290,   291,   292,   293,   294,     0,
6029      295,   296,   297,   298,  1241,  1242,  1243,  1244,  1245,  1246,
6030     1247,   300,   301,   302,   303,   304,   305,  1248,  1249,   308,
6031     1250,   309,     0,   310,   311,   312,   313,   314,   315,   316,
6032        0,   317,   318,   319,   320,     0,     0,   321,   322,   853,
6033      324,   325,     0,   326,   327,   328,     0,   329,   330,   331,
6034        0,   332,   333,   334,   335,  1251,   337,   338,   339,   340,
6035     1252,  1253,   342,     0,   343,   344,   345,  1254,   347,     0,
6036      348,     0,   349,   350,  3173,   351,   352,   353,   354,   355,
6037        0,   356,  1255,     0,  1256,   359,   360,     0,   361,   362,
6038      363,   364,   365,   366,   367,   368,   369,   370,     0,   371,
6039      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
6040      381,   382,   383,   384,  1257,  1258,     0,  1259,     0,   388,
6041      389,   390,   391,   392,   393,   394,   395,   396,   397,     0,
6042     3174,   398,  1260,   400,   401,   402,     0,   403,   404,   405,
6043     1261,  1262,   406,   407,   408,   409,   410,   411,   412,   413,
6044      414,   415,   416,   417,   418,   419,   420,   421,  1263,   423,
6045     1264,   425,   426,   427,   428,   429,   430,   431,   432,  1265,
6046      434,  1266,   435,   436,   437,   438,  1267,  1268,   440,  1269,
6047      442,   443,   444,     0,   445,   446,     0,     0,  1270,   448,
6048      449,     0,     0,   450,   451,   452,   453,   454,   455,  1271,
6049      457,   458,   459,   460,   461,   462,   463,   464,   465,     0,
6050      466,   467,  1272,   469,   470,   471,   472,   473,     0,   474,
6051      475,   476,   477,   478,   479,   480,   481,   482,   483,  1273,
6052      485,   486,   487,   488,     0,   489,   490,   491,   492,   493,
6053      494,   495,   496,   497,   498,   499,   500,   501,     0,   502,
6054      503,   504,   505,   506,   507,   508,   509,  1274,   511,   512,
6055      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
6056      522,   523,   524,  1275,   525,   526,   527,   528,   529,   530,
6057      531,   532,  1276,   534,     0,   535,   536,   537,   538,   539,
6058      540,   541,   542,   543,   544,   545,   546,   547,  1277,   549,
6059        0,   550,   551,     0,   552,   553,   554,   555,   556,   557,
6060      558,     0,   559,  1278,  1279,     0,  3175,   562,   563,  1280,
6061      565,  1281,  1282,   567,   568,   569,   570,   571,   572,   573,
6062      574,     0,  1283,   575,   576,   577,   578,   579,  1284,     0,
6063      580,   581,   582,   583,   584,   585,  1285,     0,   587,   588,
6064      589,   590,   591,   592,     0,     0,   593,     0,     0,   594,
6065      595,   596,   597,   598,   599,   600,  1286,  1287,  1288,  1289,
6066      605,  1290,  1291,  1292,  1293,   610,   611,   612,   613,  1294,
6067        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6068     1295,  1296,     0,     0,     0,   233,     0,  1226,   680,  1298,
6069     1227,  1228,  1229,   740,  1230,     0,     0,     0,     0,     0,
6070        0,     0,   234,   235,   236,   237,   238,   239,   240,   241,
6071    -2152,   242,   243,   244,     0,     0,     0, -2152,  1231,     0,
6072        0,   245,   246,   247,     0,   248,   249,   250,   251,   252,
6073      253,   254,   255,   256,  1232,   258,  1233,  1234,     0,   261,
6074      262,   263,   264,   265,   266,   267,  1235,  1236,   268,   269,
6075     1237,  1238,   272,     0,   273,   274,   275,   276,  1239,     0,
6076     1240,     0,   279,   280,   281,   282,   283,   284,   285,   286,
6077      287,   288,     0,   289,   290,   291,   292,   293,   294,     0,
6078      295,   296,   297,   298,  1241,  1242,  1243,  1244,  1245,  1246,
6079     1247,   300,   301,   302,   303,   304,   305,  1248,  1249,   308,
6080     1250,   309,     0,   310,   311,   312,   313,   314,   315,   316,
6081        0,   317,   318,   319,   320,     0,     0,   321,   322,   853,
6082      324,   325,     0,   326,   327,   328,     0,   329,   330,   331,
6083        0,   332,   333,   334,   335,  1251,   337,   338,   339,   340,
6084     1252,  1253,   342,     0,   343,   344,   345,  1254,   347,     0,
6085      348,     0,   349,   350,     0,   351,   352,   353,   354,   355,
6086        0,   356,  1255,     0,  1256,   359,   360,     0,   361,   362,
6087      363,   364,   365,   366,   367,   368,   369,   370,     0,   371,
6088      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
6089      381,   382,   383,   384,  1257,  1258,     0,  1259,     0,   388,
6090      389,   390,   391,   392,   393,   394,   395,   396,   397,     0,
6091        0,   398,  1260,   400,   401,   402,     0,   403,   404,   405,
6092     1261,  1262,   406,   407,   408,   409,   410,   411,   412,   413,
6093      414,   415,   416,   417,   418,   419,   420,   421,  1263,   423,
6094     1264,   425,   426,   427,   428,   429,   430,   431,   432,  1265,
6095      434,  1266,   435,   436,   437,   438,  1267,  1268,   440,  1269,
6096      442,   443,   444,     0,   445,   446,     0,     0,  1270,   448,
6097      449,     0,     0,   450,   451,   452,   453,   454,   455,  1271,
6098      457,   458,   459,   460,   461,   462,   463,   464,   465,     0,
6099      466,   467,  1272,   469,   470,   471,   472,   473,     0,   474,
6100      475,   476,   477,   478,   479,   480,   481,   482,   483,  1273,
6101      485,   486,   487,   488,     0,   489,   490,   491,   492,   493,
6102      494,   495,   496,   497,   498,   499,   500,   501,     0,   502,
6103      503,   504,   505,   506,   507,   508,   509,  1274,   511,   512,
6104      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
6105      522,   523,   524,  1275,   525,   526,   527,   528,   529,   530,
6106      531,   532,  1276,   534, -2152,   535,   536,   537,   538,   539,
6107      540,   541,   542,   543,   544,   545,   546,   547,  1277,   549,
6108        0,   550,   551,     0,   552,   553,   554,   555,   556,   557,
6109      558,     0,   559,  1278,  1279,     0,     0,   562,   563,  1280,
6110      565,  1281,  1282,   567,   568,   569,   570,   571,   572,   573,
6111      574,     0,  1283,   575,   576,   577,   578,   579,  1284,     0,
6112      580,   581,   582,   583,   584,   585,  1285,     0,   587,   588,
6113      589,   590,   591,   592,     0,     0,   593,     0,     0,   594,
6114      595,   596,   597,   598,   599,   600,  1286,  1287,  1288,  1289,
6115      605,  1290,  1291,  1292,  1293,   610,   611,   612,   613,  1294,
6116        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6117     1295,  1296,     0,     0,     0,   233,     0,  1226,   680,  1298,
6118     1227,  1228,  1229,   740,  1230,     0,     0,     0,     0,     0,
6119        0,     0,   234,   235,   236,   237,   238,   239,   240,   241,
6120    -2150,   242,   243,   244,     0,     0,     0, -2150,  1231,     0,
6121        0,   245,   246,   247,     0,   248,   249,   250,   251,   252,
6122      253,   254,   255,   256,  1232,   258,  1233,  1234,     0,   261,
6123      262,   263,   264,   265,   266,   267,  1235,  1236,   268,   269,
6124     1237,  1238,   272,     0,   273,   274,   275,   276,  1239,     0,
6125     1240,     0,   279,   280,   281,   282,   283,   284,   285,   286,
6126      287,   288,     0,   289,   290,   291,   292,   293,   294,     0,
6127      295,   296,   297,   298,  1241,  1242,  1243,  1244,  1245,  1246,
6128     1247,   300,   301,   302,   303,   304,   305,  1248,  1249,   308,
6129     1250,   309,     0,   310,   311,   312,   313,   314,   315,   316,
6130        0,   317,   318,   319,   320,     0,     0,   321,   322,   853,
6131      324,   325,     0,   326,   327,   328,     0,   329,   330,   331,
6132        0,   332,   333,   334,   335,  1251,   337,   338,   339,   340,
6133     1252,  1253,   342,     0,   343,   344,   345,  1254,   347,     0,
6134      348,     0,   349,   350,     0,   351,   352,   353,   354,   355,
6135        0,   356,  1255,     0,  1256,   359,   360,     0,   361,   362,
6136      363,   364,   365,   366,   367,   368,   369,   370,     0,   371,
6137      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
6138      381,   382,   383,   384,  1257,  1258,     0,  1259,     0,   388,
6139      389,   390,   391,   392,   393,   394,   395,   396,   397,     0,
6140        0,   398,  1260,   400,   401,   402,     0,   403,   404,   405,
6141     1261,  1262,   406,   407,   408,   409,   410,   411,   412,   413,
6142      414,   415,   416,   417,   418,   419,   420,   421,  1263,   423,
6143     1264,   425,   426,   427,   428,   429,   430,   431,   432,  1265,
6144      434,  1266,   435,   436,   437,   438,  1267,  1268,   440,  1269,
6145      442,   443,   444,     0,   445,   446,     0,     0,  1270,   448,
6146      449,     0,     0,   450,   451,   452,   453,   454,   455,  1271,
6147      457,   458,   459,   460,   461,   462,   463,   464,   465,     0,
6148      466,   467,  1272,   469,   470,   471,   472,   473,     0,   474,
6149      475,   476,   477,   478,   479,   480,   481,   482,   483,  1273,
6150      485,   486,   487,   488,     0,   489,   490,   491,   492,   493,
6151      494,   495,   496,   497,   498,   499,   500,   501,     0,   502,
6152      503,   504,   505,   506,   507,   508,   509,  1274,   511,   512,
6153      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
6154      522,   523,   524,  1275,   525,   526,   527,   528,   529,   530,
6155      531,   532,  1276,   534, -2150,   535,   536,   537,   538,   539,
6156      540,   541,   542,   543,   544,   545,   546,   547,  1277,   549,
6157        0,   550,   551,     0,   552,   553,   554,   555,   556,   557,
6158      558,     0,   559,  1278,  1279,     0,     0,   562,   563,  1280,
6159      565,  1281,  1282,   567,   568,   569,   570,   571,   572,   573,
6160      574,     0,  1283,   575,   576,   577,   578,   579,  1284,     0,
6161      580,   581,   582,   583,   584,   585,  1285,     0,   587,   588,
6162      589,   590,   591,   592,     0,     0,   593,     0,     0,   594,
6163      595,   596,   597,   598,   599,   600,  1286,  1287,  1288,  1289,
6164      605,  1290,  1291,  1292,  1293,   610,   611,   612,   613,  1294,
6165        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6166     1295,  1296,     0,     0,     0,   233,     0,  1226,   680,  1298,
6167     1227,  1228,  1229,   740,  1230,     0,     0,     0,     0,     0,
6168        0,     0,   234,   235,   236,   237,   238,   239,   240,   241,
6169        0,   242,   243,   244,     0,     0,     0,     0,  1231,     0,
6170        0,   245,   246,   247,     0,   248,   249,   250,   251,   252,
6171      253,   254,   255,   256,  1232,   258,  1233,  1234,     0,   261,
6172      262,   263,   264,   265,   266,   267,  1235,  1236,   268,   269,
6173     1237,  1238,   272,     0,   273,   274,   275,   276,  1239,     0,
6174     1240,     0,   279,   280,   281,   282,   283,   284,   285,   286,
6175      287,   288,     0,   289,   290,   291,   292,   293,   294,     0,
6176      295,   296,   297,   298,  1241,  1242,  1243,  1244,  1245,  1246,
6177     1247,   300,   301,   302,   303,   304,   305,  1248,  1249,   308,
6178     1250,   309,     0,   310,   311,   312,   313,   314,   315,   316,
6179        0,   317,   318,   319,   320,     0,     0,   321,   322,   853,
6180      324,   325,     0,   326,   327,   328,     0,   329,   330,   331,
6181        0,   332,   333,   334,   335,  1251,   337,   338,   339,   340,
6182     1252,  1253,   342,     0,   343,   344,   345,  1254,   347,     0,
6183      348,     0,   349,   350,     0,   351,   352,   353,   354,   355,
6184        0,   356,  1255,     0,  1256,   359,   360,     0,   361,   362,
6185      363,   364,   365,   366,   367,   368,   369,   370,     0,   371,
6186      372,   373,   374,   375,   376,   377,     0,   378,   379,   380,
6187      381,   382,   383,   384,  1257,  1258,     0,  1259,     0,   388,
6188      389,   390,   391,   392,   393,   394,   395,   396,   397,     0,
6189        0,   398,  1260,   400,   401,   402,     0,   403,   404,   405,
6190     1261,  1262,   406,   407,   408,   409,   410,   411,   412,   413,
6191      414,   415,   416,   417,   418,   419,   420,   421,  1263,   423,
6192     1264,   425,   426,   427,   428,   429,   430,   431,   432,  1265,
6193      434,  1266,   435,   436,   437,   438,  1267,  1268,   440,  1269,
6194      442,   443,   444,     0,   445,   446,     0,     0,  1270,   448,
6195      449,     0,     0,   450,   451,   452,   453,   454,   455,  1271,
6196      457,   458,   459,   460,   461,   462,   463,   464,   465,     0,
6197      466,   467,  1272,   469,   470,   471,   472,   473,     0,   474,
6198      475,   476,   477,   478,   479,   480,   481,   482,   483,  1273,
6199      485,   486,   487,   488,     0,   489,   490,   491,   492,   493,
6200      494,   495,   496,   497,   498,   499,   500,   501,     0,   502,
6201      503,   504,   505,   506,   507,   508,   509,  1274,   511,   512,
6202      513,   514,   515,   516,   517,   518,   519,     0,   520,   521,
6203      522,   523,   524,  1275,   525,   526,   527,   528,   529,   530,
6204      531,   532,  1276,   534,     0,   535,   536,   537,   538,   539,
6205      540,   541,   542,   543,   544,   545,   546,   547,  1277,   549,
6206        0,   550,   551,     0,   552,   553,   554,   555,   556,   557,
6207      558,     0,   559,  1278,  1279,     0,     0,   562,   563,  1280,
6208      565,  1281,  1282,   567,   568,   569,   570,   571,   572,   573,
6209      574,     0,  1283,   575,   576,   577,   578,   579,  1284,     0,
6210      580,   581,   582,   583,   584,   585,  1285,     0,   587,   588,
6211      589,   590,   591,   592,     0,     0,   593,     0,     0,   594,
6212      595,   596,   597,   598,   599,   600,  1286,  1287,  1288,  1289,
6213      605,  1290,  1291,  1292,  1293,   610,   611,   612,   613,  1294,
6214        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
6215     1295,  1296,     0,     0,     0,     0,     0,  1984,  3124,  1298,
6216      233,     0,  1226,   680,     0,  1227,  1228,  1229,   740,  1230,
6217        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
6218      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
6219        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
6220      248,   249,   250,   251,   252,   253,   254,   255,   256,  1232,
6221      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
6222      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
6223      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
6224      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
6225      291,   292,   293,   294,     0,   295,   296,   297,   298,  1241,
6226     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
6227      304,   305,  1248,  1249,   308,  1250,   309,     0,   310,   311,
6228      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
6229        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
6230      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
6231     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
6232      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
6233      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
6234      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
6235      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
6236      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
6237     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
6238      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
6239      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
6240      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
6241      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
6242      429,   430,   431,   432,  1265,   434,  1266,   435,   436,   437,
6243      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
6244      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
6245      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
6246      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
6247      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
6248      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
6249      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
6250      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
6251      508,   509,  1274,   511,   512,   513,   514,   515,   516,   517,
6252      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
6253      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
6254      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
6255      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
6256      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
6257        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
6258      569,   570,   571,   572,   573,   574,     0,  1283,   575,   576,
6259      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
6260      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
6261        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
6262      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
6263      610,   611,   612,   613,  1294,     0,     0,     0,     0,     0,
6264        0,     0,     0,     0,     0,  1295,  1296,  1297,     0,     0,
6265      233,     0,  1226,   680,  1298,  1227,  1228,  1229,   740,  1230,
6266        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
6267      237,   238,   239,   240,   241,  2579,   242,   243,   244,     0,
6268        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
6269      248,   249,   250,   251,   252,   253,   254,   255,   256,  1232,
6270      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
6271      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
6272      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
6273      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
6274      291,   292,   293,   294,     0,   295,   296,   297,   298,  1241,
6275     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
6276      304,   305,  1248,  1249,   308,  1250,   309,     0,   310,   311,
6277      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
6278        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
6279      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
6280     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
6281      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
6282      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
6283      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
6284      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
6285      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
6286     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
6287      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
6288      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
6289      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
6290      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
6291      429,   430,   431,   432,  1265,   434,  1266,   435,   436,   437,
6292      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
6293      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
6294      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
6295      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
6296      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
6297      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
6298      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
6299      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
6300      508,   509,  1274,   511,   512,   513,   514,   515,   516,   517,
6301      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
6302      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
6303      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
6304      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
6305      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
6306        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
6307      569,   570,   571,   572,   573,   574,     0,  1283,   575,   576,
6308      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
6309      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
6310        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
6311      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
6312      610,   611,   612,   613,  1294,     0,     0,     0,     0,     0,
6313        0,     0,     0,     0,     0,  1295,  1296,     0,     0,     0,
6314      233,     0,  1226,   680,  1298,  1227,  1228,  1229,   740,  1230,
6315        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
6316      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
6317        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
6318      248,   249,   250,   251,   252,   253,   254,   255,   256,  1232,
6319      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
6320      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
6321      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
6322      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
6323      291,   292,   293,   294,     0,   295,   296,   297,   298,  1241,
6324     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
6325      304,   305,  1248,  1249,   308,  1250,   309,     0,   310,   311,
6326      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
6327        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
6328      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
6329     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
6330      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
6331      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
6332      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
6333      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
6334      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
6335     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
6336      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
6337      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
6338      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
6339      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
6340      429,   430,   431,   432,  1265,   434,  1266,   435,   436,   437,
6341      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
6342      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
6343      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
6344      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
6345      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
6346      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
6347      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
6348      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
6349      508,   509,  1274,   511,   512,   513,   514,   515,   516,   517,
6350      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
6351      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
6352      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
6353      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
6354      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
6355        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
6356      569,   570,   571,   572,   573,   574,     0,  1283,   575,   576,
6357      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
6358      585,  1285,  3654,   587,   588,   589,   590,   591,   592,     0,
6359        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
6360      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
6361      610,   611,   612,   613,  1294,     0,     0,     0,     0,     0,
6362        0,     0,     0,     0,     0,  1295,  1296,     0,     0,     0,
6363      233,     0,  1226,   680,  1298,  1227,  1228,  1229,   740,  1230,
6364        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
6365      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
6366        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
6367      248,   249,   250,   251,   252,   253,   254,   255,   256,  1232,
6368      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
6369      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
6370      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
6371      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
6372      291,   292,   293,   294,     0,   295,   296,   297,   298,  1241,
6373     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
6374      304,   305,  1248,  1249,   308,  1250,   309,     0,   310,   311,
6375      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
6376        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
6377      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
6378     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
6379      344,   345,  1254,   347,     0,   348,     0,   349,   350,  3173,
6380      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
6381      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
6382      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
6383      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
6384     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
6385      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
6386      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
6387      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
6388      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
6389      429,   430,   431,   432,  1265,   434,  1266,   435,   436,   437,
6390      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
6391      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
6392      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
6393      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
6394      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
6395      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
6396      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
6397      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
6398      508,   509,  1274,   511,   512,   513,   514,   515,   516,   517,
6399      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
6400      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
6401      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
6402      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
6403      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
6404        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
6405      569,   570,   571,   572,   573,   574,     0,  1283,   575,   576,
6406      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
6407      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
6408        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
6409      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
6410      610,   611,   612,   613,  1294,     0,     0,     0,     0,     0,
6411        0,     0,     0,     0,     0,  1295,  1296,     0,     0,     0,
6412      233,     0,  1226,   680,  1298,  1227,  1228,  1229,   740,  1230,
6413        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
6414      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
6415        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
6416      248,   249,   250,   251,   252,   253,   254,   255,   256,  1232,
6417      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
6418      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
6419      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
6420      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
6421      291,   292,   293,   294,     0,   295,   296,   297,   298,  1241,
6422     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
6423      304,   305,  1248,  1249,   308,  1250,   309,     0,   310,   311,
6424      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
6425        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
6426      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
6427     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
6428      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
6429      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
6430      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
6431      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
6432      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
6433     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
6434      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
6435      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
6436      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
6437      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
6438      429,   430,   431,   432,  1265,   434,  1266,   435,   436,   437,
6439      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
6440      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
6441      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
6442      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
6443      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
6444      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
6445      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
6446      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
6447      508,   509,  1274,   511,   512,   513,   514,   515,   516,   517,
6448      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
6449      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
6450      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
6451      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
6452      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
6453     3224,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
6454      569,   570,   571,   572,   573,   574,     0,  1283,   575,   576,
6455      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
6456      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
6457        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
6458      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
6459      610,   611,   612,   613,  1294,     0,     0,     0,     0,     0,
6460        0,     0,     0,     0,     0,  1295,  1296,     0,     0,     0,
6461      233,     0,  1226,   680,  1298,  1227,  1228,  1229,   740,  1230,
6462        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
6463      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
6464        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
6465      248,   249,   250,   251,   252,   253,   254,   255,   256,  1232,
6466      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
6467      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
6468      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
6469      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
6470      291,   292,   293,   294,     0,   295,   296,   297,   298,  1241,
6471     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
6472      304,   305,  1248,  1249,   308,  1250,   309,     0,   310,   311,
6473      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
6474        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
6475      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
6476     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
6477      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
6478      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
6479      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
6480      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
6481      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
6482     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
6483      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
6484      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
6485      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
6486      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
6487      429,   430,   431,   432,  1265,   434,  1266,   435,   436,   437,
6488      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
6489      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
6490      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
6491      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
6492      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
6493      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
6494      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
6495      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
6496      508,   509,  1274,   511,   512,   513,   514,   515,   516,   517,
6497      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
6498      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
6499      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
6500      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
6501      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
6502        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
6503      569,   570,   571,   572,   573,   574,     0,  1283,   575,   576,
6504      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
6505      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
6506        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
6507      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
6508      610,   611,   612,   613,  1294,     0,     0,     0,     0,     0,
6509        0,     0,     0,     0,     0,  1295,  1296,     0,     0,     0,
6510      233,     0,  1226,   680,  1298,  1227,  1228,  1229,   740,  1230,
6511        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
6512      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
6513        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
6514      248,   249,   250,   251,   252,   253,   254,   255,   256,  1232,
6515      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
6516      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
6517      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
6518      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
6519      291,   292,   293,   294,     0,   295,   296,   297,   298,  1241,
6520     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
6521      304,   305,  1248,  1249,   308,  1250,   309,     0,   310,   311,
6522      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
6523        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
6524      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
6525     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
6526      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
6527      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
6528      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
6529      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
6530      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
6531     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
6532      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
6533      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
6534      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
6535      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
6536      429,   430,   431,   432,  1265,   434,  1266,   435,   436,   437,
6537      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
6538      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
6539      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
6540      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
6541      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
6542      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
6543      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
6544      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
6545      508,   509,  1274,   511,   512,   513,   514,   515,   516,   517,
6546      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
6547      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
6548      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
6549      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
6550      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
6551        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
6552      569,   570,   571,   572,   573,   574,     0,  1283,   575,   576,
6553      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
6554      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
6555        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
6556      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
6557      610,   611,   612,   613,  1294,     0,     0,     0,     0,     0,
6558        0,     0,     0,     0,     0,  2582,  2583,     0,     0,     0,
6559      233,     0,  3337,   680,  1298,  1227,  1228,  1229,   740,  1230,
6560        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
6561      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
6562        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
6563      248,   249,   250,   251,   252,   253,   254,   255,   256,  1232,
6564      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
6565      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
6566      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
6567      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
6568      291,   292,   293,   294,     0,   295,   296,   297,   298,  1241,
6569     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
6570      304,   305,  1248,  1249,   308,  1250,   309,     0,   310,   311,
6571      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
6572        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
6573      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
6574     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
6575      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
6576      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
6577      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
6578      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
6579      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
6580     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
6581      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
6582      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
6583      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
6584      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
6585      429,   430,   431,   432,  1265,   434,  1266,   435,   436,   437,
6586      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
6587      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
6588      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
6589      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
6590      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
6591      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
6592      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
6593      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
6594      508,   509,  1274,   511,   512,   513,   514,   515,   516,   517,
6595      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
6596      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
6597      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
6598      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
6599      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
6600        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
6601      569,   570,   571,   572,   573,   574,     0,  1283,   575,   576,
6602      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
6603      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
6604        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
6605      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
6606      610,   611,   612,   613,  1294,     0,     0,     0,     0,     0,
6607        0,     0,     0,     0,     0,  1295,  1296,     0,     0,     0,
6608      233,     0,  1226,   680,  1298,  1227,  1228,  1229,   740,  1230,
6609        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
6610      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
6611        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
6612      248,   249,   250,   251,   252,   253,   254,   255,   256,  1232,
6613      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
6614      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
6615      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
6616      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
6617      291,   292,   293,   294,     0,   295,   296,   297,  4588,  1241,
6618     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
6619      304,   305,  1248,  1249,   308,  1250,   309,     0,   310,   311,
6620      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
6621        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
6622      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
6623     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
6624      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
6625      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
6626      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
6627      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
6628      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
6629     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
6630      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
6631      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
6632      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
6633      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
6634      429,   430,   431,   432,  1265,   434,  1266,   435,   436,   437,
6635      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
6636      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
6637      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
6638      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
6639      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
6640      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
6641      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
6642      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
6643      508,   509,  1274,   511,   512,   513,   514,   515,   516,   517,
6644      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
6645      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
6646      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
6647      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
6648      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
6649        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
6650      569,   570,   571,   572,   573,   574,     0,  1283,   575,   576,
6651      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
6652      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
6653        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
6654      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
6655      610,   611,   612,   613,  1294,     0,     0,     0,     0,     0,
6656        0,     0,     0,     0,     0,  1295,  1296,     0,     0,     0,
6657      233,     0,  1226,   680,  1298,  1227,  1228,  1229,   740,  1230,
6658        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
6659      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
6660        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
6661      248,   249,   250,   251,   252,   253,   254,   255,   256,  1232,
6662      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
6663      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
6664      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
6665      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
6666      291,   292,   293,   294,     0,   295,   296,   297,   298,  1241,
6667     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
6668      304,   305,  1248,  1249,   308,  1250,   309,     0,   310,   311,
6669      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
6670        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
6671      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
6672     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
6673      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
6674      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
6675      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
6676      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
6677      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
6678     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
6679      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
6680      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
6681      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
6682      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
6683      429,   430,   431,   432,  1265,   434,  1266,   435,   436,   437,
6684      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
6685      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
6686      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
6687      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
6688      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
6689      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
6690      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
6691      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
6692      508,   509,  1274,   511,   512,   513,   514,   515,   516,   517,
6693      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
6694      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
6695      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
6696      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
6697      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
6698        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
6699      569,   570,   571,   572,   573,   574,     0,  1283,   575,   576,
6700      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
6701      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
6702        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
6703     4942,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
6704      610,   611,   612,   613,  1294,     0,     0,     0,     0,     0,
6705        0,     0,     0,     0,     0,  1295,  1296,     0,     0,     0,
6706      233,     0,  1226,   680,  1298,  1227,  1228,  1229,   740,  1230,
6707        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
6708      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
6709        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
6710      248,   249,   250,   251,   252,   253,   254,   255,   256,  1232,
6711      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
6712      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
6713      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
6714      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
6715      291,   292,   293,   294,     0,   295,   296,   297,   298,  1241,
6716     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
6717      304,   305,  1248,  1249,   308,  1250,   309,     0,   310,   311,
6718      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
6719        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
6720      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
6721     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
6722      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
6723      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
6724      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
6725      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
6726      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
6727     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
6728      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
6729      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
6730      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
6731      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
6732      429,   430,  4954,   432,  1265,   434,  1266,   435,   436,   437,
6733      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
6734      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
6735      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
6736      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
6737      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
6738      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
6739      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
6740      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
6741      508,   509,  1274,   511,   512,   513,   514,   515,   516,   517,
6742      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
6743      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
6744      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
6745      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
6746      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
6747        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
6748      569,   570,   571,   572,   573,   574,     0,  1283,   575,   576,
6749      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
6750      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
6751        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
6752      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
6753      610,   611,   612,   613,  1294,     0,     0,     0,     0,     0,
6754        0,     0,     0,     0,     0,  1295,  1296,     0,     0,     0,
6755      233,     0,  1226,   680,  1298,  1227,  1228,  1229,   740,  1230,
6756        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
6757      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
6758        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
6759      248,   249,   250,   251,   252,   253,   254,   255,   256,  1232,
6760      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
6761      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
6762      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
6763      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
6764      291,   292,   293,   294,     0,   295,   296,  5264,   298,  1241,
6765     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
6766      304,   305,  1248,  1249,   308,  1250,   309,     0,   310,   311,
6767      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
6768        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
6769      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
6770     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
6771      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
6772      351,   352,   353,   354,   355,     0,   356,  1255,     0,  5265,
6773      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
6774      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
6775      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
6776     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
6777      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
6778      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
6779      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
6780      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
6781      429,   430,   431,   432,  1265,   434,  1266,   435,   436,   437,
6782      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
6783      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
6784      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
6785      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
6786      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
6787      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
6788      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
6789      499,   500,   501,     0,   502,   503,   504,   505,   506,  5266,
6790      508,   509,  1274,   511,   512,   513,   514,   515,   516,   517,
6791      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
6792      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
6793      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
6794      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
6795      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
6796        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
6797      569,   570,   571,   572,   573,   574,     0,  1283,   575,   576,
6798      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
6799      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
6800        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
6801      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
6802      610,   611,   612,   613,  1294,     0,     0,     0,     0,     0,
6803        0,     0,     0,     0,     0,  1295,  1296,     0,     0,     0,
6804      233,     0,  1226,   680,  5267,  1227,  1228,  1229,   740,  1230,
6805        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
6806      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
6807        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
6808      248,   249,   250,   251,   252,   253,   254,   255,  5747,  1232,
6809      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
6810      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
6811      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
6812      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
6813      291,   292,   293,   294,     0,   295,   296,   297,  5748,  1241,
6814     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
6815      304,   305,  1248,  1249,   308,  1250,   309,     0,   310,   311,
6816      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
6817        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
6818      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
6819     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
6820      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
6821      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
6822      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
6823      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
6824      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
6825     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
6826      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
6827      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
6828      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
6829      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
6830      429,   430,   431,   432,  1265,   434,  1266,   435,   436,   437,
6831      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
6832      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
6833      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
6834      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
6835      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
6836      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
6837      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
6838      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
6839      508,   509,  1274,   511,   512,   513,   514,   515,   516,   517,
6840      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
6841      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
6842      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
6843      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
6844      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
6845        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
6846      569,   570,   571,  5749,   573,   574,     0,  1283,   575,   576,
6847      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
6848      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
6849        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
6850      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
6851      610,   611,   612,   613,  1294,     0,     0,     0,     0,     0,
6852        0,     0,     0,     0,     0,  1295,  1296,     0,     0,     0,
6853      233,     0,  1226,   680,  1298,  1227,  1228,  1229,   740,  1230,
6854        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
6855      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
6856        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
6857      248,   249,   250,   251,   252,   253,   254,   255,   256,  1232,
6858      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
6859      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
6860      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
6861      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
6862      291,   292,   293,   294,     0,   295,   296,   297,  5748,  1241,
6863     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
6864      304,   305,  1248,  1249,   308,  1250,   309,     0,   310,   311,
6865      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
6866        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
6867      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
6868     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
6869      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
6870      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
6871      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
6872      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
6873      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
6874     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
6875      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
6876      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
6877      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
6878      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
6879      429,   430,   431,   432,  1265,   434,  1266,   435,   436,   437,
6880      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
6881      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
6882      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
6883      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
6884      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
6885      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
6886      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
6887      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
6888      508,   509,  1274,   511,   512,   513,   514,   515,   516,   517,
6889      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
6890      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
6891      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
6892      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
6893      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
6894        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
6895      569,   570,   571,  5749,   573,   574,     0,  1283,   575,   576,
6896      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
6897      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
6898        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
6899      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
6900      610,   611,   612,   613,  1294,     0,     0,     0,     0,     0,
6901        0,     0,     0,     0,     0,  1295,  1296,     0,     0,     0,
6902      233,     0,  1226,   680,  1298,  1227,  1228,  1229,   740,  1230,
6903        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
6904      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
6905        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
6906      248,   249,   250,   251,   252,   253,   254,   255,   256,  1232,
6907      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
6908      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
6909      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
6910      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
6911      291,   292,   293,   294,     0,   295,   296,   297,   298,  1241,
6912     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
6913      304,   305,  1248,  1249,   308,  5249,   309,     0,   310,   311,
6914      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
6915        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
6916      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
6917     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
6918      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
6919      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
6920      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
6921      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
6922      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
6923     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
6924      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
6925      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
6926      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
6927      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
6928      429,   430,   431,   432,  1265,   434,     0,   435,   436,   437,
6929      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
6930      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
6931      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
6932      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
6933      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
6934      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
6935      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
6936      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
6937      508,   509,  3158,   511,   512,   513,   514,   515,   516,   517,
6938      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
6939      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
6940      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
6941      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
6942      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
6943        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
6944      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
6945      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
6946      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
6947        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
6948      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
6949      610,   611,   612,   613,     0,     0,     0,     0,     0,     0,
6950        0,     0,     0,     0,     0,  3159,  3160,     0,     0,     0,
6951      233,     0,  1226,   680,  3161,  1227,  1228,  1229,   740,  1230,
6952        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
6953      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
6954        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
6955      248,   249,   250,   251,   252,   253,   254,   255, -2772,  1232,
6956      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
6957      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
6958      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
6959      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
6960      291,   292,   293,   294,     0,   295,   296,   297,  5748,  1241,
6961     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
6962      304,   305,  1248,  1249,   308,  1250,   309,     0,   310,   311,
6963      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
6964        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
6965      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
6966     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
6967      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
6968      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
6969      359,   360,     0,   361,   362,   363,   364,   365, -2772,   367,
6970      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
6971      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
6972     1258,     0,  1259,     0,   388,     0,     0,   391,   392,   393,
6973      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
6974    -2772,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
6975      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
6976      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
6977      429,   430,   431,   432,  1265,   434,  1266,   435,   436,     0,
6978      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
6979      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
6980      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
6981      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
6982      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
6983      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
6984      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
6985      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
6986      508,   509,  1274,   511,   512,   513,   514,   515,   516,   517,
6987      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
6988      526,   527,   528,   529, -2772,   531,   532,  1276,   534,     0,
6989      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
6990      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
6991      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
6992        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
6993      569,   570,   571,  5749,   573,   574,     0,  1283,   575,   576,
6994      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
6995      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
6996        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
6997      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
6998      610,   611,   612,   613, -2772,     0,     0,     0,     0,     0,
6999        0,     0,     0,     0,     0,  1295,  1296,     0,     0,     0,
7000      233,     0,  1226,   680,  1298,  1227,  1228,  1229,   740,  1230,
7001        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
7002      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
7003        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
7004      248,   249,   250,   251,   252,   253,   254,   255,   256,  1232,
7005      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
7006      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
7007      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
7008      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
7009      291,   292,   293,   294,     0,   295,   296,   297,   298,  1241,
7010     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
7011      304,   305,  1248,  1249,   308,     0,   309,     0,   310,   311,
7012      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
7013        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
7014      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
7015     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
7016      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
7017      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
7018      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
7019      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
7020      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
7021     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
7022      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
7023      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
7024      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
7025      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
7026      429,   430,   431,   432,  1265,   434,     0,   435,   436,   437,
7027      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
7028      446,     0,     0,  1270,   448,   449,     0,     0,   450,   451,
7029      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
7030      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
7031      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
7032      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
7033      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
7034      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
7035      508,   509,  3158,   511,   512,   513,   514,   515,   516,   517,
7036      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
7037      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
7038      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
7039      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
7040      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
7041        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
7042      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
7043      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
7044      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
7045        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
7046      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
7047      610,   611,   612,   613,     0,     0,     0,     0,     0,     0,
7048        0,     0,     0,     0,     0,  3159,  3160,   233,     0,  1226,
7049      680,     0,  1227,  1228,  3161,   740,  1230,     0,     0,     0,
7050        0,     0,     0,     0,   234,   235,   236,   237,   238,   239,
7051      240,   241,     0,   242,   243,   244,     0,     0,     0,     0,
7052     1231,     0,     0,   245,   246,   247,     0,   248,   249,   250,
7053      251,   252,   253,   254,   255,   256,  1232,   258,  1233,  1234,
7054        0,   261,   262,   263,   264,   265,   266,   267,  1235,  1236,
7055      268,   269,  1237,  1238,   272,     0,   273,   274,   275,   276,
7056     1239,     0,  1240,     0,   279,   280,   281,   282,   283,   284,
7057      285,   286,   287,   288,     0,   289,   290,   291,   292,   293,
7058      294,     0,   295,   296,   297,   298,  1241,  1242,  1243,  1244,
7059     1245,  1246,  1247,   300,   301,   302,   303,   304,   305,  1248,
7060     1249,   308,     0,   309,     0,   310,   311,   312,   313,   314,
7061      315,   316,     0,   317,   318,   319,   320,     0,     0,   321,
7062      322,   853,   324,   325,     0,   326,   327,   328,     0,   329,
7063      330,   331,     0,   332,   333,   334,   335,  1251,   337,   338,
7064      339,   340,  1252,  1253,   342,     0,   343,   344,   345,  1254,
7065      347,     0,   348,     0,   349,   350,     0,   351,   352,   353,
7066      354,   355,     0,   356,  1255,     0,  1256,   359,   360,     0,
7067      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
7068        0,   371,   372,   373,   374,   375,   376,   377,     0,   378,
7069      379,   380,   381,   382,   383,   384,  1257,  1258,     0,  1259,
7070        0,   388,   389,   390,   391,   392,   393,   394,   395,   396,
7071      397,     0,     0,   398,  1260,   400,   401,   402,     0,   403,
7072      404,   405,  1261,  1262,   406,   407,   408,   409,   410,   411,
7073      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
7074     1263,   423,  1264,   425,   426,   427,   428,   429,   430,   431,
7075      432,  1265,   434,     0,   435,   436,   437,   438,  1267,  1268,
7076      440,  1269,   442,   443,   444,     0,   445,   446,     0,     0,
7077      447,   448,   449,     0,     0,   450,   451,   452,   453,   454,
7078      455,  1271,   457,   458,   459,   460,   461,   462,   463,   464,
7079      465,     0,   466,   467,  1272,   469,   470,   471,   472,   473,
7080        0,   474,   475,   476,   477,   478,   479,   480,   481,   482,
7081      483,  1273,   485,   486,   487,   488,     0,   489,   490,   491,
7082      492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
7083        0,   502,   503,   504,   505,   506,   507,   508,   509,  3326,
7084     3327,   512,   513,   514,   515,   516,   517,   518,   519,     0,
7085      520,   521,   522,   523,   524,  1275,   525,   526,   527,   528,
7086      529,   530,   531,   532,  1276,   534,     0,   535,   536,   537,
7087      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
7088     1277,   549,     0,   550,   551,     0,   552,   553,   554,   555,
7089      556,   557,   558,     0,   559,  1278,  1279,     0,     0,   562,
7090      563,  1280,   565,  1281,  1282,   567,   568,   569,   570,   571,
7091      572,   573,   574,     0,     0,   575,   576,   577,   578,   579,
7092     1284,     0,   580,   581,   582,   583,   584,   585,  1285,     0,
7093      587,   588,   589,   590,   591,   592,     0,     0,   593,     0,
7094        0,   594,   595,   596,   597,   598,   599,   600,  1286,  1287,
7095     1288,  1289,   605,  1290,  1291,  1292,  1293,   610,   611,   612,
7096      613,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7097        0,     0,  3328,  3329,   233,     0,  1226,   680,     0,  1227,
7098     1228,  3161,   740,  1230,     0,     0,     0,     0,     0,     0,
7099        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
7100      242,   243,   244,     0,     0,     0,     0,  1231,     0,     0,
7101      245,   246,   247,     0,   248,   249,   250,   251,   252,   253,
7102      254,   255,   256,  1232,   258,  1233,  1234,     0,   261,   262,
7103      263,   264,   265,   266,   267,  1235,  1236,   268,   269,  1237,
7104     1238,   272,     0,   273,   274,   275,   276,  1239,     0,  1240,
7105        0,   279,   280,   281,   282,   283,   284,   285,   286,   287,
7106      288,     0,   289,   290,   291,   292,   293,   294,     0,   295,
7107      296,   297,   298,  1241,  1242,  1243,  1244,  1245,  1246,  1247,
7108      300,   301,   302,   303,   304,   305,  1248,  1249,   308,     0,
7109      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
7110      317,   318,   319,   320,     0,     0,   321,   322,   853,   324,
7111      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
7112      332,   333,   334,   335,  1251,   337,   338,   339,   340,  1252,
7113     1253,   342,     0,   343,   344,   345,  1254,   347,     0,   348,
7114        0,   349,   350,     0,   351,   352,   353,   354,   355,     0,
7115      356,  1255,     0,  1256,   359,   360,     0,   361,   362,   363,
7116      364,   365,   366,   367,   368,   369,   370,     0,   371,   372,
7117      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
7118      382,   383,   384,  1257,  1258,     0,  1259,     0,   388,   389,
7119      390,   391,   392,   393,   394,   395,   396,   397,     0,     0,
7120      398,  1260,   400,   401,   402,     0,   403,   404,   405,  1261,
7121     1262,   406,   407,   408,   409,   410,   411,   412,   413,   414,
7122      415,   416,   417,   418,   419,   420,   421,  1263,   423,  1264,
7123      425,   426,   427,   428,   429,   430,   431,   432,  1265,   434,
7124        0,   435,   436,   437,   438,  1267,  1268,   440,  1269,   442,
7125      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
7126        0,     0,   450,   451,   452,   453,   454,   455,  1271,   457,
7127      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
7128      467,  1272,   469,   470,   471,   472,   473,     0,   474,   475,
7129      476,   477,   478,   479,   480,   481,   482,   483,  1273,   485,
7130      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
7131      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
7132      504,   505,   506,   507,   508,   509,  3158,   511,   512,   513,
7133      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
7134      523,   524,  1275,   525,   526,   527,   528,   529,   530,   531,
7135      532,  1276,   534,     0,   535,   536,   537,   538,   539,   540,
7136      541,   542,   543,   544,   545,   546,   547,  1277,   549,     0,
7137      550,   551,     0,   552,   553,   554,   555,   556,   557,   558,
7138        0,   559,  1278,  1279,     0,     0,   562,   563,  1280,   565,
7139     1281,  1282,   567,   568,   569,   570,   571,   572,   573,   574,
7140        0,     0,   575,   576,   577,   578,   579,  1284,     0,   580,
7141      581,   582,   583,   584,   585,  1285,     0,   587,   588,   589,
7142      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
7143      596,   597,   598,   599,   600,  1286,  1287,  1288,  1289,   605,
7144     1290,  1291,  1292,  1293,   610,   611,   612,   613,     0,     0,
7145        0,     0,   233,     0,  1226,   680,     0,  1227,  1228,     0,
7146      740,  1230,     0,     0,     0,     0,     0,     0,  3161,   234,
7147      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
7148      244,     0,     0,     0,     0,  1231,     0,     0,   245,   246,
7149      247,     0,   248,   249,   250,   251,   252,   253,   254,   255,
7150      256,  1232,   258,  1233,  1234,     0,   261,  4499,   263,   264,
7151      265,   266,   267,  1235,  1236,   268,   269,  1237,  1238,   272,
7152        0,   273,   274,   275,   276,  1239,     0,  1240,     0,   279,
7153      280,   281,   282,   283,   284,   285,   286,   287,   288,     0,
7154      289,   290,   291,   292,   293,   294,     0,   295,   296,   297,
7155      298,  1241,  1242,  1243,  1244,  1245,  1246,  1247,   300,   301,
7156      302,   303,   304,   305,  1248,  1249,   308,     0,   309,     0,
7157      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
7158      319,   320,     0,     0,   321,   322,   853,   324,   325,     0,
7159      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
7160      334,   335,  1251,   337,   338,   339,   340,  1252,  1253,   342,
7161        0,   343,   344,   345,  1254,   347,     0,   348,     0,   349,
7162      350,     0,   351,   352,   353,   354,   355,     0,   356,  1255,
7163        0,  1256,   359,   360,     0,   361,   362,   363,   364,   365,
7164      366,   367,   368,   369,   370,     0,   371,   372,   373,   374,
7165      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
7166      384,  1257,  1258,     0,  1259,     0,   388,   389,   390,   391,
7167      392,   393,   394,   395,   396,   397,     0,     0,   398,  1260,
7168      400,   401,   402,     0,   403,   404,   405,  1261,  1262,   406,
7169      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
7170      417,   418,   419,   420,   421,  1263,   423,  1264,   425,   426,
7171      427,   428,   429,   430,   431,   432,  1265,   434,     0,   435,
7172      436,   437,   438,  1267,  1268,   440,  1269,   442,   443,   444,
7173        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
7174      450,   451,   452,   453,   454,   455,  1271,   457,   458,   459,
7175      460,   461,   462,   463,   464,   465,     0,   466,   467,  1272,
7176      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
7177      478,   479,   480,   481,   482,   483,  1273,   485,   486,   487,
7178      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
7179      497,   498,   499,   500,   501,     0,   502,   503,   504,   505,
7180      506,   507,   508,   509,  3158,   511,   512,   513,   514,   515,
7181      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
7182     1275,   525,   526,   527,   528,   529,   530,   531,   532,  1276,
7183      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
7184      543,   544,   545,   546,   547,  1277,   549,     0,   550,   551,
7185        0,   552,   553,   554,   555,   556,   557,   558,     0,   559,
7186     1278,  1279,     0,     0,   562,   563,  1280,   565,  1281,  1282,
7187      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
7188      575,   576,   577,   578,   579,  1284,     0,   580,   581,   582,
7189      583,   584,   585,  1285,     0,   587,   588,   589,   590,   591,
7190      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
7191      598,   599,   600,  1286,  1287,  1288,  1289,   605,  1290,  1291,
7192     1292,  1293,   610,   611,   612,   613,     0,     0,     0,     0,
7193      233,     0,  1226,   680,     0,  1227,  1228,     0,   740,  1230,
7194        0,     0,     0,     0,     0,     0,  3161,   234,   235,   236,
7195      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
7196        0,     0,     0,  1231,     0,     0,   245,   246,   247,     0,
7197      248,   249,   250,   251,   252,   253,   254,   255,   256,  1232,
7198      258,  1233,  1234,     0,   261,   262,   263,   264,   265,   266,
7199      267,  1235,  1236,   268,   269,  1237,  1238,   272,     0,   273,
7200      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
7201      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
7202      291,   292,   293,   294,     0,   295,   296,   297,   298,  1241,
7203     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
7204      304,   305,  1248,  1249,   308,     0,   309,     0,   310,   311,
7205      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
7206        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
7207      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
7208     1251,   337,   338,   339,   340,  1252,  1253,   342,     0,   343,
7209      344,   345,  1254,   347,     0,   348,     0,   349,   350,     0,
7210      351,   352,   353,   354,   355,     0,   356,  1255,     0,  1256,
7211      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
7212      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
7213      377,     0,   378,   379,   380,   381,   382,   383,   384,  1257,
7214     1258,     0,  1259,     0,   388,   389,   390,   391,   392,   393,
7215      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
7216      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
7217      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
7218      419,   420,   421,  1263,   423,  1264,   425,   426,   427,   428,
7219      429,   430,   431,   432,  1265,   434,     0,   435,   436,   437,
7220      438,  1267,  1268,   440,  1269,   442,   443,   444,     0,   445,
7221      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
7222      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
7223      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
7224      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
7225      480,   481,   482,   483,  1273,   485,   486,   487,   488,     0,
7226      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
7227      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
7228      508,   509,  3158,   511,   512,   513,   514,   515,   516,   517,
7229      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
7230      526,   527,   528,   529,   530,   531,   532,  1276,   534,     0,
7231      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
7232      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
7233      553,   554,   555,   556,   557,   558,     0,   559,  1278,  1279,
7234        0,     0,   562,   563,  1280,   565,  1281,  1282,   567,   568,
7235      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
7236      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
7237      585,  1285,     0,   587,   588,   589,   590,   591,   592,     0,
7238        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
7239      600,  1286,  1287,  1288,  1289,  4557,  1290,  1291,  1292,  1293,
7240      610,   611,   612,   613,     0,     0,     0,     0,   233,     0,
7241        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7242        0,     0,     0,     0,  3161,   234,   235,   236,   237,   238,
7243      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
7244        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
7245      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
7246      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
7247     1236,   268,   269,   270,   271,   272,     0,   273,   274,   275,
7248      276,  1239,     0,  1240,     0,   279,   280,   281,   282,   283,
7249      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
7250      293,   294,     0,   295,   296,   297,   298,  1241,  1242,  1243,
7251     1244,  1245,  1246,  1247,   300,   301,   302,   303,   304,   305,
7252      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
7253      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
7254      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
7255      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
7256      338,   339,   340,  1252,     0,   342,     0,   343,   344,   345,
7257      346,   347,     0,   348,     0,   349,   350,     0,   351,   352,
7258      353,   354,   355,     0,   356,  1255,     0,   358,   359,   360,
7259        0,   361,   362,   363,   364,   365,   366,   367,   368,   369,
7260      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
7261      378,   379,   380,   381,   382,   383,   384,   385,   386,     0,
7262      387,     0,   388,   389,   390,   391,   392,   393,   394,   395,
7263      396,   397,  3301,     0,   398,  1260,   400,   401,   402,     0,
7264      403,   404,   405,  1261,  1262,   406,   407,   408,   409,   410,
7265      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
7266      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
7267      431,   432,  1265,   434,     0,   435,   436,   437,   438,     0,
7268     1268,   440,   441,   442,   443,   444,     0,   445,   446,     0,
7269      829,   447,   448,   449,     0,     0,   450,   451,   452,   453,
7270      454,   455,  1271,   457,   458,   459,   460,   461,   462,   463,
7271      464,   465,     0,   466,   467,  1272,   469,   470,   471,   472,
7272      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
7273      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
7274      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
7275      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
7276      510,  3302,   512,   513,   514,   515,   516,   517,   518,   519,
7277       40,   520,   521,   522,   523,   524,  1275,   525,   526,   527,
7278      528,   529,   530,   531,   532,   533,   534,     0,   535,   536,
7279      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
7280      547,  1277,   549,     0,   550,   551,    44,   552,   553,   554,
7281      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
7282      562,   563,  1280,   565,  1281,     0,   567,   568,   569,   570,
7283      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
7284      579,  1284,     0,   580,   581,   582,   583,   584,  1166,   586,
7285        0,   587,   588,   589,   590,   591,   592,     0,     0,   593,
7286        0,    49,   594,   595,   596,   597,   598,   599,   600,  1286,
7287     1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,  3303,   611,
7288      612,   613,     0,     0,    50,     0,   233,     0,     0,     0,
7289        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7290        0,     0,  3304,   234,   235,   236,   237,   238,   239,   240,
7291      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
7292        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
7293      252,   253,   254,   255,   256,   257,   258,   259,   260,     0,
7294      261,   262,   263,   264,   265,   266,   267,     0,  1236,   268,
7295      269,   270,   271,   272,     0,   273,   274,   275,   276,  1239,
7296        0,  1240,     0,   279,   280,   281,   282,   283,   284,   285,
7297      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
7298        0,   295,   296,   297,   298,  1241,  1242,  1243,  1244,  1245,
7299     1246,  1247,   300,   301,   302,   303,   304,   305,   306,   307,
7300      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
7301      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
7302      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
7303      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
7304      340,  1252,     0,   342,     0,   343,   344,   345,   346,   347,
7305        0,   348,     0,   349,   350,     0,   351,   352,   353,   354,
7306      355,     0,   356,  1255,     0,   358,   359,   360,     0,   361,
7307      362,   363,   364,   365,   366,   367,   368,   369,   370,     0,
7308      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
7309      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
7310      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
7311     3301,     0,   398,  1260,   400,   401,   402,     0,   403,   404,
7312      405,  1261,  1262,   406,   407,   408,   409,   410,   411,   412,
7313      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
7314      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
7315     1265,   434,     0,   435,   436,   437,   438,     0,  1268,   440,
7316      441,   442,   443,   444,     0,   445,   446,     0,   829,   447,
7317      448,   449,     0,     0,   450,   451,   452,   453,   454,   455,
7318     1271,   457,   458,   459,   460,   461,   462,   463,   464,   465,
7319        0,   466,   467,  1272,   469,   470,   471,   472,   473,     0,
7320      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
7321      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
7322      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
7323      502,   503,   504,   505,   506,   507,   508,   509,   510,  3302,
7324      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
7325      521,   522,   523,   524,  1275,   525,   526,   527,   528,   529,
7326      530,   531,   532,   533,   534,     0,   535,   536,   537,   538,
7327      539,   540,   541,   542,   543,   544,   545,   546,   547,  1277,
7328      549,     0,   550,   551,     0,   552,   553,   554,   555,   556,
7329      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
7330     1280,   565,  1281,     0,   567,   568,   569,   570,   571,   572,
7331      573,   574,     0,     0,   575,   576,   577,   578,   579,  1284,
7332        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
7333      588,   589,   590,   591,   592,     0,     0,   593,     0,     0,
7334      594,   595,   596,   597,   598,   599,   600,  1286,  1287,  1288,
7335     1289,   605,  1290,  1291,  1292,  1293,  3303,   611,   612,   613,
7336        0,     0,     0,     0,   233,     0,     0,     0,     0,     0,
7337        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7338     3304,   234,   235,   236,   237,   238,   239,   240,   241,     0,
7339      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
7340      245,   246,   247,     0,   248,   249,   250,   251,   252,   253,
7341      254,   255,   256,   257,   258,   259,   260,     0,   261,   262,
7342      263,   264,   265,   266,   267,     0,  1236,   268,   269,   270,
7343      271,   272,     0,   273,   274,   275,   276,  1239,     0,  1240,
7344        0,   279,   280,   281,   282,   283,   284,   285,   286,   287,
7345      288,     0,   289,   290,   291,   292,   293,   294,     0,   295,
7346      296,   297,   298,  1241,  1242,  1243,  1244,  1245,  1246,  1247,
7347      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
7348      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
7349      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
7350      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
7351      332,   333,   334,   335,   336,   337,   338,   339,   340,  1252,
7352        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
7353        0,   349,   350,     0,   351,   352,   353,   354,   355,     0,
7354      356,  1255,     0,   358,   359,   360,     0,   361,   362,   363,
7355      364,   365,   366,   367,   368,   369,   370,     0,   371,   372,
7356      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
7357      382,   383,   384,   385,   386,     0,   387,     0,   388,   389,
7358      390,   391,   392,   393,   394,   395,   396,   397,     0,     0,
7359      398,  1260,   400,   401,   402,     0,   403,   404,   405,  1261,
7360     1262,   406,   407,   408,   409,   410,   411,   412,   413,   414,
7361      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
7362      425,   426,   427,   428,   429,   430,   431,   432,  1265,   434,
7363        0,   435,   436,   437,   438,     0,  1268,   440,   441,   442,
7364      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
7365        0,     0,   450,   451,   452,   453,   454,   455,  1271,   457,
7366      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
7367      467,  1272,   469,   470,   471,   472,   473,     0,   474,   475,
7368      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
7369      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
7370      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
7371      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
7372      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
7373      523,   524,  1275,   525,   526,   527,   528,   529,   530,   531,
7374      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
7375      541,   542,   543,   544,   545,   546,   547,  1277,   549,     0,
7376      550,   551,     0,   552,   553,   554,   555,   556,   557,   558,
7377        0,   559,   560,   561,     0,     0,   562,   563,  1280,   565,
7378     1281,     0,   567,   568,   569,   570,   571,   572,   573,   574,
7379        0,     0,   575,   576,   577,   578,   579,  1284,     0,   580,
7380      581,   582,   583,   584,   585,   586,     0,   587,   588,   589,
7381      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
7382      596,   597,   598,   599,   600,  1286,  1287,  1288,  1289,   605,
7383     1290,  1291,  1292,  1293,   610,   611,   612,   613,     0,     0,
7384        0,     0,   233,     0,     0,     0,     0,     0,     0,     0,
7385        0,     0,     0,     0,     0,     0,     0,     0,  3734,   234,
7386      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
7387      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
7388      247,     0,   248,   249,   250,   251,   252,   253,   254,   255,
7389      256,   257,   258,   259,   260,     0,   261,   262,   263,   264,
7390      265,   266,   267,     0,  1236,   268,   269,   270,   271,   272,
7391        0,   273,   274,   275,   276,  1239,     0,  1240,     0,   279,
7392      280,   281,   282,   283,   284,   285,   286,   287,   288,     0,
7393      289,   290,   291,   292,   293,   294,     0,   295,   296,   297,
7394      298,  1241,  1242,  1243,  1244,  1245,  1246,  1247,   300,   301,
7395      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
7396      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
7397      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
7398      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
7399      334,   335,   336,   337,   338,   339,   340,  1252,     0,   342,
7400        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
7401      350,     0,   351,   352,   353,   354,   355,     0,   356,  1255,
7402        0,   358,   359,   360,     0,   361,   362,   363,   364,   365,
7403      366,   367,   368,   369,   370,     0,   371,   372,   373,   374,
7404      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
7405      384,   385,   386,     0,   387,     0,   388,   389,   390,   391,
7406      392,   393,   394,   395,   396,   397,     0,     0,   398,  1260,
7407      400,   401,   402,     0,   403,   404,   405,  1261,  1262,   406,
7408      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
7409      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
7410      427,   428,   429,   430,   431,   432,  1265,   434,     0,   435,
7411      436,   437,   438,     0,  1268,   440,   441,   442,   443,   444,
7412        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
7413      450,   451,   452,   453,   454,   455,  1271,   457,   458,   459,
7414      460,   461,   462,   463,   464,   465,     0,   466,   467,  1272,
7415      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
7416      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
7417      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
7418      497,   498,   499,   500,   501,     0,   502,   503,   504,   505,
7419      506,   507,   508,   509,   510,  3302,   512,   513,   514,   515,
7420      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
7421     1275,   525,   526,   527,   528,   529,   530,   531,   532,   533,
7422      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
7423      543,   544,   545,   546,   547,  1277,   549,     0,   550,   551,
7424        0,   552,   553,   554,   555,   556,   557,   558,     0,   559,
7425      560,   561,     0,     0,   562,   563,  1280,   565,  1281,     0,
7426      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
7427      575,   576,   577,   578,   579,  1284,     0,   580,   581,   582,
7428      583,   584,   585,   586,     0,   587,   588,   589,   590,   591,
7429      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
7430      598,   599,   600,  1286,  1287,  1288,  1289,   605,  1290,  1291,
7431     1292,  1293,  3303,   611,   612,   613,     0,     0,     0,     0,
7432      233,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7433        0,     0,     0,     0,     0,     0,    56,   234,   235,   236,
7434      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
7435        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
7436      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
7437      258,   259,   260,     0,   261,   262,   263,   264,   265,   266,
7438      267,     0,  1236,   268,   269,   270,   271,   272,     0,   273,
7439      274,   275,   276,  1239,     0,  1240,     0,   279,   280,   281,
7440      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
7441      291,   292,   293,   294,     0,   295,   296,   297,   298,  1241,
7442     1242,  1243,  1244,  1245,  1246,  1247,   300,   301,   302,   303,
7443      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
7444      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
7445        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
7446      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
7447      336,   337,   338,   339,   340,  1252,     0,   342,     0,   343,
7448      344,   345,   346,   347,     0,   348,     0,   349,   350,     0,
7449      351,   352,   353,   354,   355,     0,   356,  1255,     0,   358,
7450      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
7451      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
7452      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
7453      386,     0,   387,     0,   388,   389,   390,   391,   392,   393,
7454      394,   395,   396,   397,     0,     0,   398,  1260,   400,   401,
7455      402,     0,   403,   404,   405,  1261,  1262,   406,   407,   408,
7456      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
7457      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
7458      429,   430,   431,   432,  1265,   434,     0,   435,   436,   437,
7459      438,     0,  1268,   440,   441,   442,   443,   444,     0,   445,
7460      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
7461      452,   453,   454,   455,  1271,   457,   458,   459,   460,   461,
7462      462,   463,   464,   465,     0,   466,   467,  1272,   469,   470,
7463      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
7464      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
7465      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
7466      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
7467      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
7468      518,   519,     0,   520,   521,   522,   523,   524,  1275,   525,
7469      526,   527,   528,   529,   530,   531,   532,   533,   534,     0,
7470      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
7471      545,   546,   547,  1277,   549,     0,   550,   551,     0,   552,
7472      553,   554,   555,   556,   557,   558,     0,   559,   560,   561,
7473        0,     0,   562,   563,  1280,   565,  1281,     0,   567,   568,
7474      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
7475      577,   578,   579,  1284,     0,   580,   581,   582,   583,   584,
7476      585,   586,     0,   587,   588,   589,   590,   591,   592,     0,
7477        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
7478      600,  1286,  1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,
7479      610,   611,   612,   613,     0,     0,     0,     0,   233,     0,
7480        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7481        0,     0,     0,     0,  4617,   234,   235,   236,   237,   238,
7482      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
7483        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
7484      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
7485      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
7486     1236,   268,   269,   270,   271,   272,     0,   273,   274,   275,
7487      276,  1239,     0,  1240,     0,   279,   280,   281,   282,   283,
7488      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
7489      293,   294,     0,   295,   296,   297,   298,  1241,  1242,  1243,
7490     1244,  1245,  1246,  1247,   300,   301,   302,   303,   304,   305,
7491      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
7492      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
7493      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
7494      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
7495      338,   339,   340,  1252,     0,   342,     0,   343,   344,   345,
7496      346,   347,     0,   348,     0,   349,   350,     0,   351,   352,
7497      353,   354,   355,     0,   356,  1255,     0,   358,   359,   360,
7498        0,   361,   362,   363,   364,   365,   366,   367,   368,   369,
7499      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
7500      378,   379,   380,   381,   382,   383,   384,   385,   386,     0,
7501      387,     0,   388,   389,   390,   391,   392,   393,   394,   395,
7502      396,   397,     0,     0,   398,  1260,   400,   401,   402,     0,
7503      403,   404,   405,  1261,  1262,   406,   407,   408,   409,   410,
7504      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
7505      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
7506      431,   432,  1265,   434,     0,   435,   436,   437,   438,     0,
7507     1268,   440,   441,   442,   443,   444,     0,   445,   446,     0,
7508        0,   447,   448,   449,     0,     0,   450,   451,   452,   453,
7509      454,   455,  1271,   457,   458,   459,   460,   461,   462,   463,
7510      464,   465,     0,   466,   467,  1272,   469,   470,   471,   472,
7511      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
7512      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
7513      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
7514      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
7515      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
7516        0,   520,   521,   522,   523,   524,  1275,   525,   526,   527,
7517      528,   529,   530,   531,   532,   533,   534,     0,   535,   536,
7518      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
7519      547,  1277,   549,     0,   550,   551,     0,   552,   553,   554,
7520      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
7521      562,   563,  1280,   565,  1281,     0,   567,   568,   569,   570,
7522      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
7523      579,  1284,     0,   580,   581,   582,   583,   584,   585,   586,
7524        0,   587,   588,   589,   590,   591,   592,     0,     0,   593,
7525        0,     0,   594,   595,   596,   597,   598,   599,   600,  1286,
7526     1287,  1288,  1289,   605,  1290,  1291,  1292,  1293,   610,   611,
7527      612,   613,     0,     0,     0,     0,   930,     0,  1542,   680,
7528        0,     0,     0,     0,   740,     0,     0,     0,     0,     0,
7529        0,     0,  5721,   234,   235,   236,   237,   238,   239,   240,
7530      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
7531        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
7532      252,   253,   254,   255,   256,   257,   258,   259,   260,     0,
7533      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
7534      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
7535        0,   278,     0,   279,   280,   281,   282,   283,   284,   285,
7536      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
7537        0,   295,   296,   297,   298,     0,     0,     0,   299,     0,
7538        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
7539      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
7540      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
7541      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
7542      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
7543      340,   341,  1764,   342,     0,   343,   344,   345,   346,   347,
7544        0,   348,     0,   349,   350,     0,   351,   352,   353,   354,
7545      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
7546      362,   363,   364,   365,   366,   367,   368,   369,   370,     0,
7547      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
7548      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
7549      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
7550        0,     0,   398,   399,   400,   401,   402,     0,   403,   404,
7551      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
7552      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
7553      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
7554      433,   434,     0,   435,   436,   437,   438,     0,   439,   440,
7555      441,   442,   443,   444,     0,   445,   446,  1765,     0,   447,
7556      448,   449,     0,     0,   450,   451,   452,   453,   454,   455,
7557      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
7558        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
7559      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
7560      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
7561      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
7562      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
7563      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
7564      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
7565      530,   531,   532,   533,   534,     0,   535,   536,   537,   538,
7566      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
7567      549,     0,   550,   551,     0,   552,   553,   554,   555,   556,
7568      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
7569      564,   565,   566,  1766,   567,   568,   569,   570,   571,   572,
7570      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
7571        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
7572      588,   589,   590,   591,   592,     0,     0,   593,     0,     0,
7573      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
7574      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
7575        0,     0,     0,     0,   930,     0,     0,     0,     0,     0,
7576        0,  1543,  1544,  5534,     0,     0,     0,     0,     0,     0,
7577     5535,   234,   235,   236,   237,   238,   239,   240,   241,     0,
7578      242,   243,   244,     3,     4,     0,     0,     0,     0,     0,
7579      245,   246,   247,     0,   248,   249,   250,   251,   252,   253,
7580      254,   255,   256,   257,   258,   259,   260,     0,   261,   262,
7581      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
7582      271,   272,     0,   273,   274,   275,   276,   277,     0,   278,
7583        0,   279,   280,   281,   282,   283,   284,   285,   286,   287,
7584      288,     0,   289,   290,   291,   292,   293,   294,     0,   295,
7585      296,   297,   298,     0,     0,     0,   299,     0,     0,     0,
7586      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
7587      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
7588      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
7589      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
7590      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
7591        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
7592        0,   349,   350,     0,   351,   352,   353,   354,   355,     0,
7593      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
7594      364,   365,   366,   367,   368,   369,   370,     0,   371,   372,
7595      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
7596      382,   383,   384,   385,   386,     0,   387,     0,   388,   389,
7597      390,   391,   392,   393,   394,   395,   396,   397,     0,     0,
7598      398,   399,   400,   401,   402,     0,   403,   404,   405,     0,
7599        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
7600      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
7601      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
7602        0,   435,   436,   437,   438,     0,   439,   440,   441,   442,
7603      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
7604        0,     0,   450,   451,   452,   453,   454,   455,   456,   457,
7605      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
7606      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
7607      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
7608      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
7609      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
7610      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
7611      514,   515,   516,   517,   518,   519,    40,   520,   521,   522,
7612      523,   524,     0,   525,   526,   527,   528,   529,   530,   531,
7613      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
7614      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
7615      550,   551,    44,   552,   553,   554,   555,   556,   557,   558,
7616        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
7617      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
7618        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
7619      581,   582,   583,   584,  1166,   586,     0,   587,   588,   589,
7620      590,   591,   592,     0,     0,   593,     0,    49,   594,   595,
7621      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
7622      606,   607,   608,   609,   610,   611,   612,   613,     0,     0,
7623       50,     0,   233,     0,     0,     0,     0,     0,     0,     0,
7624        0,     0,     0,     0,     0,     0,     0,     0,    56,   234,
7625      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
7626      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
7627      247,     0,   248,   249,   250,   251,   252,   253,   254,   255,
7628      256,   257,   258,   259,   260,     0,   261,   262,   263,   264,
7629      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
7630        0,   273,   274,   275,   276,   277,     0,   278,     0,   279,
7631      280,   281,   282,   283,   284,   285,   286,   287,   288,     0,
7632      289,   290,   291,   292,   293,   294,     0,   295,   296,   297,
7633      298,     0,     0,     0,   299,     0,     0,     0,   300,   301,
7634      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
7635      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
7636      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
7637      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
7638      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
7639        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
7640      350,     0,   351,   352,   353,   354,   355,     0,   356,   357,
7641        0,   358,   359,   360,     0,   361,   362,   363,   364,   365,
7642      366,   367,   368,   369,   370,     0,   371,   372,   373,   374,
7643      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
7644      384,   385,   386,     0,   387,     0,   388,   389,   390,   391,
7645      392,   393,   394,   395,   396,   397,     0,     0,   398,   399,
7646      400,   401,   402,     0,   403,   404,   405,     0,     0,   406,
7647      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
7648      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
7649      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
7650      436,   437,   438,     0,   439,   440,   441,   442,   443,   444,
7651        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
7652      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
7653      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
7654      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
7655      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
7656      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
7657      497,   498,   499,   500,   501,     0,   502,   503,   504,   505,
7658      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
7659      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
7660        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
7661      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
7662      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
7663        0,   552,   553,   554,   555,   556,   557,   558,     0,   559,
7664      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
7665      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
7666      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
7667      583,   584,   585,   586,     0,   587,   588,   589,   590,   591,
7668      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
7669      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
7670      608,   609,   610,   611,   612,   613,     0,     0,     0,     0,
7671      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7672        0,     0,     0,     0,     0,     0,  5314,   234,   235,   236,
7673      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
7674        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
7675      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
7676        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
7677      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
7678      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
7679      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
7680      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
7681        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
7682      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
7683      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
7684        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
7685      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
7686      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
7687      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
7688        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
7689      359,   360,     0,   361,   362,   363,   364,   365,     0,   367,
7690      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
7691      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
7692      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
7693      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
7694        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
7695      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
7696      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
7697      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
7698      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
7699      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
7700      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
7701      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
7702      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
7703      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
7704      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
7705      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
7706      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
7707      518,   519,    40,   520,   521,   522,   523,   524,     0,   525,
7708      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
7709      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
7710      545,   546,   547,   548,   549,     0,   550,   551,    44,   552,
7711        0,   554,   555,   556,   557,   558,     0,   559,   560,   561,
7712        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
7713      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
7714      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
7715     1166,   586,     0,   587,     0,   589,   590,   591,   592,     0,
7716        0,   593,     0,    49,   594,   595,   596,   597,   598,   599,
7717      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
7718      610,   611,   612,   613,     0,     0,    50,     0,   621,     0,
7719        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7720        0,     0,     0,     0,    56,   234,   235,   236,   237,   238,
7721      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
7722        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
7723      250,   251,     0,   253,   254,   255,   256,   257,     0,   259,
7724      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
7725        0,   268,   269,   270,   271,   272,     0,   273,   274,   275,
7726      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
7727      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
7728      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
7729        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
7730      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
7731      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
7732      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
7733      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
7734      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
7735      346,   347,     0,   348,     0,   349,     0,     0,     0,   352,
7736      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
7737        0,   361,   362,   363,   364,   365,     0,   367,   368,   369,
7738      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
7739      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
7740      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
7741      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
7742      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
7743      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
7744      421,   422,     0,   424,   425,   426,   427,   428,   429,   430,
7745      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
7746      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
7747        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
7748      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
7749      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
7750      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
7751      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
7752      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
7753      501,     0,   502,   503,     0,   505,   506,   507,   508,   509,
7754      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
7755        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
7756      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
7757      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
7758      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
7759      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
7760      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
7761      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
7762      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
7763        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
7764        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
7765      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
7766      612,   613,     0,     0,     0,     0,   621,     0,     0,     0,
7767        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7768        0,     0,  1356,   234,   235,   236,   237,   238,   239,   240,
7769      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
7770        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
7771        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
7772      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
7773      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
7774        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
7775      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
7776        0,     0,   296,   297,   298,     0,     0,     0,     0,     0,
7777        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
7778      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
7779      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
7780      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
7781      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
7782      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
7783        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
7784      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
7785      362,   363,   364,   365,     0,   367,   368,   369,   370,     0,
7786      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
7787      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
7788      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
7789        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
7790      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
7791      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
7792        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
7793      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
7794      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
7795      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
7796      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
7797        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
7798      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
7799      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
7800      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
7801      502,   503,     0,   505,   506,   507,   508,   509,   510,   511,
7802      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
7803      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
7804        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
7805      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
7806      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
7807      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
7808      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
7809      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
7810        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
7811        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
7812      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
7813      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
7814        0,     0,     0,     0,   621,     0,     0,     0,     0,     0,
7815        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
7816     3359,   234,   235,   236,   237,   238,   239,   240,   241,     0,
7817      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
7818      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
7819      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
7820      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
7821      271,   272,     0,   273,   274,   275,   276,   277,     0,     0,
7822        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
7823      288,     0,   289,   290,   291,   292,   293,   294,     0,     0,
7824      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
7825      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
7826      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
7827      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
7828      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
7829      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
7830        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
7831        0,   349,     0,     0,     0,   352,   353,   354,   355,     0,
7832      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
7833      364,   365,     0,   367,   368,   369,   370,     0,   371,   372,
7834      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
7835      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
7836        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
7837      398,   399,     0,   401,     0,     0,   403,   404,   405,     0,
7838        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
7839      415,   416,   417,   418,   419,   420,   421,   422,     0,   424,
7840      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
7841        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
7842      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
7843        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
7844      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
7845      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
7846      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
7847      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
7848      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
7849        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
7850      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
7851      523,   524,     0,   525,   526,   527,   528,   529,     0,   531,
7852      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
7853      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
7854      550,   551,     0,   552,     0,   554,   555,   556,   557,   558,
7855        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
7856      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
7857        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
7858      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
7859      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
7860      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
7861      606,   607,   608,   609,   610,   611,   612,   613,     0,     0,
7862        0,     0,   621,     0,     0,     0,     0,     0,     0,     0,
7863        0,     0,     0,     0,     0,     0,     0,     0,  4534,   234,
7864      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
7865      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
7866      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
7867      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
7868      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
7869        0,   273,   274,   275,   276,   277,     0,     0,     0,   279,
7870      280,   281,   282,   283,   284,     0,   286,   287,   288,     0,
7871      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
7872      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
7873      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
7874      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
7875      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
7876      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
7877      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
7878        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
7879        0,     0,     0,   352,   353,   354,   355,     0,   356,   357,
7880        0,   358,   359,   360,     0,   361,   362,   363,   364,   365,
7881        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
7882      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
7883      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
7884        0,   393,   394,   395,   396,   397,     0,     0,   398,   399,
7885        0,   401,     0,     0,   403,   404,   405,     0,     0,   406,
7886      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
7887      417,   418,   419,   420,   421,   422,     0,   424,   425,   426,
7888      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
7889      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
7890        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
7891      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
7892      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
7893      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
7894      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
7895      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
7896      497,   498,   499,   500,   501,     0,   502,   503,     0,   505,
7897      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
7898      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
7899        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
7900      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
7901      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
7902        0,   552,     0,   554,   555,   556,   557,   558,     0,   559,
7903      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
7904      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
7905      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
7906      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
7907      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
7908      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
7909      608,   609,   610,   611,   612,   613,     0,     0,     0,     0,
7910        0,     0,     0,   845,     0,  1542,   680,     0,     0,     0,
7911      945,   740,     0,     0,     0,     0,  4574,   946,   947,   948,
7912      234,   235,   236,   237,   238,   239,   240,   241,  1677,   242,
7913      243,   244,  1678,  1679,  1680,  1681,  1682,  1683,  1684,   245,
7914      246,   247,  1685,   248,   249,   250,   251,   252,   253,   254,
7915      255,     0,   846,   258,   847,   848,  1686,   261,   262,   263,
7916      264,   265,   266,   267,  1687,  1688,   268,   269,   849,   850,
7917      272,  1689,   273,   274,   275,   276,     0,  1690,   278,  1691,
7918      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
7919     1692,   289,   290,   291,   292,   293,   294,  1693,   295,   296,
7920      297,   298,  1694,  1695,  1696,   299,  1697,  1698,  1699,   300,
7921      301,   302,   303,   304,   305,   851,   852,   308,  1700,   309,
7922     1701,   310,   311,   312,   313,   314,   315,   316,  1702,   317,
7923      318,   319,   320,  1703,  1704,   321,   322,   853,   324,   325,
7924     1705,   326,   327,   328,  1706,   329,   330,   331,  1707,   332,
7925      333,   334,   335,     0,   337,   338,   339,   340,     0,  1708,
7926      342,  1709,   343,   344,   345,   854,   347,  1710,   348,  1711,
7927      349,   350,  1712,   351,   352,   353,   354,   355,  1713,   356,
7928        0,  1714,     0,   359,   360,  1715,   361,   362,   363,   364,
7929      365,   366,   367,   368,   369,   370,  1716,   371,   372,   373,
7930      374,   375,   376,   377,  1717,   378,   379,     0,   381,   382,
7931      383,   384,   855,   856,  1718,   857,  1719,   388,   389,   390,
7932      391,   392,   393,   394,   395,   396,   397,  1720,  1721,   398,
7933        0,   400,   401,   402,  1722,   403,   404,   405,  1723,  1724,
7934      406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
7935      416,   417,   418,   419,   420,   421,   858,   423,   859,   425,
7936      426,   427,   428,   429,   430,   431,  4288,     0,   434,  1725,
7937      435,   436,   437,   438,  1726,     0,   440,   860,   442,   443,
7938      444,  1727,   445,   446,  1728,  1729,  4289,   448,   449,  1730,
7939     1731,   450,   451,     0,   453,   454,   455,     0,   457,   458,
7940      459,   460,   461,   462,   463,   464,   465,  1732,   466,   467,
7941        0,   469,     0,   471,   472,   473,  1733,   474,   475,   476,
7942      477,   478,   479,   480,   481,   482,   483,   861,   485,   486,
7943      487,   488,  1734,   489,   490,   491,   492,   493,   494,   495,
7944      496,   497,   498,   499,   500,   501,  1735,   502,   503,   504,
7945      505,   506,   507,   508,   509,     0,   511,   512,   513,   514,
7946      515,   516,   517,   518,   519,  1736,   520,   521,   522,   523,
7947      524,  1737,   525,   526,  2615,   528,   529,   530,   531,   532,
7948      863,   534,  1738,   535,   536,   537,   538,   539,   540,   541,
7949      542,   543,   544,   545,   546,   547,     0,   549,  1739,   550,
7950      551,  1740,   552,   553,   554,   555,   556,   557,   558,  1741,
7951      559,   864,   865,  1742,  1743,   562,   563,     0,   565,     0,
7952     1744,   567,   568,   569,   570,   571,   572,   573,   574,  1745,
7953     1746,   575,   576,   577,   578,   579,  1747,  1748,   580,   581,
7954      582,   583,   584,     0,   866,  1749,   587,   588,   589,   590,
7955      591,   592,  1750,  1751,   593,  1752,  1753,   594,   595,   596,
7956      597,   598,   599,     0,     0,     0,     0,     0,     0,     0,
7957        0,     0,     0,     0,   611,   612,   613,     0,     0,     0,
7958        0,     0,     0,     0,     0,   951,   952,   953,  4290,  4291,
7959      956,   957,   958,   959,   845,     0,  1542,   680,     0,     0,
7960        0,   945,   740,     0,     0,     0,     0,     0,   946,   947,
7961      948,   234,   235,   236,   237,   238,   239,   240,   241,  1677,
7962      242,   243,   244,  1678,  1679,  1680,  1681,  1682,  1683,  1684,
7963      245,   246,   247,  1685,   248,   249,   250,   251,   252,   253,
7964      254,   255,     0,   846,   258,   847,   848,  1686,   261,   262,
7965      263,   264,   265,   266,   267,  1687,  1688,   268,   269,   849,
7966      850,   272,  1689,   273,   274,   275,   276,     0,  1690,   278,
7967     1691,   279,   280,   281,   282,   283,   284,   285,   286,   287,
7968      288,  1692,   289,   290,   291,   292,   293,   294,  1693,   295,
7969      296,   297,   298,  1694,  1695,  1696,   299,  1697,  1698,  1699,
7970      300,   301,   302,   303,   304,   305,   851,   852,   308,  1700,
7971      309,  1701,   310,   311,   312,   313,   314,   315,   316,  1702,
7972      317,   318,   319,   320,  1703,  1704,   321,   322,   853,   324,
7973      325,  1705,   326,   327,   328,  1706,   329,   330,   331,  1707,
7974      332,   333,   334,   335,     0,   337,   338,   339,   340,     0,
7975     1708,   342,  1709,   343,   344,   345,   854,   347,  1710,   348,
7976     1711,   349,   350,  1712,   351,   352,   353,   354,   355,  1713,
7977      356,     0,  1714,     0,   359,   360,  1715,   361,   362,   363,
7978      364,   365,   366,   367,   368,   369,   370,  1716,   371,   372,
7979      373,   374,   375,   376,   377,  1717,   378,   379,     0,   381,
7980      382,   383,   384,   855,   856,  1718,   857,  1719,   388,   389,
7981      390,   391,   392,   393,   394,   395,   396,   397,  1720,  1721,
7982      398,     0,   400,   401,   402,  1722,   403,   404,   405,  1723,
7983     1724,   406,   407,   408,   409,   410,   411,   412,   413,   414,
7984      415,   416,   417,   418,   419,   420,   421,   858,   423,   859,
7985      425,   426,   427,   428,   429,   430,   431,  4709,     0,   434,
7986     1725,   435,   436,   437,   438,  1726,     0,   440,   860,   442,
7987      443,   444,  1727,   445,   446,  1728,  1729,  4289,   448,   449,
7988     1730,  1731,   450,   451,     0,   453,   454,   455,     0,   457,
7989      458,   459,   460,   461,   462,   463,   464,   465,  1732,   466,
7990      467,     0,   469,     0,   471,   472,   473,  1733,   474,   475,
7991      476,   477,   478,   479,   480,   481,   482,   483,   861,   485,
7992      486,   487,   488,  1734,   489,   490,   491,   492,   493,   494,
7993      495,   496,   497,   498,   499,   500,   501,  1735,   502,   503,
7994      504,   505,   506,   507,   508,   509,     0,   511,   512,   513,
7995      514,   515,   516,   517,   518,   519,  1736,   520,   521,   522,
7996      523,   524,  1737,   525,   526,  2615,   528,   529,   530,   531,
7997      532,   863,   534,  1738,   535,   536,   537,   538,   539,   540,
7998      541,   542,   543,   544,   545,   546,   547,     0,   549,  1739,
7999      550,   551,  1740,   552,   553,   554,   555,   556,   557,   558,
8000     1741,   559,   864,   865,  1742,  1743,   562,   563,     0,   565,
8001        0,  1744,   567,   568,   569,   570,   571,   572,   573,   574,
8002     1745,  1746,   575,   576,   577,   578,   579,  1747,  1748,   580,
8003      581,   582,   583,   584,     0,   866,  1749,   587,   588,   589,
8004      590,   591,   592,  1750,  1751,   593,  1752,  1753,   594,   595,
8005      596,   597,   598,   599,     0,     0,     0,     0,     0,     0,
8006        0,     0,     0,     0,     0,   611,   612,   613,     0,     0,
8007        0,     0,     0,     0,     0,     0,   951,   952,   953,  4290,
8008     4291,   956,   957,   958,   959,  2030,     0,     0,     0,     0,
8009        0,     0,  2031,     0,     0,  2032,     0,     0,     0,  2033,
8010     2034,  2035,  2036,  2037,  2038,  2039,  2040,  2041,  2042,  2043,
8011     2044,  2045,  2046,  2047,  2048,  2049,  2050,  2051,     0,  2052,
8012     2053,  2054,  2055,  2056,  2057,  2058,  2059,  2060,  2061,  2062,
8013     2063,  2064,  2065,  2066,  2067,  2068,  2069,  2070,  2071,  2072,
8014     2073,  2074,  2075,  2076,  2077,  2078,  2079,  2080,  2081,  2082,
8015        0,     0,  2083,  2084,  2085,  2086,  2087,  2088,  2089,  2090,
8016     2091,  2092,  2093,  2094,  2095,  2096,  2097,  2098,  2099,  2100,
8017     2101,  2102,  2103,  2104,  2105,  2106,  2107,  2108,  2109,     0,
8018     2110,  2111,  2112,  2113,  2114,  2115,  2116,  2117,  2118,  2119,
8019     2120,  2121,  2122,  2123,  2124,     0,  2125,  2126,  2127,  2128,
8020     2129,  2130,  2131,  2132,  2133,  2134,  2135,  2136,  2137,  2138,
8021     2139,  2140,  2141,  2142,  2143,  2144,  2145,  2146,  2147,  2148,
8022     2149,  2150,  2151,  2152,  2153,  2154,  2155,  2156,  2157,  2158,
8023        0,  2159,  2160,  2161,  2162,  2163,  2164,  2165,  2166,  2167,
8024     2168,  2169,  2170,     0,     0,  2171,  2172,  2173,  2174,     0,
8025     2175,  2176,  2177,  2178,     0,  2179,  2180,  2181,  2182,  2183,
8026        0,  2184,  2185,     0,  2186,  2187,  2188,     0,  2189,  2190,
8027        0,  2191,  2192,  2193,  2194,  2195,  2196,  2197,  2198,  2199,
8028     2200,  2201,  2202,  2203,  2204,  2205,  2206,  2207,  2208,  2209,
8029     2210,  2211,  2212,  2213,  2214,  2215,     0,  2216,     0,  2217,
8030     2218,  2219,  2220,  2221,  2222,  2223,  2224,  2225,  2226,  2227,
8031     2228,  2229,  2230,  2231,  2232,  2233,     0,  2234,  2235,  2236,
8032     2237,  2238,  2239,  2240,  2241,  2242,  2243,  2244,  2245,  2246,
8033     2247,     0,  2248,  2249,     0,  2250,  2251,  2252,  2253,  2254,
8034     2255,  2256,  2257,  2258,  2259,  2260,  2261,  2262,  2263,  2264,
8035     2265,  2266,  2267,  2268,  2269,  2270,  2271,  2272,  2273,  2274,
8036     2275,  2276,  2277,     0,  2278,  2279,     0,  2280,  2281,  2282,
8037     2283,  2284,     0,  2285,  2286,  2287,  2288,     0,     0,  2289,
8038     2290,  2291,  2292,  2293,  2294,  2295,  2296,  2297,  2298,  2299,
8039     2300,  2301,  2302,  2303,     0,  2304,  2305,  2306,  2307,  2308,
8040     2309,  2310,  2311,  2312,  2313,  2314,  2315,  2316,  2317,  2318,
8041     2319,  2320,  2321,  2322,  2323,  2324,  2325,  2326,  2327,  2328,
8042     2329,  2330,  2331,  2332,  2333,  2334,  2335,  2336,     0,  2337,
8043     2338,  2339,  2340,  2341,  2342,  2343,  2344,  2345,  2346,  2347,
8044     2348,  2349,  2350,  2351,  2352,     0,  2353,  2354,  2355,  2356,
8045     2357,  2358,  2359,  2360,  2361,  2362,  2363,  2364,  2365,  2366,
8046     2367,  2368,  2369,  2370,  2371,  2372,  2373,  2374,  2375,  2376,
8047     2377,  2378,  2379,  2380,  2381,  2382,  2383,  2384,  2385,  2386,
8048     2387,  2388,  2389,  2390,  2391,  2392,  2393,  2394,  2395,  2396,
8049     2397,  2398,  2399,  2400,  2401,     0,  2402,  2403,  2404,  2405,
8050     2406,  2407,  2408,  2409,  2410,  2411,  2412,  2413,  2414,  2415,
8051     2416,     0,  2417,  2418,  2419,  2420,  2421,  2422,  2423,  2424,
8052     2425,  2426,  2427,  2428,  2429,  2430,  2431,  2432,     0,  2433,
8053     2434,  2435,  2436,  2437,  2438,     0,  2439,     0,     0,     0,
8054        0,  2440,  2441,  2442,  2443,  2444,  2445,  2446,  2447,  2448,
8055     2449,  2450,  2451,  2452,  2453,  2454,     0,  2455,  2456,  2457,
8056        0,     0,     0,     0,     0,     0,     0,  2458,  2459,  2460,
8057     2461,  2462,  2463,  2464,  2465,  2466,   621,     0,     0,     0,
8058        0,     0,     0,   945,     0,     0,     0,     0,     0,     0,
8059      946,   947,   948,   234,   235,   236,   237,   238,   239,   240,
8060      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
8061        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
8062        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
8063      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
8064      269,   270,   271,   272,     0,   273,   949,   275,   276,   277,
8065        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
8066      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
8067        0,     0,   296,   297,   298,     0,     0,     0,     0,     0,
8068        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
8069      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
8070      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
8071      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
8072      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
8073      340,   341,     0,   950,     0,   343,   344,   345,   346,   347,
8074        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
8075      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
8076      362,   363,   364,   365,     0,   367,   368,   369,   370,     0,
8077      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
8078      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
8079      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
8080        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
8081      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
8082      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
8083        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
8084      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
8085      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
8086      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
8087      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
8088        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
8089      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
8090      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
8091      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
8092      502,   503,     0,   505,   506,   507,   508,   509,   510,   511,
8093      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
8094      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
8095        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
8096      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
8097      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
8098      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
8099      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
8100      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
8101        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
8102        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
8103      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
8104      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
8105        0,     0,     0,     0,     0,     0,     0,     0,   951,   952,
8106      953,   954,   955,   956,   957,   958,   959,   621,     0,     0,
8107        0,     0,     0,     0,   945,     0,     0,     0,     0,     0,
8108        0,   946,   947,   948,   234,   235,   236,   237,   238,   239,
8109      240,   241,     0,   242,   243,   244,     0,     0,     0,     0,
8110        0,     0,     0,   245,   246,   247,     0,   248,   249,   250,
8111      251,     0,   253,   254,   255,   256,   257,     0,   259,   260,
8112        0,   261,   262,   263,   264,   265,   266,   267,     0,     0,
8113      268,   269,   270,   271,   272,     0,   273,  1064,   275,   276,
8114      277,     0,     0,     0,   279,   280,   281,   282,   283,   284,
8115        0,   286,   287,   288,     0,   289,   290,   291,   292,   293,
8116      294,     0,     0,   296,   297,   298,     0,     0,     0,     0,
8117        0,     0,     0,   300,   301,   302,   303,   304,   305,   306,
8118      307,   308,     0,   309,     0,   310,   311,   312,   313,   314,
8119      315,   316,     0,   317,   318,   319,   320,     0,     0,   321,
8120      322,   323,   324,   325,     0,   326,   327,   328,     0,   329,
8121      330,   331,     0,   332,   333,   334,   335,   336,   337,   338,
8122      339,   340,   341,     0,  1065,     0,   343,   344,   345,   346,
8123      347,     0,   348,     0,   349,     0,     0,     0,   352,   353,
8124      354,   355,     0,   356,   357,     0,   358,   359,   360,     0,
8125      361,   362,   363,   364,   365,     0,   367,   368,   369,   370,
8126        0,   371,   372,   373,   374,   375,   376,   377,     0,   378,
8127        0,   380,   381,   382,   383,   384,   385,   386,     0,   387,
8128        0,   388,     0,     0,   391,     0,   393,   394,   395,   396,
8129      397,     0,     0,   398,   399,     0,   401,     0,     0,   403,
8130      404,   405,     0,     0,   406,   407,   408,   409,   410,   411,
8131      412,   413,   414,   415,   416,   417,   418,   419,   420,   421,
8132      422,     0,   424,   425,   426,   427,   428,   429,   430,   431,
8133      432,   433,   434,     0,   435,   436,     0,   438,     0,   439,
8134      440,   441,   442,   443,   444,     0,   445,   446,     0,     0,
8135      447,   448,   449,     0,     0,   450,   451,   452,     0,   454,
8136        0,   456,   457,   458,   459,   460,   461,   462,   463,   464,
8137      465,     0,   466,   467,   468,   469,   470,   471,   472,   473,
8138        0,   474,   475,   476,   477,   478,   479,   480,   481,   482,
8139      483,   484,   485,   486,   487,   488,     0,   489,   490,   491,
8140      492,   493,   494,   495,   496,   497,   498,   499,   500,   501,
8141        0,   502,   503,     0,   505,   506,   507,   508,   509,   510,
8142      511,   512,   513,   514,   515,   516,   517,   518,   519,     0,
8143      520,   521,   522,   523,   524,     0,   525,   526,   527,   528,
8144      529,     0,   531,   532,   533,   534,     0,   535,   536,   537,
8145      538,   539,   540,   541,   542,   543,   544,   545,   546,   547,
8146      548,   549,     0,   550,   551,     0,   552,     0,   554,   555,
8147      556,   557,   558,     0,   559,   560,   561,     0,     0,   562,
8148      563,   564,   565,   566,     0,   567,   568,   569,   570,   571,
8149      572,   573,   574,     0,     0,   575,   576,   577,   578,   579,
8150        0,     0,   580,   581,   582,   583,   584,   585,   586,     0,
8151      587,     0,   589,   590,   591,   592,     0,     0,   593,     0,
8152        0,   594,   595,   596,   597,   598,   599,   600,   601,   602,
8153      603,   604,   605,   606,   607,   608,   609,   610,   611,   612,
8154      613,     0,     0,     0,     0,     0,     0,     0,     0,   951,
8155      952,   953,   954,   955,   956,   957,   958,   959,   621,     0,
8156        0,     0,     0,     0,     0,   945,     0,     0,     0,     0,
8157        0,     0,   946,   947,   948,   234,   235,   236,   237,   238,
8158      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
8159        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
8160      250,   251,     0,   253,   254,   255,   256,   257,     0,   259,
8161      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
8162        0,   268,   269,   270,   271,   272,     0,   273,  1129,   275,
8163      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
8164      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
8165      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
8166        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
8167      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
8168      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
8169      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
8170      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
8171      338,   339,   340,   341,     0,  1130,     0,   343,   344,   345,
8172      346,   347,     0,   348,     0,   349,     0,     0,     0,   352,
8173      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
8174        0,   361,   362,   363,   364,  1131,     0,   367,   368,   369,
8175      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
8176      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
8177      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
8178      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
8179      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
8180      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
8181      421,   422,     0,   424,   425,   426,   427,   428,   429,   430,
8182      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
8183      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
8184        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
8185      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
8186      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
8187      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
8188      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
8189      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
8190      501,     0,   502,   503,     0,   505,   506,   507,   508,   509,
8191      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
8192        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
8193      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
8194      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
8195      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
8196      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
8197      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
8198      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
8199      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
8200        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
8201        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
8202      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
8203      612,   613,     0,     0,     0,     0,     0,     0,     0,     0,
8204      951,   952,   953,   954,   955,   956,   957,   958,   959,   621,
8205        0,     0,     0,     0,     0,     0,   945,     0,     0,     0,
8206        0,     0,     0,   946,   947,   948,   234,   235,   236,   237,
8207      238,   239,   240,   241,     0,   242,   243,   244,     0,     0,
8208        0,     0,     0,     0,     0,   245,   246,   247,     0,   248,
8209      249,   250,   251,     0,   253,   254,   255,   256,   257,     0,
8210      259,   260,     0,   261,   262,   263,   264,   265,   266,   267,
8211        0,     0,   268,   269,   270,   271,   272,     0,   273,  1781,
8212      275,   276,   277,     0,     0,     0,   279,   280,   281,   282,
8213      283,   284,     0,   286,   287,   288,     0,   289,   290,   291,
8214      292,   293,   294,     0,     0,   296,   297,   298,     0,     0,
8215        0,     0,     0,     0,     0,   300,   301,   302,   303,   304,
8216      305,   306,   307,   308,     0,   309,     0,   310,   311,   312,
8217      313,   314,   315,   316,     0,   317,   318,   319,   320,     0,
8218        0,   321,   322,   323,   324,   325,     0,   326,   327,   328,
8219        0,   329,   330,   331,     0,   332,   333,   334,   335,   336,
8220      337,   338,   339,   340,   341,     0,  1782,     0,   343,   344,
8221      345,   346,   347,     0,   348,     0,   349,     0,     0,     0,
8222      352,   353,   354,   355,     0,   356,   357,     0,   358,   359,
8223      360,     0,   361,   362,   363,   364,   365,     0,   367,   368,
8224      369,   370,     0,   371,   372,   373,   374,   375,   376,   377,
8225        0,   378,     0,   380,   381,   382,   383,   384,   385,   386,
8226        0,   387,     0,   388,     0,     0,   391,     0,   393,   394,
8227      395,   396,   397,     0,     0,   398,   399,     0,   401,     0,
8228        0,   403,   404,   405,     0,     0,   406,   407,   408,   409,
8229      410,   411,   412,   413,   414,   415,   416,   417,   418,   419,
8230      420,   421,   422,     0,   424,   425,   426,   427,   428,   429,
8231      430,   431,   432,   433,   434,     0,   435,   436,     0,   438,
8232        0,   439,   440,   441,   442,   443,   444,     0,   445,   446,
8233        0,     0,   447,   448,   449,     0,     0,   450,   451,   452,
8234        0,   454,     0,   456,   457,   458,   459,   460,   461,   462,
8235      463,   464,   465,     0,   466,   467,   468,   469,   470,   471,
8236      472,   473,     0,   474,   475,   476,   477,   478,   479,   480,
8237      481,   482,   483,   484,   485,   486,   487,   488,     0,   489,
8238      490,   491,   492,   493,   494,   495,   496,   497,   498,   499,
8239      500,   501,     0,   502,   503,     0,   505,   506,   507,   508,
8240      509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
8241      519,     0,   520,   521,   522,   523,   524,     0,   525,   526,
8242      527,   528,   529,     0,   531,   532,   533,   534,     0,   535,
8243      536,   537,   538,   539,   540,   541,   542,   543,   544,   545,
8244      546,   547,   548,   549,     0,   550,   551,     0,   552,     0,
8245      554,   555,   556,   557,   558,     0,   559,   560,   561,     0,
8246        0,   562,   563,   564,   565,   566,     0,   567,   568,   569,
8247      570,   571,   572,   573,   574,     0,     0,   575,   576,   577,
8248      578,   579,     0,     0,   580,   581,   582,   583,   584,   585,
8249      586,     0,   587,     0,   589,   590,   591,   592,     0,     0,
8250      593,     0,     0,   594,   595,   596,   597,   598,   599,   600,
8251      601,   602,   603,   604,   605,   606,   607,   608,   609,   610,
8252      611,   612,   613,     0,     0,     0,     0,     0,     0,     0,
8253        0,   951,   952,   953,   954,   955,   956,   957,   958,   959,
8254      621,     0,     0,     0,     0,     0,     0,   945,     0,     0,
8255        0,     0,     0,     0,   946,   947,   948,   234,   235,   236,
8256      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
8257        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
8258      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
8259        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
8260      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
8261      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
8262      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
8263      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
8264        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
8265      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
8266      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
8267        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
8268      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
8269      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
8270      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
8271        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
8272      359,   360,     0,   361,   362,   363,   364,   365,     0,   367,
8273      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
8274      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
8275      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
8276      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
8277        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
8278      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
8279      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
8280      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
8281      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
8282      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
8283      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
8284      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
8285      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
8286      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
8287      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
8288      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
8289      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
8290      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
8291      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
8292      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
8293      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
8294        0,   554,   555,   556,   557,   558,     0,   559,   560,   561,
8295        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
8296      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
8297      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
8298      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
8299        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
8300      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
8301      610,   611,   612,   613,     0,     0,     0,     0,     0,     0,
8302        0,     0,   951,   952,   953,   954,   955,   956,   957,   958,
8303      959,   621,     0,     0,     0,     0,     0,     0,   945,     0,
8304        0,     0,     0,     0,     0,   946,   947,   948,   234,   235,
8305      236,   237,   238,   239,   240,   241,     0,   242,   243,   244,
8306        0,     0,     0,     0,     0,     0,     0,   245,   246,   247,
8307        0,   248,   249,   250,   251,     0,   253,   254,   255,   256,
8308      257,     0,   259,   260,     0,   261,   262,   263,   264,   265,
8309      266,   267,     0,     0,   268,   269,   270,   271,   272,     0,
8310      273,  3429,   275,   276,   277,     0,     0,     0,   279,   280,
8311      281,   282,   283,   284,     0,   286,   287,   288,     0,   289,
8312      290,   291,   292,   293,   294,     0,     0,   296,   297,   298,
8313        0,     0,     0,     0,     0,     0,     0,   300,   301,   302,
8314      303,   304,   305,   306,   307,   308,     0,   309,     0,   310,
8315      311,   312,   313,   314,   315,   316,     0,   317,   318,   319,
8316      320,     0,     0,   321,   322,   323,   324,   325,     0,   326,
8317      327,   328,     0,   329,   330,   331,     0,   332,   333,   334,
8318      335,   336,   337,   338,   339,   340,   341,     0,  3430,     0,
8319      343,   344,   345,   346,   347,     0,   348,     0,   349,     0,
8320        0,     0,   352,   353,   354,   355,     0,   356,   357,     0,
8321      358,   359,   360,     0,   361,   362,   363,   364,   365,     0,
8322      367,   368,   369,   370,     0,   371,   372,   373,   374,   375,
8323      376,   377,     0,   378,     0,   380,   381,   382,   383,   384,
8324      385,   386,     0,   387,     0,   388,     0,     0,   391,     0,
8325      393,   394,   395,   396,   397,     0,     0,   398,   399,     0,
8326      401,     0,     0,   403,   404,   405,     0,     0,   406,   407,
8327      408,   409,   410,   411,   412,   413,   414,   415,   416,   417,
8328      418,   419,   420,   421,   422,     0,   424,   425,   426,   427,
8329      428,   429,   430,   431,   432,   433,   434,     0,   435,   436,
8330        0,   438,     0,   439,   440,   441,   442,   443,   444,     0,
8331      445,   446,     0,     0,   447,   448,   449,     0,     0,   450,
8332      451,   452,     0,   454,     0,   456,   457,   458,   459,   460,
8333      461,   462,   463,   464,   465,     0,   466,   467,   468,   469,
8334      470,   471,   472,   473,     0,   474,   475,   476,   477,   478,
8335      479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
8336        0,   489,   490,   491,   492,   493,   494,   495,   496,   497,
8337      498,   499,   500,   501,     0,   502,   503,     0,   505,   506,
8338      507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
8339      517,   518,   519,     0,   520,   521,   522,   523,   524,     0,
8340      525,   526,   527,   528,   529,     0,   531,   532,   533,   534,
8341        0,   535,   536,   537,   538,   539,   540,   541,   542,   543,
8342      544,   545,   546,   547,   548,   549,     0,   550,   551,     0,
8343      552,     0,   554,   555,   556,   557,   558,     0,   559,   560,
8344      561,     0,     0,   562,   563,   564,   565,   566,     0,   567,
8345      568,   569,   570,   571,   572,   573,   574,     0,     0,   575,
8346      576,   577,   578,   579,     0,     0,   580,   581,   582,   583,
8347      584,   585,   586,     0,   587,     0,   589,   590,   591,   592,
8348        0,     0,   593,     0,     0,   594,   595,   596,   597,   598,
8349      599,   600,   601,   602,   603,   604,   605,   606,   607,   608,
8350      609,   610,   611,   612,   613,     0,     0,     0,     0,     0,
8351        0,     0,     0,   951,   952,   953,   954,   955,   956,   957,
8352      958,   959,   621,     0,     0,     0,     0,     0,     0,   945,
8353        0,     0,     0,     0,     0,     0,   946,   947,   948,   234,
8354      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
8355      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
8356      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
8357      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
8358      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
8359        0,   273,   274,   275,   276,   277,     0,     0,     0,   279,
8360      280,   281,   282,   283,   284,     0,   286,   287,   288,     0,
8361      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
8362      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
8363      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
8364      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
8365      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
8366      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
8367      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
8368        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
8369        0,     0,     0,   352,   353,   354,   355,     0,   356,   357,
8370        0,   358,   359,   360,     0,   361,   362,   363,   364,   365,
8371        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
8372      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
8373      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
8374        0,   393,   394,   395,   396,   397,     0,     0,   398,   399,
8375        0,   401,     0,     0,   403,   404,   405,     0,     0,   406,
8376      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
8377      417,   418,   419,   420,   421,   422,     0,   424,   425,   426,
8378      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
8379      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
8380        0,   445,   446,     0,     0,  5293,   448,   449,     0,     0,
8381      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
8382      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
8383      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
8384      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
8385      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
8386      497,   498,   499,   500,   501,     0,   502,   503,     0,   505,
8387      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
8388      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
8389        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
8390      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
8391      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
8392        0,   552,     0,   554,   555,   556,   557,   558,     0,   559,
8393      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
8394      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
8395      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
8396      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
8397      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
8398      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
8399      608,   609,   610,   611,   612,   613,  1676,     0,     0,     0,
8400        0,     0,     0,     0,   951,   952,   953,   954,   955,   956,
8401      957,   958,   959,   234,   235,   236,   237,   238,   239,   240,
8402      241,  1677,   242,   243,   244,  1678,  1679,  1680,  1681,  1682,
8403     1683,  1684,   245,   246,   247,  1685,   248,   249,   250,   251,
8404      252,   253,   254,   255,   256,   257,   258,   259,   260,  1686,
8405      261,   262,   263,   264,   265,   266,   267,  1687,  1688,   268,
8406      269,   270,   271,   272,  1689,   273,   274,   275,   276,   277,
8407     1690,   278,  1691,   279,   280,   281,   282,   283,   284,   285,
8408      286,   287,   288,  1692,   289,   290,   291,   292,   293,   294,
8409     1693,   295,   296,   297,   298,  1694,  1695,  1696,   299,  1697,
8410     1698,  1699,   300,   301,   302,   303,   304,   305,   306,   307,
8411      308,  1700,   309,  1701,   310,   311,   312,   313,   314,   315,
8412      316,  1702,   317,   318,   319,   320,  1703,  1704,   321,   322,
8413      323,   324,   325,  1705,   326,   327,   328,  1706,   329,   330,
8414      331,  1707,   332,   333,   334,   335,   336,   337,   338,   339,
8415      340,   341,  1708,   342,  1709,   343,   344,   345,   346,   347,
8416     1710,   348,  1711,   349,   350,  1712,   351,   352,   353,   354,
8417      355,  1713,   356,   357,  1714,   358,   359,   360,  1715,   361,
8418      362,   363,   364,   365,   366,   367,   368,   369,   370,  1716,
8419      371,   372,   373,   374,   375,   376,   377,  1717,   378,   379,
8420      380,   381,   382,   383,   384,   385,   386,  1718,   387,  1719,
8421      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
8422     1720,  1721,   398,   399,   400,   401,   402,  1722,   403,   404,
8423      405,  1723,  1724,   406,   407,   408,   409,   410,   411,   412,
8424      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
8425      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
8426      433,   434,  1725,   435,   436,   437,   438,  1726,   439,   440,
8427      441,   442,   443,   444,  1727,   445,   446,  1728,  1729,   447,
8428      448,   449,  1730,  1731,   450,   451,   452,   453,   454,   455,
8429      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
8430     1732,   466,   467,   468,   469,   470,   471,   472,   473,  1733,
8431      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
8432      484,   485,   486,   487,   488,  1734,   489,   490,   491,   492,
8433      493,   494,   495,   496,   497,   498,   499,   500,   501,  1735,
8434      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
8435      512,   513,   514,   515,   516,   517,   518,   519,  1736,   520,
8436      521,   522,   523,   524,  1737,   525,   526,   527,   528,   529,
8437      530,   531,   532,   533,   534,  1738,   535,   536,   537,   538,
8438      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
8439      549,  1739,   550,   551,  1740,   552,   553,   554,   555,   556,
8440      557,   558,  1741,   559,   560,   561,  1742,  1743,   562,   563,
8441      564,   565,   566,  1744,   567,   568,   569,   570,   571,   572,
8442      573,   574,  1745,  1746,   575,   576,   577,   578,   579,  1747,
8443     1748,   580,   581,   582,   583,   584,   585,   586,  1749,   587,
8444      588,   589,   590,   591,   592,  1750,  1751,   593,  1752,  1753,
8445      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
8446      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
8447      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8448        0,     0,     0,  1754,     0,     0,     0,   234,   235,   236,
8449      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
8450        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
8451      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
8452        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
8453      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
8454      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
8455      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
8456      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
8457        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
8458      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
8459      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
8460        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
8461      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
8462      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
8463      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
8464        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
8465      359,   360,     0,   361,   362,   363,   364,   365,     0,   367,
8466      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
8467      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
8468      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
8469      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
8470        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
8471      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
8472      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
8473      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
8474      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
8475      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
8476      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
8477      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
8478      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
8479      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
8480      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
8481      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
8482      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
8483      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
8484      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
8485      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
8486      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
8487        0,   554,   555,   556,   557,   558,     0,   559,   560,   561,
8488        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
8489      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
8490      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
8491      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
8492        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
8493      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
8494      610,   611,   612,   613,   621,     0,     0,     0,     0,     0,
8495        0,     0,     0,     0,     0,     0,     0,   834,     0,     0,
8496        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
8497      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
8498      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
8499      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
8500      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
8501      271,   272,     0,   273,   274,   275,   276,   277,     0,     0,
8502        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
8503      288,     0,   289,   290,   291,   292,   293,   294,     0,     0,
8504      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
8505      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
8506      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
8507      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
8508      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
8509      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
8510        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
8511        0,   349,     0,     0,     0,   352,   353,   354,   355,     0,
8512      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
8513      364,   365,     0,   367,   368,   369,   370,     0,   371,   372,
8514      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
8515      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
8516        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
8517      398,   399,     0,   401,     0,     0,   403,   404,   405,     0,
8518        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
8519      415,   416,   417,   418,   419,   420,   421,   422,     0,   424,
8520      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
8521        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
8522      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
8523        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
8524      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
8525      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
8526      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
8527      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
8528      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
8529        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
8530      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
8531      523,   524,     0,   525,   526,   527,   528,   529,     0,   531,
8532      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
8533      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
8534      550,   551,     0,   552,     0,   554,   555,   556,   557,   558,
8535        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
8536      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
8537        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
8538      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
8539      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
8540      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
8541      606,   607,   608,   609,   610,   611,   612,   613,   845,     0,
8542        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8543        0,  5691,     0,     0,     0,   234,   235,   236,   237,   238,
8544      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
8545        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
8546      250,   251,   252,   253,   254,   255,     0,   846,   258,   847,
8547      848,     0,   261,   262,   263,   264,   265,   266,   267,     0,
8548        0,   268,   269,   849,   850,   272,     0,   273,   274,   275,
8549      276,     0,     0,   278,     0,   279,   280,   281,   282,   283,
8550      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
8551      293,   294,     0,   295,   296,   297,   298,     0,     0,     0,
8552      299,     0,     0,     0,   300,   301,   302,   303,   304,   305,
8553      851,   852,   308,     0,   309,     0,   310,   311,   312,   313,
8554      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
8555      321,   322,   853,   324,   325,     0,   326,   327,   328,     0,
8556      329,   330,   331,     0,   332,   333,   334,   335,     0,   337,
8557      338,   339,   340,     0,     0,   342,     0,   343,   344,   345,
8558      854,   347,     0,   348,     0,   349,   350,     0,   351,   352,
8559      353,   354,   355,     0,   356,     0,     0,     0,   359,   360,
8560        0,   361,   362,   363,   364,   365,   366,   367,   368,   369,
8561      370,  2611,   371,   372,   373,   374,   375,   376,   377,     0,
8562      378,   379,  2612,   381,   382,   383,   384,   855,   856,     0,
8563      857,     0,   388,   389,   390,   391,   392,   393,   394,   395,
8564      396,   397,     0,     0,   398,     0,   400,   401,   402,     0,
8565      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
8566      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
8567      421,   858,   423,   859,   425,   426,   427,   428,   429,   430,
8568      431,     0,     0,   434,     0,   435,   436,   437,   438,     0,
8569        0,   440,   860,   442,   443,   444,     0,   445,   446,     0,
8570        0,   447,   448,   449,     0,  2613,   450,   451,  2614,   453,
8571      454,   455,     0,   457,   458,   459,   460,   461,   462,   463,
8572      464,   465,     0,   466,   467,     0,   469,     0,   471,   472,
8573      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
8574      482,   483,   861,   485,   486,   487,   488,     0,   489,   490,
8575      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
8576      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
8577        0,   511,   512,   513,   514,   515,   516,   517,   518,   519,
8578        0,   520,   521,   522,   523,   524,     0,   525,   526,  2615,
8579      528,   529,   530,   531,   532,   863,   534,     0,   535,   536,
8580      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
8581      547,     0,   549,     0,   550,   551,     0,   552,   553,   554,
8582      555,   556,   557,   558,     0,   559,   864,   865,     0,     0,
8583      562,   563,     0,   565,     0,     0,   567,   568,   569,   570,
8584      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
8585      579,     0,     0,   580,   581,   582,   583,   584,     0,   866,
8586     2616,   587,   588,   589,   590,   591,   592,     0,     0,   593,
8587        0,     0,   594,   595,   596,   597,   598,   599,     0,     0,
8588     3771,     0,     0,     0,     0,     0,     0,     0,     0,   611,
8589      612,   613,     0,     0,     0,     0,     0,   234,   235,   236,
8590      237,   238,   239,   240,   241,  2617,   242,   243,   244,     0,
8591        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
8592      248,   249,   250,   251,   252,   253,   254,   255,     0,   846,
8593      258,   847,   848,     0,   261,   262,   263,   264,   265,   266,
8594      267,     0,     0,   268,   269,   849,   850,   272,     0,   273,
8595      274,   275,   276,     0,     0,   278,     0,   279,   280,   281,
8596      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
8597      291,   292,   293,   294,     0,   295,   296,   297,   298,     0,
8598        0,     0,   299,     0,     0,     0,   300,   301,   302,   303,
8599      304,   305,   851,   852,   308,     0,   309,     0,   310,   311,
8600      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
8601        0,     0,   321,   322,   853,   324,   325,     0,   326,   327,
8602      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
8603        0,   337,   338,   339,   340,     0,     0,   342,     0,   343,
8604      344,   345,   854,   347,     0,   348,     0,   349,   350,     0,
8605      351,   352,   353,   354,   355,     0,   356,     0,     0,     0,
8606      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
8607      368,   369,   370,  2611,   371,   372,   373,   374,   375,   376,
8608      377,     0,   378,   379,  2612,   381,   382,   383,   384,   855,
8609      856,     0,   857,     0,   388,   389,   390,   391,   392,   393,
8610      394,   395,   396,   397,     0,     0,   398,     0,   400,   401,
8611      402,     0,   403,   404,   405,     0,     0,   406,   407,   408,
8612      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
8613      419,   420,   421,   858,   423,   859,   425,   426,   427,   428,
8614      429,   430,   431,     0,     0,   434,     0,   435,   436,   437,
8615      438,     0,     0,   440,   860,   442,   443,   444,     0,   445,
8616      446,     0,     0,   447,   448,   449,     0,  2613,   450,   451,
8617     2614,   453,   454,   455,     0,   457,   458,   459,   460,   461,
8618      462,   463,   464,   465,     0,   466,   467,     0,   469,     0,
8619      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
8620      480,   481,   482,   483,   861,   485,   486,   487,   488,     0,
8621      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
8622      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
8623      508,   509,     0,   511,   512,   513,   514,   515,   516,   517,
8624      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
8625      526,  2615,   528,   529,   530,   531,   532,   863,   534,     0,
8626      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
8627      545,   546,   547,     0,   549,     0,   550,   551,     0,   552,
8628      553,   554,   555,   556,   557,   558,     0,   559,   864,   865,
8629        0,     0,   562,   563,     0,   565,     0,     0,   567,   568,
8630      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
8631      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
8632        0,   866,  2616,   587,   588,   589,   590,   591,   592,     0,
8633        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
8634        0,     0,   930,     0,  1542,   680,     0,     0,     0,     0,
8635      740,   611,   612,   613,     0,     0,     0,     0,     0,   234,
8636      235,   236,   237,   238,   239,   240,   241,  2617,   242,   243,
8637      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
8638      247,     0,   248,   249,   250,   251,   252,   253,   254,   255,
8639      256,   257,   258,   259,   260,     0,   261,   262,   263,   264,
8640      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
8641        0,   273,   274,   275,   276,   277,     0,   278,     0,   279,
8642      280,   281,   282,   283,   284,   285,   286,   287,   288,     0,
8643      289,   290,   291,   292,   293,   294,     0,   295,   296,   297,
8644      298,     0,     0,     0,   299,     0,     0,     0,   300,   301,
8645      302,   303,   304,   305,   306,   307,   308,  2503,   309,     0,
8646      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
8647      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
8648      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
8649      334,   335,   336,   337,   338,   339,   340,   341,  1764,   342,
8650        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
8651      350,     0,   351,   352,   353,   354,   355,     0,   356,   357,
8652        0,   358,   359,   360,     0,   361,   362,   363,   364,   365,
8653      366,   367,   368,   369,   370,     0,   371,   372,   373,   374,
8654      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
8655      384,   385,   386,     0,   387,     0,   388,   389,   390,   391,
8656      392,   393,   394,   395,   396,   397,     0,     0,   398,   399,
8657      400,   401,   402,     0,   403,   404,   405,     0,     0,   406,
8658      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
8659      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
8660      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
8661      436,   437,   438,     0,   439,   440,   441,   442,   443,   444,
8662        0,   445,   446,  1765,     0,   447,   448,   449,     0,     0,
8663      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
8664      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
8665      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
8666      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
8667      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
8668      497,   498,   499,   500,   501,     0,   502,   503,   504,   505,
8669      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
8670      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
8671        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
8672      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
8673      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
8674        0,   552,   553,   554,   555,   556,   557,   558,     0,   559,
8675      560,   561,     0,     0,   562,   563,   564,   565,   566,  1766,
8676      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
8677      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
8678      583,   584,   585,   586,     0,   587,   588,   589,   590,   591,
8679      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
8680      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
8681      608,   609,   610,   611,   612,   613,   930,     0,  1542,   680,
8682        0,     0,     0,     0,   740,     0,     0,  1543,  1544,     0,
8683        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
8684      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
8685        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
8686      252,   253,   254,   255,   256,   257,   258,   259,   260,     0,
8687      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
8688      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
8689        0,   278,     0,   279,   280,   281,   282,   283,   284,   285,
8690      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
8691        0,   295,   296,   297,   298,     0,     0,     0,   299,     0,
8692        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
8693      308,  2508,   309,     0,   310,   311,   312,   313,   314,   315,
8694      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
8695      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
8696      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
8697      340,   341,  1764,   342,     0,   343,   344,   345,   346,   347,
8698        0,   348,     0,   349,   350,     0,   351,   352,   353,   354,
8699      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
8700      362,   363,   364,   365,   366,   367,   368,   369,   370,     0,
8701      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
8702      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
8703      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
8704        0,     0,   398,   399,   400,   401,   402,     0,   403,   404,
8705      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
8706      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
8707      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
8708      433,   434,     0,   435,   436,   437,   438,     0,   439,   440,
8709      441,   442,   443,   444,     0,   445,   446,  1765,     0,   447,
8710      448,   449,     0,     0,   450,   451,   452,   453,   454,   455,
8711      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
8712        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
8713      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
8714      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
8715      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
8716      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
8717      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
8718      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
8719      530,   531,   532,   533,   534,     0,   535,   536,   537,   538,
8720      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
8721      549,     0,   550,   551,     0,   552,   553,   554,   555,   556,
8722      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
8723      564,   565,   566,  1766,   567,   568,   569,   570,   571,   572,
8724      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
8725        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
8726      588,   589,   590,   591,   592,     0,     0,   593,     0,     0,
8727      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
8728      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
8729      930,     0,  1542,   680,     0,     0,     0,     0,   740,     0,
8730        0,  1543,  1544,     0,     0,     0,     0,   234,   235,   236,
8731      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
8732        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
8733      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
8734      258,   259,   260,     0,   261,   262,   263,   264,   265,   266,
8735      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
8736      274,   275,   276,   277,     0,   278,     0,   279,   280,   281,
8737      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
8738      291,   292,   293,   294,     0,   295,   296,   297,   298,     0,
8739        0,     0,   299,     0,     0,     0,   300,   301,   302,   303,
8740      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
8741      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
8742        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
8743      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
8744      336,   337,   338,   339,   340,   341,  1764,   342,     0,   343,
8745      344,   345,   346,   347,     0,   348,     0,   349,   350,     0,
8746      351,   352,   353,   354,   355,     0,   356,   357,     0,   358,
8747      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
8748      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
8749      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
8750      386,     0,   387,     0,   388,   389,   390,   391,   392,   393,
8751      394,   395,   396,   397,     0,     0,   398,   399,   400,   401,
8752      402,     0,   403,   404,   405,     0,     0,   406,   407,   408,
8753      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
8754      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
8755      429,   430,   431,   432,   433,   434,     0,   435,   436,   437,
8756      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
8757      446,  1765,     0,   447,   448,   449,     0,     0,   450,   451,
8758      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
8759      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
8760      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
8761      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
8762      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
8763      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
8764      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
8765      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
8766      526,   527,   528,   529,   530,   531,   532,   533,   534,     0,
8767      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
8768      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
8769      553,   554,   555,   556,   557,   558,     0,   559,   560,   561,
8770        0,     0,   562,   563,   564,   565,   566,  1766,   567,   568,
8771      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
8772      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
8773      585,   586,     0,   587,   588,   589,   590,   591,   592,     0,
8774        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
8775      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
8776      610,   611,   612,   613,   930,     0,     0,   680,     0,     0,
8777        0,     0,   740,     0,     0,  1543,  1544,     0,     0,     0,
8778        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
8779      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
8780      245,   246,   247,     0,   248,   249,   250,   251,   252,   253,
8781      254,   255,   256,   257,   258,   259,   260,     0,   261,   262,
8782      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
8783      271,   272,     0,   273,   274,   275,   276,   277,     0,   278,
8784        0,   279,   280,   281,   282,   283,   284,   285,   286,   287,
8785      288,     0,   289,   290,   291,   292,   293,   294,     0,   295,
8786      296,   297,   298,     0,     0,     0,   299,     0,     0,     0,
8787      300,   301,   302,   303,   304,   305,   306,   307,   308,  3390,
8788      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
8789      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
8790      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
8791      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
8792     1764,   342,     0,   343,   344,   345,   346,   347,     0,   348,
8793        0,   349,   350,     0,   351,   352,   353,   354,   355,     0,
8794      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
8795      364,   365,   366,   367,   368,   369,   370,     0,   371,   372,
8796      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
8797      382,   383,   384,   385,   386,     0,   387,     0,   388,   389,
8798      390,   391,   392,   393,   394,   395,   396,   397,     0,     0,
8799      398,   399,   400,   401,   402,     0,   403,   404,   405,     0,
8800        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
8801      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
8802      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
8803        0,   435,   436,   437,   438,     0,   439,   440,   441,   442,
8804      443,   444,     0,   445,   446,  1765,     0,   447,   448,   449,
8805        0,     0,   450,   451,   452,   453,   454,   455,   456,   457,
8806      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
8807      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
8808      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
8809      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
8810      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
8811      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
8812      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
8813      523,   524,     0,   525,   526,   527,   528,   529,   530,   531,
8814      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
8815      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
8816      550,   551,     0,   552,   553,   554,   555,   556,   557,   558,
8817        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
8818      566,  1766,   567,   568,   569,   570,   571,   572,   573,   574,
8819        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
8820      581,   582,   583,   584,   585,   586,     0,   587,   588,   589,
8821      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
8822      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
8823      606,   607,   608,   609,   610,   611,   612,   613,   621,     0,
8824        0,     0,     0,     0,     0,     0,   740,     0,     0,   752,
8825      753,     0,     0,     0,     0,   234,   741,   236,   237,   238,
8826      239,   240,   241,   742,   242,   243,   244,     0,     0,     0,
8827        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
8828      250,   251,     0,   743,   254,   255,   256,   257,     0,   259,
8829      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
8830        0,   268,   269,   270,   271,   272,     0,   273,   274,   275,
8831      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
8832      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
8833      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
8834        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
8835      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
8836      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
8837      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
8838      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
8839      338,   339,   340,   341,     0,   342,     0,   343,   344,   744,
8840      346,   347,     0,   348,     0,   745,     0,   746,     0,   352,
8841      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
8842        0,   361,   362,   363,   364,   365,     0,   367,   368,   369,
8843      370,   747,   371,   372,   373,   374,   375,   376,   377,     0,
8844      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
8845      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
8846      396,   748,     0,     0,   398,   399,     0,   401,     0,     0,
8847      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
8848      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
8849      421,   422,     0,   424,   425,   749,   427,   428,   429,   430,
8850      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
8851      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
8852        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
8853      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
8854      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
8855      473,     0,   750,   475,   476,   477,   478,   479,   480,   481,
8856      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
8857      491,   751,   493,   494,   495,   496,   497,   498,   499,   500,
8858      501,     0,   502,   503,     0,   505,   506,   507,   508,   509,
8859      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
8860        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
8861      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
8862      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
8863      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
8864      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
8865      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
8866      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
8867      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
8868        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
8869        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
8870      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
8871      612,   613,  1676,     0,  5948,   680,     0,     0,     0,     0,
8872      740,     0,     0,   752,   753,     0,     0,     0,     0,   234,
8873      235,   236,   237,   238,   239,   240,   241,  1677,   242,   243,
8874      244,  1678,  1679,  1680,  1681,  1682,  1683,  1684,   245,   246,
8875      247,  1685,   248,   249,   250,   251,   252,   253,   254,   255,
8876      256,   257,   258,   259,   260,  1686,   261,   262,   263,   264,
8877      265,   266,   267,  1687,  1688,   268,   269,   270,   271,   272,
8878     1689,   273,   274,   275,   276,   277,  1690,   278,  1691,   279,
8879      280,   281,   282,   283,   284,   285,   286,   287,   288,  1692,
8880      289,   290,   291,   292,   293,   294,  1693,   295,   296,   297,
8881      298,  1694,  1695,  1696,   299,  1697,  1698,  1699,   300,   301,
8882      302,   303,   304,   305,   306,   307,   308,  1700,   309,  1701,
8883      310,   311,   312,   313,   314,   315,   316,  1702,   317,   318,
8884      319,   320,  1703,  1704,   321,   322,   323,   324,   325,  1705,
8885      326,   327,   328,  1706,   329,   330,   331,  1707,   332,   333,
8886      334,   335,   336,   337,   338,   339,   340,   341,  1708,   342,
8887     1709,   343,   344,   345,   346,   347,  1710,   348,  1711,   349,
8888      350,  1712,   351,   352,   353,   354,   355,  1713,   356,   357,
8889     1714,   358,   359,   360,  1715,   361,   362,   363,   364,   365,
8890      366,   367,   368,   369,   370,  1716,   371,   372,   373,   374,
8891      375,   376,   377,  1717,   378,   379,   380,   381,   382,   383,
8892      384,   385,   386,  1718,   387,  1719,   388,   389,   390,   391,
8893      392,   393,   394,   395,   396,   397,  1720,  1721,   398,   399,
8894      400,   401,   402,  1722,   403,   404,   405,  1723,  1724,   406,
8895      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
8896      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
8897      427,   428,   429,   430,   431,   432,   433,   434,  1725,   435,
8898      436,   437,   438,  1726,   439,   440,   441,   442,   443,   444,
8899     1727,   445,   446,  1728,  1729,   447,   448,   449,  1730,  1731,
8900      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
8901      460,   461,   462,   463,   464,   465,  1732,   466,   467,   468,
8902      469,   470,   471,   472,   473,  1733,   474,   475,   476,   477,
8903      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
8904      488,  1734,   489,   490,   491,   492,   493,   494,   495,   496,
8905      497,   498,   499,   500,   501,  1735,   502,   503,   504,   505,
8906      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
8907      516,   517,   518,   519,  1736,   520,   521,   522,   523,   524,
8908     1737,   525,   526,   527,   528,   529,   530,   531,   532,   533,
8909      534,  1738,   535,   536,   537,   538,   539,   540,   541,   542,
8910      543,   544,   545,   546,   547,   548,   549,  1739,   550,   551,
8911     1740,   552,   553,   554,   555,   556,   557,   558,  1741,   559,
8912      560,   561,  1742,  1743,   562,   563,   564,   565,   566,  1744,
8913      567,   568,   569,   570,   571,   572,   573,   574,  1745,  1746,
8914      575,   576,   577,   578,   579,  1747,  1748,   580,   581,   582,
8915      583,   584,   585,   586,  1749,   587,   588,   589,   590,   591,
8916      592,  1750,  1751,   593,  1752,  1753,   594,   595,   596,   597,
8917      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
8918      608,   609,   610,   611,   612,   613,  1676,     0,     0,     0,
8919        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8920        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
8921      241,  1677,   242,   243,   244,  1678,  1679,  1680,  1681,  1682,
8922     1683,  1684,   245,   246,   247,  1685,   248,   249,   250,   251,
8923      252,   253,   254,   255,   256,   257,   258,   259,   260,  1686,
8924      261,   262,   263,   264,   265,   266,   267,  1687,  1688,   268,
8925      269,   270,   271,   272,  1689,   273,   274,   275,   276,   277,
8926     1690,   278,  1691,   279,   280,   281,   282,   283,   284,   285,
8927      286,   287,   288,  1692,   289,   290,   291,   292,   293,   294,
8928     1693,   295,   296,   297,   298,  1694,  1695,  1696,   299,  1697,
8929     1698,  1699,   300,   301,   302,   303,   304,   305,   306,   307,
8930      308,  1700,   309,  1701,   310,   311,   312,   313,   314,   315,
8931      316,  1702,   317,   318,   319,   320,  1703,  1704,   321,   322,
8932      323,   324,   325,  1705,   326,   327,   328,  1706,   329,   330,
8933      331,  1707,   332,   333,   334,   335,   336,   337,   338,   339,
8934      340,   341,  1708,   342,  1709,   343,   344,   345,   346,   347,
8935     1710,   348,  1711,   349,   350,  1712,   351,   352,   353,   354,
8936      355,  1713,   356,   357,  1714,   358,   359,   360,  1715,   361,
8937      362,   363,   364,   365,   366,   367,   368,   369,   370,  1716,
8938      371,   372,   373,   374,   375,   376,   377,  1717,   378,   379,
8939      380,   381,   382,   383,   384,   385,   386,  1718,   387,  1719,
8940      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
8941     1720,  1721,   398,   399,   400,   401,   402,  1722,   403,   404,
8942      405,  1723,  1724,   406,   407,   408,   409,   410,   411,   412,
8943      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
8944      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
8945      433,   434,  1725,   435,   436,   437,   438,  1726,   439,   440,
8946      441,   442,   443,   444,  1727,   445,   446,  1728,  1729,   447,
8947      448,   449,  1730,  1731,   450,   451,   452,   453,   454,   455,
8948      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
8949     1732,   466,   467,   468,   469,   470,   471,   472,   473,  1733,
8950      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
8951      484,   485,   486,   487,   488,  1734,   489,   490,   491,   492,
8952      493,   494,   495,   496,   497,   498,   499,   500,   501,  1735,
8953      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
8954      512,   513,   514,   515,   516,   517,   518,   519,  1736,   520,
8955      521,   522,   523,   524,  1737,   525,   526,   527,   528,   529,
8956      530,   531,   532,   533,   534,  1738,   535,   536,   537,   538,
8957      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
8958      549,  1739,   550,   551,  1740,   552,   553,   554,   555,   556,
8959      557,   558,  1741,   559,   560,   561,  1742,  1743,   562,   563,
8960      564,   565,   566,  1744,   567,   568,   569,   570,   571,   572,
8961      573,   574,  1745,  1746,   575,   576,   577,   578,   579,  1747,
8962     1748,   580,   581,   582,   583,   584,   585,   586,  1749,   587,
8963      588,   589,   590,   591,   592,  1750,  1751,   593,  1752,  1753,
8964      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
8965      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
8966     1676,     0,     0,     0,     0,     0,     0,     0,     0,     0,
8967        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
8968      237,  3495,   239,   240,   241,  1677,   242,   243,   244,  1678,
8969     1679,  1680,  1681,  1682,  1683,  1684,   245,   246,   247,  1685,
8970      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
8971      258,   259,   260,  1686,   261,   262,   263,   264,   265,   266,
8972      267,  1687,  1688,   268,   269,   270,   271,   272,  1689,   273,
8973      274,   275,   276,   277,  1690,   278,  1691,   279,   280,   281,
8974      282,   283,   284,   285,   286,   287,   288,  1692,   289,   290,
8975      291,   292,   293,   294,  1693,   295,   296,   297,   298,  1694,
8976     1695,  1696,   299,  1697,  1698,  1699,   300,   301,   302,   303,
8977      304,   305,   306,   307,   308,  1700,   309,  1701,   310,   311,
8978      312,   313,   314,   315,   316,  1702,   317,   318,   319,   320,
8979     1703,  1704,   321,   322,   323,  3496,   325,  1705,   326,   327,
8980      328,  1706,   329,   330,   331,  1707,   332,   333,   334,   335,
8981      336,   337,   338,   339,   340,   341,  1708,   342,  1709,   343,
8982      344,   345,   346,   347,  1710,   348,  1711,   349,   350,  1712,
8983      351,   352,   353,   354,   355,  1713,   356,   357,  1714,   358,
8984      359,   360,  1715,   361,   362,   363,   364,   365,   366,   367,
8985      368,   369,   370,  1716,   371,   372,   373,   374,   375,   376,
8986      377,  1717,   378,   379,   380,   381,   382,   383,   384,   385,
8987      386,  1718,   387,  1719,   388,   389,   390,   391,   392,   393,
8988      394,   395,   396,   397,  1720,  1721,   398,   399,   400,   401,
8989      402,  1722,   403,   404,   405,  1723,  1724,   406,   407,   408,
8990      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
8991      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
8992      429,   430,   431,   432,   433,   434,  1725,   435,   436,   437,
8993      438,  1726,   439,   440,   441,   442,   443,   444,  1727,   445,
8994      446,  1728,  1729,   447,   448,   449,  1730,  1731,   450,   451,
8995      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
8996      462,   463,   464,   465,  1732,   466,   467,   468,   469,   470,
8997      471,   472,   473,  1733,   474,   475,   476,   477,   478,   479,
8998      480,   481,   482,   483,   484,   485,   486,   487,   488,  1734,
8999      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
9000      499,   500,   501,  1735,   502,   503,   504,   505,   506,   507,
9001      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
9002      518,   519,  1736,   520,   521,   522,   523,   524,  1737,  3497,
9003      526,   527,   528,   529,   530,   531,   532,   533,   534,  1738,
9004      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
9005      545,   546,   547,   548,   549,  1739,   550,   551,  1740,   552,
9006      553,   554,   555,   556,   557,   558,  1741,   559,   560,   561,
9007     1742,  1743,   562,   563,   564,   565,   566,  1744,   567,   568,
9008      569,   570,   571,   572,   573,   574,  1745,  1746,   575,   576,
9009      577,   578,   579,  1747,  1748,   580,   581,   582,   583,   584,
9010      585,   586,  1749,   587,   588,   589,   590,   591,   592,  1750,
9011     1751,   593,  1752,  1753,   594,   595,   596,   597,   598,   599,
9012      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
9013      610,   611,   612,   613,   233,     0,     0,     0,     0,     0,
9014        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9015        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
9016      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
9017      245,   246,   247,     0,   248,   249,   250,   251,   252,   253,
9018      254,   255,   256,   257,   258,   259,   260,     0,   261,   262,
9019      263,   264,   265,   266,   267,     0,  1236,   268,   269,   270,
9020      271,   272,     0,   273,   274,   275,   276,  1239,     0,  1240,
9021        0,   279,   280,   281,   282,   283,   284,   285,   286,   287,
9022      288,     0,   289,   290,   291,   292,   293,   294,     0,   295,
9023      296,   297,   298,  1241,  1242,  1243,  1244,  1245,  1246,  1247,
9024      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
9025      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
9026      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
9027      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
9028      332,   333,   334,   335,   336,   337,   338,   339,   340,  1252,
9029        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
9030        0,   349,   350,     0,   351,   352,   353,   354,   355,     0,
9031      356,  1255,     0,   358,   359,   360,     0,   361,   362,   363,
9032      364,   365,   366,   367,   368,   369,   370,     0,   371,   372,
9033      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
9034      382,   383,   384,   385,   386,     0,   387,     0,   388,   389,
9035      390,   391,   392,   393,   394,   395,   396,   397,     0,     0,
9036      398,  1260,   400,   401,   402,     0,   403,   404,   405,  1261,
9037     1262,   406,   407,   408,   409,   410,   411,   412,   413,   414,
9038      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
9039      425,   426,   427,   428,   429,   430,   431,   432,  1265,   434,
9040        0,   435,   436,   437,   438,     0,  1268,   440,   441,   442,
9041      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
9042        0,     0,   450,   451,   452,   453,   454,   455,  1271,   457,
9043      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
9044      467,  1272,   469,   470,   471,   472,   473,     0,   474,   475,
9045      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
9046      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
9047      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
9048      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
9049      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
9050      523,   524,  1275,   525,   526,   527,   528,   529,   530,   531,
9051      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
9052      541,   542,   543,   544,   545,   546,   547,  1277,   549,     0,
9053      550,   551,     0,   552,   553,   554,   555,   556,   557,   558,
9054        0,   559,   560,   561,     0,     0,   562,   563,  1280,   565,
9055     1281,     0,   567,   568,   569,   570,   571,   572,   573,   574,
9056        0,     0,   575,   576,   577,   578,   579,  1284,     0,   580,
9057      581,   582,   583,   584,   585,   586,     0,   587,   588,   589,
9058      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
9059      596,   597,   598,   599,   600,  1286,  1287,  1288,  1289,   605,
9060     1290,  1291,  1292,  1293,   610,   611,   612,   613,   233,     0,
9061     1226,   680,     0,  1227,  1228,     0,   740,     0,     0,     0,
9062        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
9063      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
9064        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
9065      250,   251,   252,   253,   254,   255,   256,  1232,   258,  1233,
9066     1234,     0,   261,   262,   263,   264,   265,   266,   267,     0,
9067        0,   268,   269,  1237,  1238,   272,     0,   273,   274,   275,
9068      276,   277,     0,   278,     0,   279,   280,   281,   282,   283,
9069      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
9070      293,   294,     0,   295,   296,   297,   298,     0,     0,     0,
9071      299,     0,     0,     0,   300,   301,   302,   303,   304,   305,
9072     1248,  1249,   308,     0,   309,     0,   310,   311,   312,   313,
9073      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
9074      321,   322,   853,   324,   325,     0,   326,   327,   328,     0,
9075      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
9076      338,   339,   340,   341,  1253,   342,     0,   343,   344,   345,
9077     1254,   347,     0,   348,     0,   349,   350,     0,   351,   352,
9078      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
9079        0,   361,   362,   363,   364,   365,   366,   367,   368,   369,
9080      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
9081      378,   379,   380,   381,   382,   383,   384,  1257,  1258,     0,
9082     1259,     0,   388,   389,   390,   391,   392,   393,   394,   395,
9083      396,   397,     0,     0,   398,   399,   400,   401,   402,     0,
9084      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
9085      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
9086      421,  1263,   423,  1264,   425,   426,   427,   428,   429,   430,
9087      431,   432,   433,   434,     0,   435,   436,   437,   438,  1267,
9088      439,   440,  1269,   442,   443,   444,     0,   445,   446,     0,
9089        0,   447,   448,   449,     0,     0,   450,   451,   452,   453,
9090      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
9091      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
9092      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
9093      482,   483,  1273,   485,   486,   487,   488,     0,   489,   490,
9094      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
9095      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
9096      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
9097        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
9098      528,   529,   530,   531,   532,  1276,   534,     0,   535,   536,
9099      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
9100      547,   548,   549,     0,   550,   551,     0,   552,   553,   554,
9101      555,   556,   557,   558,     0,   559,  1278,  1279,     0,     0,
9102      562,   563,   564,   565,   566,  1282,   567,   568,   569,   570,
9103      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
9104      579,     0,     0,   580,   581,   582,   583,   584,   585,  1285,
9105        0,   587,   588,   589,   590,   591,   592,     0,     0,   593,
9106        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
9107      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
9108      612,   613,   930,     0,     0,     0,     0,     0,     0,     0,
9109        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
9110      235,   236,   237,   238,   239,   240,   241,   969,   242,   243,
9111      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
9112      247,     0,   248,   249,   250,   251,   252,   253,   254,   255,
9113      256,   257,   258,   259,   260,     0,   261,   262,   263,   264,
9114      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
9115        0,   273,   274,   275,   276,   277,     0,   278,     0,   279,
9116      280,   281,   282,   283,   284,   285,   286,   287,   288,     0,
9117      289,   290,   291,   292,   293,   294,     0,   295,   296,   297,
9118      298,     0,     0,   931,   299,     0,     0,   932,   300,   301,
9119      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
9120      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
9121      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
9122      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
9123      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
9124        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
9125      350,     0,   351,   352,   353,   354,   355,     0,   356,   357,
9126        0,   358,   359,   360,     0,   361,   362,   363,   364,   365,
9127      366,   367,   368,   369,   370,     0,   371,   372,   373,   374,
9128      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
9129      384,   385,   386,     0,   387,     0,   388,   389,   390,   391,
9130      392,   393,   394,   395,   396,   397,     0,     0,   398,   399,
9131      400,   401,   402,     0,   403,   404,   405,     0,     0,   406,
9132      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
9133      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
9134      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
9135      436,   437,   438,     0,   439,   440,   441,   442,   443,   444,
9136        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
9137      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
9138      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
9139      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
9140      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
9141      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
9142      497,   498,   499,   500,   501,     0,   502,   503,   504,   505,
9143      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
9144      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
9145      933,   525,   526,   527,   528,   529,   530,   531,   532,   533,
9146      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
9147      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
9148        0,   552,   553,   554,   555,   556,   557,   558,     0,   559,
9149      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
9150      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
9151      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
9152      583,   584,   585,   586,     0,   587,   588,   589,   590,   591,
9153      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
9154      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
9155      608,   609,   610,   611,   612,   613,   930,     0,     0,     0,
9156        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9157        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
9158      241,   990,   242,   243,   244,     0,     0,     0,     0,     0,
9159        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
9160      252,   253,   254,   255,   256,   257,   258,   259,   260,     0,
9161      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
9162      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
9163        0,   278,     0,   279,   280,   281,   282,   283,   284,   285,
9164      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
9165        0,   295,   296,   297,   298,     0,     0,   931,   299,     0,
9166        0,   932,   300,   301,   302,   303,   304,   305,   306,   307,
9167      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
9168      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
9169      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
9170      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
9171      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
9172        0,   348,     0,   349,   350,     0,   351,   352,   353,   354,
9173      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
9174      362,   363,   364,   365,   366,   367,   368,   369,   370,     0,
9175      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
9176      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
9177      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
9178        0,     0,   398,   399,   400,   401,   402,     0,   403,   404,
9179      405,     0,     0,   406,   407,   408,   409,   991,   411,   412,
9180      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
9181      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
9182      433,   434,     0,   435,   436,   437,   438,     0,   439,   440,
9183      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
9184      448,   449,     0,     0,   450,   451,   452,   453,   454,   455,
9185      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
9186        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
9187      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
9188      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
9189      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
9190      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
9191      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
9192      521,   522,   523,   524,   933,   525,   526,   527,   528,   529,
9193      530,   531,   532,   533,   534,     0,   535,   536,   537,   538,
9194      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
9195      549,     0,   550,   551,     0,   552,   553,   554,   555,   556,
9196      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
9197      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
9198      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
9199        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
9200      588,   589,   590,   591,   592,     0,     0,   593,     0,     0,
9201      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
9202      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
9203      930,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9204        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
9205      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
9206        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
9207      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
9208      258,   259,   260,     0,   261,   262,   263,   264,   265,   266,
9209      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
9210      274,   275,   276,   277,     0,   278,     0,   279,   280,   281,
9211      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
9212      291,   292,   293,   294,     0,   295,   296,   297,   298,     0,
9213        0,   931,   299,     0,     0,   932,   300,   301,   302,   303,
9214      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
9215      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
9216        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
9217      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
9218      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
9219      344,   345,   346,   347,     0,   348,     0,   349,   350,     0,
9220      351,   352,   353,   354,   355,     0,   356,   357,     0,   358,
9221      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
9222      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
9223      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
9224      386,     0,   387,     0,   388,   389,   390,   391,   392,   393,
9225      394,   395,   396,   397,     0,     0,   398,   399,   400,   401,
9226      402,     0,   403,   404,   405,     0,     0,   406,   407,   408,
9227      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
9228      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
9229      429,   430,   431,   432,   433,   434,     0,   435,   436,   437,
9230      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
9231      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
9232      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
9233      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
9234      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
9235      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
9236      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
9237      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
9238      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
9239      518,   519,     0,   520,   521,   522,   523,   524,   933,   525,
9240      526,   527,   528,   529,   530,   531,   532,   533,   534,     0,
9241      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
9242      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
9243      553,   554,   555,   556,   557,   558,     0,   559,   560,   561,
9244        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
9245      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
9246      577,   578,   579,  2868,     0,   580,   581,   582,   583,   584,
9247      585,   586,     0,   587,   588,   589,   590,   591,   592,     0,
9248        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
9249      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
9250      610,   611,   612,   613,   930,     0,     0,     0,     0,     0,
9251        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9252        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
9253      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
9254      245,   246,   247,     0,   248,   249,   250,   251,   252,   253,
9255      254,   255,   256,   257,   258,   259,   260,     0,   261,   262,
9256      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
9257      271,   272,     0,   273,   274,   275,   276,   277,     0,   278,
9258        0,   279,   280,   281,   282,   283,   284,   285,   286,   287,
9259      288,     0,   289,   290,   291,   292,   293,   294,     0,   295,
9260      296,   297,   298,     0,     0,   931,   299,     0,     0,   932,
9261      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
9262      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
9263      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
9264      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
9265      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
9266        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
9267        0,   349,   350,     0,   351,   352,   353,   354,   355,     0,
9268      356,   357,  3840,   358,   359,   360,     0,   361,   362,   363,
9269      364,   365,   366,   367,   368,   369,   370,     0,   371,   372,
9270      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
9271      382,   383,   384,   385,   386,     0,   387,     0,   388,   389,
9272      390,   391,   392,   393,   394,   395,   396,   397,     0,     0,
9273      398,   399,   400,   401,   402,     0,   403,   404,   405,     0,
9274        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
9275      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
9276      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
9277        0,   435,   436,   437,   438,     0,   439,   440,   441,   442,
9278      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
9279        0,     0,   450,   451,   452,   453,   454,   455,   456,   457,
9280      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
9281      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
9282      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
9283      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
9284      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
9285      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
9286      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
9287      523,   524,   933,   525,   526,   527,   528,   529,   530,   531,
9288      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
9289      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
9290      550,   551,     0,   552,   553,   554,   555,   556,   557,   558,
9291        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
9292      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
9293        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
9294      581,   582,   583,   584,   585,   586,     0,   587,   588,   589,
9295      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
9296      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
9297      606,   607,   608,   609,   610,   611,   612,   613,   930,     0,
9298        0,   680,     0,     0,     0,     0,     0,     0,     0,     0,
9299        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
9300      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
9301        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
9302      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
9303      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
9304        0,   268,   269,   270,   271,   272,     0,   273,   274,   275,
9305      276,   277,     0,   278,     0,   279,   280,   281,   282,   283,
9306      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
9307      293,   294,     0,   295,   296,   297,   298,     0,     0,     0,
9308      299,     0,     0,     0,   300,   301,   302,   303,   304,   305,
9309      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
9310      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
9311      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
9312      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
9313      338,   339,   340,   341,  1764,   342,     0,   343,   344,   345,
9314      346,   347,     0,   348,     0,   349,   350,     0,   351,   352,
9315      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
9316        0,   361,   362,   363,   364,   365,   366,   367,   368,   369,
9317      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
9318      378,   379,   380,   381,   382,   383,   384,   385,   386,     0,
9319      387,     0,   388,   389,   390,   391,   392,   393,   394,   395,
9320      396,   397,     0,     0,   398,   399,   400,   401,   402,     0,
9321      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
9322      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
9323      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
9324      431,   432,   433,   434,     0,   435,   436,   437,   438,     0,
9325      439,   440,   441,   442,   443,   444,     0,   445,   446,  1765,
9326        0,   447,   448,   449,     0,     0,   450,   451,   452,   453,
9327      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
9328      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
9329      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
9330      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
9331      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
9332      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
9333      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
9334        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
9335      528,   529,   530,   531,   532,   533,   534,     0,   535,   536,
9336      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
9337      547,   548,   549,     0,   550,   551,     0,   552,   553,   554,
9338      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
9339      562,   563,   564,   565,   566,  1766,   567,   568,   569,   570,
9340      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
9341      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
9342        0,   587,   588,   589,   590,   591,   592,     0,     0,   593,
9343        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
9344      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
9345      612,   613,   930,     0,     0,     0,     0,     0,     0,     0,
9346        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
9347      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
9348      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
9349      247,     0,   248,   249,   250,   251,   252,   253,   254,   255,
9350      256,   257,   258,   259,   260,     0,   261,   262,   263,   264,
9351      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
9352        0,   273,   274,   275,   276,   277,     0,   278,     0,   279,
9353      280,   281,   282,   283,   284,   285,   286,   287,   288,     0,
9354      289,   290,   291,   292,   293,   294,     0,   295,   296,   297,
9355      298,     0,     0,   931,   299,     0,     0,   932,   300,   301,
9356      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
9357      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
9358      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
9359      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
9360      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
9361        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
9362      350,     0,   351,   352,   353,   354,   355,     0,   356,   357,
9363        0,   358,   359,   360,     0,   361,   362,   363,   364,   365,
9364      366,   367,   368,   369,   370,     0,   371,   372,   373,   374,
9365      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
9366      384,   385,   386,     0,   387,     0,   388,   389,   390,   391,
9367      392,   393,   394,   395,   396,   397,     0,     0,   398,   399,
9368      400,   401,   402,     0,   403,   404,   405,     0,     0,   406,
9369      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
9370      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
9371      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
9372      436,   437,   438,     0,   439,   440,   441,   442,   443,   444,
9373        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
9374      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
9375      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
9376      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
9377      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
9378      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
9379      497,   498,   499,   500,   501,     0,   502,   503,   504,   505,
9380      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
9381      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
9382      933,   525,   526,   527,   528,   529,   530,   531,   532,   533,
9383      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
9384      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
9385        0,   552,   553,   554,   555,   556,   557,   558,     0,   559,
9386      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
9387      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
9388      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
9389      583,   584,   585,   586,     0,   587,   588,   589,   590,   591,
9390      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
9391      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
9392      608,   609,   610,   611,   612,   613,   930,     0,     0,     0,
9393        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9394        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
9395      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
9396        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
9397      252,   253,   254,   255,   256,   257,   258,   259,   260,     0,
9398      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
9399      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
9400        0,   278,     0,   279,   280,   281,   282,   283,   284,   285,
9401      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
9402        0,   295,   296,   297,   298,     0,     0,   931,   299,     0,
9403        0,   932,   300,   301,   302,   303,   304,   305,   306,   307,
9404      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
9405      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
9406      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
9407      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
9408      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
9409        0,   348,     0,   349,   350,     0,   351,   352,   353,   354,
9410      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
9411      362,   363,   364,   365,   366,   367,   368,   369,   370,     0,
9412      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
9413      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
9414      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
9415        0,     0,   398,   399,   400,   401,   402,     0,   403,   404,
9416      405,     0,     0,   406,   407,   408,   409,  1082,   411,   412,
9417      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
9418      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
9419      433,   434,     0,   435,   436,   437,   438,     0,   439,   440,
9420      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
9421      448,   449,     0,     0,   450,   451,   452,   453,   454,   455,
9422      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
9423        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
9424      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
9425      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
9426      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
9427      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
9428      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
9429      521,   522,   523,   524,   933,   525,   526,   527,   528,   529,
9430      530,   531,   532,   533,   534,     0,   535,   536,   537,   538,
9431      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
9432      549,     0,   550,   551,     0,   552,   553,   554,   555,   556,
9433      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
9434      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
9435      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
9436        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
9437      588,   589,   590,   591,   592,     0,     0,   593,     0,     0,
9438      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
9439      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
9440      930,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9441        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
9442      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
9443        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
9444      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
9445      258,   259,   260,     0,   261,   262,   263,   264,   265,   266,
9446      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
9447      274,   275,   276,   277,     0,   278,     0,   279,   280,   281,
9448      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
9449      291,   292,   293,   294,     0,   295,   296,   297,   298,     0,
9450        0,   931,   299,     0,     0,   932,   300,   301,   302,   303,
9451      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
9452      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
9453        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
9454      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
9455      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
9456      344,   345,   346,   347,     0,   348,     0,   349,   350,     0,
9457      351,   352,   353,   354,   355,     0,   356,   357,     0,   358,
9458      359,   360,     0,   361,   362,   363,   364,  1124,   366,   367,
9459      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
9460      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
9461      386,     0,   387,     0,   388,   389,   390,   391,   392,   393,
9462      394,   395,   396,   397,     0,     0,   398,   399,   400,   401,
9463      402,     0,   403,   404,   405,     0,     0,   406,   407,   408,
9464      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
9465      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
9466      429,   430,   431,   432,   433,   434,     0,   435,   436,   437,
9467      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
9468      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
9469      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
9470      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
9471      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
9472      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
9473      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
9474      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
9475      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
9476      518,   519,     0,   520,   521,   522,   523,   524,   933,   525,
9477      526,   527,   528,   529,   530,   531,   532,   533,   534,     0,
9478      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
9479      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
9480      553,   554,   555,   556,   557,   558,     0,   559,   560,   561,
9481        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
9482      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
9483      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
9484      585,   586,     0,   587,   588,   589,   590,   591,   592,     0,
9485        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
9486      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
9487      610,   611,   612,   613,   930,     0,     0,     0,     0,     0,
9488        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9489        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
9490      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
9491      245,   246,   247,     0,   248,   249,   250,   251,   252,   253,
9492      254,   255,   256,   257,   258,   259,   260,     0,   261,   262,
9493      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
9494      271,   272,     0,   273,   274,   275,   276,   277,     0,   278,
9495        0,   279,   280,   281,   282,   283,   284,   285,   286,   287,
9496      288,     0,   289,   290,   291,   292,   293,   294,     0,   295,
9497      296,   297,   298,     0,     0,   931,   299,     0,     0,   932,
9498      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
9499      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
9500      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
9501      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
9502      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
9503        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
9504        0,   349,   350,     0,   351,   352,   353,   354,   355,     0,
9505      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
9506      364,  1137,   366,   367,   368,   369,   370,     0,   371,   372,
9507      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
9508      382,   383,   384,   385,   386,     0,   387,     0,   388,   389,
9509      390,   391,   392,   393,   394,   395,   396,   397,     0,     0,
9510      398,   399,   400,   401,   402,     0,   403,   404,   405,     0,
9511        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
9512      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
9513      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
9514        0,   435,   436,   437,   438,     0,   439,   440,   441,   442,
9515      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
9516        0,     0,   450,   451,   452,   453,   454,   455,   456,   457,
9517      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
9518      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
9519      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
9520      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
9521      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
9522      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
9523      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
9524      523,   524,   933,   525,   526,   527,   528,   529,   530,   531,
9525      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
9526      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
9527      550,   551,     0,   552,   553,   554,   555,   556,   557,   558,
9528        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
9529      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
9530        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
9531      581,   582,   583,   584,   585,   586,     0,   587,   588,   589,
9532      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
9533      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
9534      606,   607,   608,   609,   610,   611,   612,   613,   930,     0,
9535        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9536        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
9537      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
9538        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
9539      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
9540      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
9541        0,   268,   269,   270,   271,   272,     0,   273,   274,   275,
9542      276,   277,     0,   278,     0,   279,   280,   281,   282,   283,
9543      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
9544      293,   294,     0,   295,   296,   297,   298,     0,     0,   931,
9545      299,     0,     0,   932,   300,   301,   302,   303,   304,   305,
9546      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
9547      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
9548      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
9549      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
9550      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
9551      346,   347,     0,   348,     0,   349,   350,     0,   351,   352,
9552      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
9553        0,   361,   362,   363,   364,  1149,   366,   367,   368,   369,
9554      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
9555      378,   379,   380,   381,   382,   383,   384,   385,   386,     0,
9556      387,     0,   388,   389,   390,   391,   392,   393,   394,   395,
9557      396,   397,     0,     0,   398,   399,   400,   401,   402,     0,
9558      403,   404,   405,     0,     0,   406,   407,   408,   409,  1150,
9559      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
9560      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
9561      431,   432,   433,   434,     0,   435,   436,   437,   438,     0,
9562      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
9563        0,   447,   448,   449,     0,     0,   450,   451,   452,   453,
9564      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
9565      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
9566      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
9567      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
9568      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
9569      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
9570      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
9571        0,   520,   521,   522,   523,   524,   933,   525,   526,   527,
9572      528,   529,   530,   531,   532,   533,   534,     0,   535,   536,
9573      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
9574      547,   548,   549,     0,   550,   551,     0,   552,   553,   554,
9575      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
9576      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
9577      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
9578      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
9579        0,   587,   588,   589,   590,   591,   592,     0,     0,   593,
9580        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
9581      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
9582      612,   613,   930,     0,     0,     0,     0,     0,     0,     0,
9583        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
9584      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
9585      244,     3,     4,     0,     0,     0,     0,     0,   245,   246,
9586      247,     0,   248,   249,   250,   251,   252,   253,   254,   255,
9587      256,   257,   258,   259,   260,     0,   261,   262,   263,   264,
9588      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
9589        0,   273,   274,   275,   276,   277,     0,   278,     0,   279,
9590      280,   281,   282,   283,   284,   285,   286,   287,   288,     0,
9591      289,   290,   291,   292,   293,   294,     0,   295,   296,   297,
9592      298,     0,     0,     0,   299,     0,     0,     0,   300,   301,
9593      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
9594      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
9595      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
9596      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
9597      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
9598        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
9599      350,     0,   351,   352,   353,   354,   355,     0,   356,   357,
9600        0,   358,   359,   360,     0,   361,   362,   363,   364,   365,
9601      366,   367,   368,   369,   370,     0,   371,   372,   373,   374,
9602      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
9603      384,   385,   386,     0,   387,     0,   388,   389,   390,   391,
9604      392,   393,   394,   395,   396,   397,     0,     0,   398,   399,
9605      400,   401,   402,     0,   403,   404,   405,     0,     0,   406,
9606      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
9607      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
9608      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
9609      436,   437,   438,     0,   439,   440,   441,   442,   443,   444,
9610        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
9611      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
9612      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
9613      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
9614      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
9615      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
9616      497,   498,   499,   500,   501,     0,   502,   503,   504,   505,
9617      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
9618      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
9619        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
9620      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
9621      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
9622        0,   552,   553,   554,   555,   556,   557,   558,     0,   559,
9623      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
9624      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
9625      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
9626      583,   584,   585,   586,     0,   587,   588,   589,   590,   591,
9627      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
9628      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
9629      608,   609,   610,   611,   612,   613,   930,     0,     0,   680,
9630        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9631        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
9632      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
9633        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
9634      252,   253,   254,   255,   256,   257,   258,   259,   260,     0,
9635      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
9636      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
9637        0,   278,     0,   279,   280,   281,   282,   283,   284,   285,
9638      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
9639        0,   295,   296,   297,   298,     0,     0,     0,   299,     0,
9640        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
9641      308,  2488,   309,     0,   310,   311,   312,   313,   314,   315,
9642      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
9643      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
9644      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
9645      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
9646        0,   348,     0,   349,   350,     0,   351,   352,   353,   354,
9647      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
9648      362,   363,   364,   365,   366,   367,   368,   369,   370,     0,
9649      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
9650      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
9651      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
9652        0,     0,   398,   399,   400,   401,   402,     0,   403,   404,
9653      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
9654      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
9655      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
9656      433,   434,     0,   435,   436,   437,   438,     0,   439,   440,
9657      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
9658      448,   449,     0,     0,   450,   451,   452,   453,   454,   455,
9659      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
9660        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
9661      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
9662      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
9663      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
9664      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
9665      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
9666      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
9667      530,   531,   532,   533,   534,     0,   535,   536,   537,   538,
9668      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
9669      549,     0,   550,   551,     0,   552,   553,   554,   555,   556,
9670      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
9671      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
9672      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
9673        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
9674      588,   589,   590,   591,   592,     0,     0,   593,     0,     0,
9675      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
9676      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
9677      930,     0,     0,   680,     0,     0,     0,     0,     0,     0,
9678        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
9679      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
9680        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
9681      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
9682      258,   259,   260,     0,   261,   262,   263,   264,   265,   266,
9683      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
9684      274,   275,   276,   277,     0,   278,     0,   279,   280,   281,
9685      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
9686      291,   292,   293,   294,     0,   295,   296,   297,   298,     0,
9687        0,     0,   299,     0,     0,     0,   300,   301,   302,   303,
9688      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
9689      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
9690        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
9691      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
9692      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
9693      344,   345,   346,   347,     0,   348,     0,   349,   350,     0,
9694      351,   352,   353,   354,   355,     0,   356,   357,     0,   358,
9695      359,   360,     0,   361,   362,   363,   364,   365,   366,   367,
9696      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
9697      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
9698      386,     0,   387,     0,   388,   389,   390,   391,   392,   393,
9699      394,   395,   396,   397,     0,     0,   398,   399,   400,   401,
9700      402,     0,   403,   404,   405,     0,     0,   406,   407,   408,
9701      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
9702      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
9703      429,   430,   431,   432,   433,   434,     0,   435,   436,   437,
9704      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
9705      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
9706      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
9707      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
9708      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
9709      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
9710      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
9711      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
9712      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
9713      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
9714      526,   527,   528,   529,   530,   531,   532,   533,   534,     0,
9715      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
9716      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
9717      553,   554,   555,   556,   557,   558,     0,   559,   560,   561,
9718        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
9719      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
9720      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
9721      585,   586,     0,   587,   588,   589,   590,   591,   592,     0,
9722        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
9723      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
9724      610,   611,   612,   613,   233,     0,     0,     0,     0,     0,
9725        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9726        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
9727      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
9728      245,   246,   247,     0,   248,   249,   250,   251,   252,   253,
9729      254,   255,   256,   257,   258,   259,   260,     0,   261,   262,
9730      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
9731      271,   272,     0,   273,   274,   275,   276,   277,     0,   278,
9732        0,   279,   280,   281,   282,   283,   284,   285,   286,   287,
9733      288,     0,   289,   290,   291,   292,   293,   294,     0,   295,
9734      296,   297,   298,     0,     0,     0,   299,     0,     0,     0,
9735      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
9736      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
9737      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
9738      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
9739      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
9740        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
9741        0,   349,   350,     0,   351,   352,   353,   354,   355,     0,
9742      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
9743      364,   365,   366,   367,   368,   369,   370,     0,   371,   372,
9744      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
9745      382,   383,   384,   385,   386,     0,   387,     0,   388,   389,
9746      390,   391,   392,   393,   394,   395,   396,   397,     0,     0,
9747      398,   399,   400,   401,   402,     0,   403,   404,   405,     0,
9748        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
9749      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
9750      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
9751        0,   435,   436,   437,   438,     0,   439,   440,   441,   442,
9752      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
9753        0,     0,   450,   451,   452,   453,   454,   455,   456,   457,
9754      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
9755      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
9756      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
9757      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
9758      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
9759      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
9760      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
9761      523,   524,     0,   525,   526,   527,   528,   529,   530,   531,
9762      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
9763      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
9764      550,   551,     0,   552,   553,   554,   555,   556,   557,   558,
9765        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
9766      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
9767        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
9768      581,   582,   583,   584,   585,   586,     0,   587,   588,   589,
9769      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
9770      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
9771      606,   607,   608,   609,   610,   611,   612,   613,   233,     0,
9772        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9773        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
9774      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
9775        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
9776      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
9777      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
9778        0,   268,   269,   270,   271,   272,     0,   273,   274,   275,
9779      276,   277,     0,   278,     0,   279,   280,   281,   282,   283,
9780      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
9781      293,   294,     0,   295,   296,   297,   298,     0,     0,     0,
9782      299,     0,     0,     0,   300,   301,   302,   303,   304,   305,
9783      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
9784      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
9785      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
9786      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
9787      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
9788      346,   347,     0,   348,     0,   349,   350,     0,   351,   352,
9789      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
9790        0,   361,   362,   363,   364,  1108,   366,   367,   368,   369,
9791      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
9792      378,   379,   380,   381,   382,   383,   384,   385,   386,     0,
9793      387,     0,   388,   389,   390,   391,   392,   393,   394,   395,
9794      396,   397,     0,     0,   398,   399,   400,   401,   402,     0,
9795      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
9796      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
9797      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
9798      431,   432,   433,   434,     0,   435,   436,   437,   438,     0,
9799      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
9800        0,   447,   448,   449,     0,     0,   450,   451,   452,   453,
9801      454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
9802      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
9803      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
9804      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
9805      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
9806      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
9807      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
9808        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
9809      528,   529,   530,   531,   532,   533,   534,     0,   535,   536,
9810      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
9811      547,   548,   549,     0,   550,   551,     0,   552,   553,   554,
9812      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
9813      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
9814      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
9815      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
9816        0,   587,   588,   589,   590,   591,   592,     0,     0,   593,
9817        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
9818      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
9819      612,   613,   233,     0,     0,     0,     0,     0,     0,     0,
9820        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
9821      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
9822      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
9823      247,     0,   248,   249,   250,   251,   252,   253,   254,   255,
9824      256,   257,   258,   259,   260,     0,   261,   262,   263,   264,
9825      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
9826        0,   273,   274,   275,   276,   277,     0,   278,     0,   279,
9827      280,   281,   282,   283,   284,   285,   286,   287,   288,     0,
9828      289,   290,   291,   292,   293,   294,     0,   295,   296,   297,
9829      298,     0,     0,     0,   299,     0,     0,     0,   300,   301,
9830      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
9831      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
9832      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
9833      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
9834      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
9835        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
9836      350,     0,   351,   352,   353,   354,   355,     0,   356,   357,
9837        0,   358,   359,   360,     0,   361,   362,   363,   364,  1121,
9838      366,   367,   368,   369,   370,     0,   371,   372,   373,   374,
9839      375,   376,   377,     0,   378,   379,   380,   381,   382,   383,
9840      384,   385,   386,     0,   387,     0,   388,   389,   390,   391,
9841      392,   393,   394,   395,   396,   397,     0,     0,   398,   399,
9842      400,   401,   402,     0,   403,   404,   405,     0,     0,   406,
9843      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
9844      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
9845      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
9846      436,   437,   438,     0,   439,   440,   441,   442,   443,   444,
9847        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
9848      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
9849      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
9850      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
9851      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
9852      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
9853      497,   498,   499,   500,   501,     0,   502,   503,   504,   505,
9854      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
9855      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
9856        0,   525,   526,   527,   528,   529,   530,   531,   532,   533,
9857      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
9858      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
9859        0,   552,   553,   554,   555,   556,   557,   558,     0,   559,
9860      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
9861      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
9862      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
9863      583,   584,   585,   586,     0,   587,   588,   589,   590,   591,
9864      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
9865      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
9866      608,   609,   610,   611,   612,   613,   233,     0,     0,     0,
9867        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9868        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
9869      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
9870        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
9871      252,   253,   254,   255,   256,   257,   258,   259,   260,     0,
9872      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
9873      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
9874        0,   278,     0,   279,   280,   281,   282,   283,   284,   285,
9875      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
9876        0,   295,   296,   297,   298,     0,     0,     0,   299,     0,
9877        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
9878      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
9879      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
9880      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
9881      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
9882      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
9883        0,   348,     0,   349,   350,     0,   351,   352,   353,   354,
9884      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
9885      362,   363,   364,  1135,   366,   367,   368,   369,   370,     0,
9886      371,   372,   373,   374,   375,   376,   377,     0,   378,   379,
9887      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
9888      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
9889        0,     0,   398,   399,   400,   401,   402,     0,   403,   404,
9890      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
9891      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
9892      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
9893      433,   434,     0,   435,   436,   437,   438,     0,   439,   440,
9894      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
9895      448,   449,     0,     0,   450,   451,   452,   453,   454,   455,
9896      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
9897        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
9898      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
9899      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
9900      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
9901      502,   503,   504,   505,   506,   507,   508,   509,   510,   511,
9902      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
9903      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
9904      530,   531,   532,   533,   534,     0,   535,   536,   537,   538,
9905      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
9906      549,     0,   550,   551,     0,   552,   553,   554,   555,   556,
9907      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
9908      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
9909      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
9910        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
9911      588,   589,   590,   591,   592,     0,     0,   593,     0,     0,
9912      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
9913      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
9914      233,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9915        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
9916      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
9917        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
9918      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
9919      258,   259,   260,     0,   261,   262,   263,   264,   265,   266,
9920      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
9921      274,   275,   276,   277,     0,   278,     0,   279,   280,   281,
9922      282,   283,   284,   285,   286,   287,   288,     0,   289,   290,
9923      291,   292,   293,   294,     0,   295,   296,   297,   298,     0,
9924        0,     0,   299,     0,     0,     0,   300,   301,   302,   303,
9925      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
9926      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
9927        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
9928      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
9929      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
9930      344,   345,   346,   347,     0,   348,     0,   349,   350,     0,
9931      351,   352,   353,   354,   355,     0,   356,   357,     0,   358,
9932      359,   360,     0,   361,   362,   363,   364,  1139,   366,   367,
9933      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
9934      377,     0,   378,   379,   380,   381,   382,   383,   384,   385,
9935      386,     0,   387,     0,   388,   389,   390,   391,   392,   393,
9936      394,   395,   396,   397,     0,     0,   398,   399,   400,   401,
9937      402,     0,   403,   404,   405,     0,     0,   406,   407,   408,
9938      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
9939      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
9940      429,   430,   431,   432,   433,   434,     0,   435,   436,   437,
9941      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
9942      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
9943      452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
9944      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
9945      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
9946      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
9947      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
9948      499,   500,   501,     0,   502,   503,   504,   505,   506,   507,
9949      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
9950      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
9951      526,   527,   528,   529,   530,   531,   532,   533,   534,     0,
9952      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
9953      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
9954      553,   554,   555,   556,   557,   558,     0,   559,   560,   561,
9955        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
9956      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
9957      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
9958      585,   586,     0,   587,   588,   589,   590,   591,   592,     0,
9959        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
9960      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
9961      610,   611,   612,   613,   930,     0,     0,     0,     0,     0,
9962        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
9963        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
9964      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
9965      245,   246,   247,     0,   248,   249,   250,   251,   252,   253,
9966      254,   255,   256,   257,   258,   259,   260,     0,   261,   262,
9967      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
9968      271,   272,     0,   273,   274,   275,   276,   277,     0,   278,
9969        0,   279,   280,   281,   282,   283,   284,   285,   286,   287,
9970      288,     0,   289,   290,   291,   292,   293,   294,     0,   295,
9971      296,   297,   298,     0,     0,     0,   299,     0,     0,     0,
9972      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
9973      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
9974      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
9975      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
9976      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
9977        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
9978        0,   349,   350,     0,   351,   352,   353,   354,   355,     0,
9979      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
9980      364,   365,   366,   367,   368,   369,   370,     0,   371,   372,
9981      373,   374,   375,   376,   377,     0,   378,   379,   380,   381,
9982      382,   383,   384,   385,   386,     0,   387,     0,   388,   389,
9983      390,   391,   392,   393,   394,   395,   396,   397,     0,     0,
9984      398,   399,   400,   401,   402,     0,   403,   404,   405,     0,
9985        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
9986      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
9987      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
9988        0,   435,   436,   437,   438,     0,   439,   440,   441,   442,
9989      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
9990        0,     0,   450,   451,   452,   453,   454,   455,   456,   457,
9991      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
9992      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
9993      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
9994      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
9995      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
9996      504,   505,   506,   507,   508,   509,   510,   511,   512,   513,
9997      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
9998      523,   524,     0,   525,   526,   527,   528,   529,   530,   531,
9999      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
10000      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
10001      550,   551,     0,   552,   553,   554,   555,   556,   557,   558,
10002        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
10003      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
10004        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
10005      581,   582,   583,   584,   585,   586,     0,   587,   588,   589,
10006      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
10007      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
10008      606,   607,   608,   609,   610,   611,   612,   613,   621,     0,
10009        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10010        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
10011      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
10012        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
10013      250,   251,     0,   253,   254,   255,   256,   257,     0,   259,
10014      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
10015        0,   268,   269,   270,   271,   272,  2649,   273,   274,   275,
10016      276,   277,     0,     0,  2718,   279,   280,   281,   282,   283,
10017      284,     0,   286,   287,   288,  2650,   289,   290,   291,   292,
10018      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
10019        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
10020      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
10021      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
10022      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
10023      329,   330,   331,     0,  2719,   333,   334,   335,   336,   337,
10024      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
10025      346,   347,     0,   348,  2652,   349,     0,     0,     0,   352,
10026      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
10027        0,   361,   362,   363,   364,  2720,     0,   367,   368,   369,
10028      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
10029      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
10030      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
10031      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
10032      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
10033      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
10034      421,   422,     0,   424,   425,   426,   427,   428,   429,   430,
10035      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
10036      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
10037        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
10038      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
10039      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
10040      473,  2653,   474,   475,   476,   477,   478,   479,   480,   481,
10041      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
10042      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
10043      501,     0,   502,   503,     0,   505,   506,   507,   508,   509,
10044      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
10045        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
10046      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
10047      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
10048      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
10049      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
10050      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
10051      571,   572,   573,   574,     0,  2654,   575,   576,   577,   578,
10052      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
10053        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
10054        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
10055      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
10056      612,   613,   621,     0,     0,     0,     0,     0,     0,     0,
10057        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
10058      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
10059      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
10060      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
10061      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
10062      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
10063     2649,   273,   274,   275,   276,   277,     0,     0,     0,   279,
10064      280,   281,   282,   283,   284,     0,   286,   287,   288,  2650,
10065      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
10066      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
10067      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
10068      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
10069      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
10070      326,   327,   328,     0,   329,   330,   331,     0,  2719,   333,
10071      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
10072        0,   343,   344,   345,   346,   347,     0,   348,  2652,   349,
10073        0,     0,     0,   352,   353,   354,   355,     0,   356,   357,
10074        0,   358,   359,   360,     0,   361,   362,   363,   364,   365,
10075        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
10076      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
10077      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
10078        0,   393,   394,   395,   396,   397,     0,     0,   398,   399,
10079        0,   401,  3704,     0,   403,   404,   405,     0,     0,   406,
10080      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
10081      417,   418,   419,   420,   421,   422,     0,   424,   425,   426,
10082      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
10083      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
10084        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
10085      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
10086      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
10087      469,   470,   471,   472,   473,  2653,   474,   475,   476,   477,
10088      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
10089      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
10090      497,   498,   499,   500,   501,     0,   502,   503,     0,   505,
10091      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
10092      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
10093        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
10094      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
10095      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
10096        0,   552,     0,   554,   555,   556,   557,   558,     0,   559,
10097      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
10098      567,   568,   569,   570,   571,   572,   573,   574,     0,  2654,
10099      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
10100      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
10101      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
10102      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
10103      608,   609,   610,   611,   612,   613,   621,     0,     0,     0,
10104        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10105        0,     0,     0,   234,   235,   236,   237,   238,   797,   240,
10106      241,   759,   242,   243,   244,     0,     0,     0,     0,     0,
10107        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
10108        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
10109      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
10110      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
10111        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
10112      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
10113      760,     0,   296,   297,   298,     0,     0,     0,     0,     0,
10114        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
10115      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
10116      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
10117      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
10118      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
10119      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
10120        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
10121      355,   798,   356,   357,     0,   358,   359,   360,     0,   361,
10122      362,   363,   364,   365,     0,   367,   368,   369,   370,     0,
10123      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
10124      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
10125      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
10126        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
10127      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
10128      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
10129        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
10130      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
10131      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
10132      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
10133      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
10134        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
10135      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
10136      484,   485,   486,   487,   488,   761,   489,   490,   491,   492,
10137      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
10138      502,   503,     0,   505,   506,   507,   508,   509,   510,   511,
10139      512,   513,   514,   515,   516,   517,   518,   519,   762,   520,
10140      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
10141        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
10142      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
10143      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
10144      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
10145      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
10146      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
10147        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
10148        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
10149      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
10150      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
10151      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10152        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
10153      237,   238,   239,   240,   241,   759,   242,   243,   244,     0,
10154        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
10155      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
10156        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
10157      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
10158      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
10159      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
10160      291,   292,   293,   294,   760,     0,   296,   297,   298,     0,
10161        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
10162      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
10163      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
10164        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
10165      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
10166      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
10167      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
10168        0,   352,   353,   354,   355,  3397,   356,   357,     0,   358,
10169      359,   360,     0,   361,   362,   363,   364,   365,     0,   367,
10170      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
10171      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
10172      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
10173      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
10174        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
10175      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
10176      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
10177      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
10178      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
10179      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
10180      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
10181      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
10182      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
10183      480,   481,   482,   483,   484,   485,   486,   487,   488,   761,
10184      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
10185      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
10186      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
10187      518,   519,   762,   520,   521,   522,   523,   524,     0,   525,
10188      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
10189      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
10190      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
10191        0,   554,   555,   556,   557,   558,     0,   559,   560,   561,
10192        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
10193      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
10194      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
10195      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
10196        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
10197      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
10198      610,   611,   612,   613,   621,     0,     0,     0,     0,     0,
10199        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10200        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
10201      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
10202      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
10203      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
10204      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
10205      271,   272,  2649,   273,   274,   275,   276,   277,     0,     0,
10206        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
10207      288,  2650,   289,   290,   291,   292,   293,   294,     0,     0,
10208      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
10209      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
10210      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
10211      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
10212      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
10213     2719,   333,   334,   335,   336,   337,   338,   339,   340,   341,
10214        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
10215     2652,   349,     0,     0,     0,   352,   353,   354,   355,     0,
10216      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
10217      364,   365,     0,   367,   368,   369,   370,     0,   371,   372,
10218      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
10219      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
10220        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
10221      398,   399,     0,   401,     0,     0,   403,   404,   405,     0,
10222        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
10223      415,   416,   417,   418,   419,   420,   421,   422,     0,   424,
10224      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
10225        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
10226      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
10227        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
10228      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
10229      467,   468,   469,   470,   471,   472,   473,  2653,   474,   475,
10230      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
10231      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
10232      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
10233        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
10234      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
10235      523,   524,     0,   525,   526,   527,   528,   529,     0,   531,
10236      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
10237      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
10238      550,   551,     0,   552,     0,   554,   555,   556,   557,   558,
10239        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
10240      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
10241        0,  2654,   575,   576,   577,   578,   579,     0,     0,   580,
10242      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
10243      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
10244      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
10245      606,   607,   608,   609,   610,   611,   612,   613,   621,     0,
10246        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10247        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
10248      239,   240,   241,   759,   242,   243,   244,     0,     0,     0,
10249        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
10250      250,   251,     0,   253,   254,   255,   256,   257,     0,   259,
10251      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
10252        0,   268,   269,   270,   271,   272,     0,   273,   274,   275,
10253      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
10254      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
10255      293,   294,   760,     0,   296,   297,   298,     0,     0,     0,
10256        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
10257      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
10258      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
10259      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
10260      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
10261      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
10262      346,   347,     0,   348,     0,   349,     0,     0,     0,   352,
10263      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
10264        0,   361,   362,   363,   364,   365,     0,   367,   368,   369,
10265      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
10266      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
10267      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
10268      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
10269      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
10270      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
10271      421,   422,     0,   424,   425,   426,   427,   428,   429,   430,
10272      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
10273      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
10274        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
10275      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
10276      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
10277      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
10278      482,   483,   484,   485,   486,   487,   488,   761,   489,   490,
10279      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
10280      501,     0,   502,   503,     0,   505,   506,   507,   508,   509,
10281      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
10282      762,   520,   521,   522,   523,   524,     0,   525,   526,   527,
10283      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
10284      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
10285      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
10286      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
10287      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
10288      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
10289      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
10290        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
10291        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
10292      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
10293      612,   613,   621,     0,     0,     0,     0,     0,     0,     0,
10294        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
10295      235,   236,   237,   238,   239,   240,   241,  1941,   242,   243,
10296      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
10297      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
10298      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
10299      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
10300        0,   273,   274,   275,   276,   277,     0,     0,     0,   279,
10301      280,   281,   282,   283,   284,     0,   286,   287,   288,     0,
10302      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
10303      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
10304      302,  1942,   304,   305,   306,   307,   308,     0,   309,     0,
10305      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
10306      319,   320,     0,     0,   321,  1943,   323,   324,   325,     0,
10307      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
10308      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
10309        0,   343,   344,   345,   346,   347,     0,   348,  1944,   349,
10310        0,     0,     0,  1945,   353,   354,   355,     0,   356,   357,
10311        0,   358,   359,   360,     0,   361,   362,   363,   364,   365,
10312        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
10313      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
10314      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
10315        0,   393,   394,  1946,  1947,   397,     0,     0,   398,   399,
10316        0,   401,     0,     0,   403,   404,   405,     0,     0,   406,
10317      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
10318      417,   418,   419,   420,   421,   422,     0,   424,   425,   426,
10319      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
10320      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
10321        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
10322      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
10323      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
10324      469,   470,   471,   472,   473,     0,   474,   475,   476,  1948,
10325      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
10326      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
10327      497,   498,   499,   500,   501,     0,   502,   503,     0,   505,
10328      506,   507,  1949,   509,   510,   511,   512,   513,  1950,   515,
10329      516,   517,   518,   519,     0,  1951,   521,   522,   523,   524,
10330        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
10331      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
10332      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
10333     1952,   552,     0,  1953,   555,   556,   557,   558,     0,   559,
10334      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
10335      567,   568,  1954,   570,   571,   572,   573,   574,     0,     0,
10336      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
10337      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
10338      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
10339      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
10340      608,   609,   610,   611,   612,   613,   621,     0,     0,     0,
10341        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10342        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
10343      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
10344        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
10345        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
10346      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
10347      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
10348        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
10349      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
10350      760,     0,   296,   297,   298,     0,     0,     0,     0,     0,
10351        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
10352      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
10353      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
10354      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
10355      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
10356      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
10357        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
10358      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
10359      362,   363,   364,   365,     0,   367,   368,   369,   370,     0,
10360      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
10361      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
10362      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
10363        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
10364      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
10365      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
10366        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
10367      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
10368      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
10369      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
10370      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
10371        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
10372      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
10373      484,   485,   486,   487,   488,   761,   489,   490,   491,   492,
10374      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
10375      502,   503,     0,   505,   506,   507,   508,   509,   510,   511,
10376      512,   513,   514,   515,   516,   517,   518,   519,   762,   520,
10377      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
10378        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
10379      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
10380      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
10381      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
10382      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
10383      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
10384        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
10385        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
10386      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
10387      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
10388      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10389        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
10390      237,   238,   239,   240,   241,   983,   242,   243,   244,     0,
10391        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
10392      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
10393        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
10394      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
10395      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
10396      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
10397      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
10398        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
10399      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
10400      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
10401        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
10402      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
10403      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
10404      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
10405        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
10406      359,   360,     0,   361,   362,   363,   364,   984,     0,   367,
10407      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
10408      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
10409      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
10410      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
10411        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
10412      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
10413      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
10414      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
10415      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
10416      446,     0,   829,   447,   448,   449,     0,     0,   450,   451,
10417      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
10418      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
10419      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
10420      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
10421      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
10422      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
10423      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
10424      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
10425      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
10426      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
10427      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
10428        0,   554,   555,   556,   557,   558,     0,   559,   560,   561,
10429        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
10430      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
10431      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
10432      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
10433        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
10434      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
10435      610,   611,   612,   613,   621,     0,     0,     0,     0,     0,
10436        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10437        0,   234,   235,   236,   237,   238,   239,   240,   241,  3476,
10438      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
10439      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
10440      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
10441      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
10442      271,   272,     0,   273,   274,   275,   276,   277,     0,     0,
10443        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
10444      288,     0,   289,   290,   291,   292,   293,   294,     0,     0,
10445      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
10446      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
10447      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
10448      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
10449      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
10450      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
10451        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
10452        0,   349,     0,     0,     0,   352,   353,   354,   355,     0,
10453      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
10454      364,   365,     0,   367,   368,   369,   370,     0,   371,   372,
10455      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
10456      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
10457        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
10458      398,   399,     0,   401,     0,     0,   403,   404,   405,     0,
10459        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
10460      415,   416,   417,   418,   419,   420,   421,   422,     0,   424,
10461      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
10462        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
10463      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
10464        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
10465      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
10466      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
10467      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
10468      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
10469      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
10470        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
10471      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
10472      523,   524,     0,   525,   526,   527,   528,   529,     0,   531,
10473      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
10474      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
10475      550,   551,     0,   552,     0,   554,   555,   556,   557,   558,
10476        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
10477      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
10478        0,     0,   575,   576,   577,   578,   579,  3477,     0,   580,
10479      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
10480      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
10481      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
10482      606,   607,   608,   609,   610,   611,   612,   613,   621,     0,
10483        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10484        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
10485      239,   240,   241,  3489,   242,   243,   244,     0,     0,     0,
10486        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
10487      250,   251,     0,   253,   254,   255,   256,   257,     0,   259,
10488      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
10489        0,   268,   269,   270,   271,   272,     0,   273,   274,   275,
10490      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
10491      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
10492      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
10493        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
10494      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
10495      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
10496      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
10497      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
10498      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
10499      346,   347,     0,   348,     0,   349,     0,     0,     0,   352,
10500      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
10501        0,   361,   362,   363,   364,   365,     0,   367,   368,   369,
10502      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
10503      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
10504      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
10505      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
10506      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
10507      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
10508      421,   422,     0,   424,   425,   426,   427,   428,   429,   430,
10509      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
10510      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
10511        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
10512      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
10513      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
10514      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
10515      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
10516      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
10517      501,     0,   502,   503,     0,   505,   506,   507,   508,   509,
10518      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
10519        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
10520      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
10521      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
10522      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
10523      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
10524      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
10525      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
10526      579,  3490,     0,   580,   581,   582,   583,   584,   585,   586,
10527        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
10528        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
10529      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
10530      612,   613,   621,     0,     0,     0,     0,     0,     0,     0,
10531        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
10532      235,   236,   237,   238,   239,   240,   241,   622,   242,   243,
10533      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
10534      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
10535      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
10536      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
10537        0,   273,   274,   275,   276,   277,     0,     0,     0,   279,
10538      280,   281,   282,   283,   284,     0,   286,   287,   288,     0,
10539      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
10540      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
10541      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
10542      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
10543      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
10544      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
10545      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
10546        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
10547        0,     0,     0,   352,   353,   354,   355,     0,   356,   357,
10548        0,   358,   359,   360,     0,   361,   362,   363,   364,   365,
10549        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
10550      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
10551      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
10552        0,   393,   394,   395,   396,   397,     0,     0,   398,   399,
10553        0,   401,     0,     0,   403,   404,   405,     0,     0,   406,
10554      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
10555      417,   418,   419,   420,   421,   422,     0,   424,   425,   426,
10556      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
10557      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
10558        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
10559      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
10560      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
10561      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
10562      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
10563      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
10564      497,   498,   499,   500,   501,     0,   502,   503,     0,   505,
10565      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
10566      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
10567        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
10568      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
10569      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
10570        0,   552,     0,   554,   555,   556,   557,   558,     0,   559,
10571      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
10572      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
10573      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
10574      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
10575      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
10576      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
10577      608,   609,   610,   611,   612,   613,   621,     0,     0,     0,
10578        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10579        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
10580      241,   671,   242,   243,   244,     0,     0,     0,     0,     0,
10581        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
10582        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
10583      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
10584      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
10585        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
10586      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
10587        0,     0,   296,   297,   298,     0,     0,     0,     0,     0,
10588        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
10589      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
10590      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
10591      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
10592      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
10593      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
10594        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
10595      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
10596      362,   363,   364,   365,     0,   367,   368,   369,   370,     0,
10597      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
10598      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
10599      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
10600        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
10601      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
10602      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
10603        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
10604      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
10605      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
10606      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
10607      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
10608        0,   466,   467,   468,   469,   470,   471,   672,   473,     0,
10609      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
10610      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
10611      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
10612      502,   503,     0,   505,   506,   507,   508,   509,   510,   511,
10613      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
10614      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
10615        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
10616      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
10617      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
10618      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
10619      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
10620      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
10621        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
10622        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
10623      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
10624      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
10625      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10626        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
10627      237,   238,   239,   240,   241,   789,   242,   243,   244,     0,
10628        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
10629      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
10630        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
10631      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
10632      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
10633      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
10634      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
10635        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
10636      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
10637      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
10638        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
10639      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
10640      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
10641      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
10642        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
10643      359,   360,     0,   361,   362,   363,   364,   365,     0,   367,
10644      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
10645      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
10646      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
10647      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
10648        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
10649      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
10650      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
10651      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
10652      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
10653      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
10654      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
10655      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
10656      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
10657      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
10658      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
10659      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
10660      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
10661      518,   519,     0,   520,   521,   522,   523,   790,     0,   525,
10662      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
10663      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
10664      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
10665        0,   554,   555,   556,   557,   558,     0,   559,   791,   561,
10666        0,     0,   792,   563,   564,   565,   566,     0,   567,   568,
10667      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
10668      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
10669      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
10670        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
10671      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
10672      610,   611,   612,   613,   621,     0,     0,     0,     0,     0,
10673        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10674        0,   234,   235,   236,   237,   238,   239,   240,   241,   823,
10675      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
10676      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
10677      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
10678      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
10679      271,   272,     0,   273,   274,   275,   276,   277,     0,     0,
10680        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
10681      288,     0,   289,   290,   291,   292,   293,   294,     0,     0,
10682      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
10683      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
10684      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
10685      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
10686      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
10687      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
10688        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
10689        0,   349,     0,     0,     0,   352,   353,   354,   355,     0,
10690      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
10691      364,   365,     0,   367,   368,   369,   370,     0,   371,   372,
10692      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
10693      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
10694        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
10695      398,   399,     0,   401,     0,     0,   403,   404,   405,     0,
10696        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
10697      415,   416,   417,   418,   419,   420,   421,   422,     0,   424,
10698      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
10699        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
10700      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
10701        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
10702      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
10703      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
10704      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
10705      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
10706      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
10707        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
10708      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
10709      523,   824,     0,   525,   526,   527,   528,   529,     0,   531,
10710      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
10711      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
10712      550,   551,     0,   552,     0,   554,   555,   556,   557,   558,
10713        0,   559,   825,   561,     0,     0,   826,   563,   564,   565,
10714      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
10715        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
10716      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
10717      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
10718      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
10719      606,   607,   608,   609,   610,   611,   612,   613,   621,     0,
10720        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10721        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
10722      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
10723        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
10724      250,   251,     0,   253,   254,   255,   256,   257,     0,   259,
10725      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
10726        0,   268,   269,   270,   271,   272,     0,   273,   274,   275,
10727      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
10728      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
10729      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
10730        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
10731      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
10732      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
10733      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
10734      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
10735      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
10736      346,   347,     0,   348,     0,   349,     0,     0,     0,   352,
10737      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
10738        0,   361,   362,   363,   364,   365,     0,   367,   368,   369,
10739      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
10740      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
10741      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
10742      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
10743      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
10744      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
10745      421,   422,     0,   424,   425,   426,   427,   428,   429,   430,
10746      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
10747      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
10748      829,   447,   448,   449,     0,     0,   450,   451,   452,     0,
10749      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
10750      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
10751      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
10752      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
10753      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
10754      501,     0,   502,   503,     0,   505,   506,   507,   508,   509,
10755      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
10756        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
10757      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
10758      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
10759      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
10760      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
10761      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
10762      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
10763      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
10764        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
10765        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
10766      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
10767      612,   613,   621,     0,     0,     0,     0,     0,     0,     0,
10768        0,   886,     0,     0,     0,     0,     0,     0,     0,   234,
10769      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
10770      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
10771      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
10772      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
10773      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
10774        0,   273,   274,   275,   276,   277,     0,     0,     0,   279,
10775      280,   281,   282,   283,   284,     0,   286,   287,   288,     0,
10776      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
10777      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
10778      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
10779      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
10780      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
10781      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
10782      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
10783        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
10784        0,     0,     0,   352,   353,   354,   355,     0,   356,   357,
10785        0,   358,   359,   360,     0,   361,   362,   363,   364,   365,
10786        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
10787      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
10788      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
10789        0,   393,   394,   395,   396,   397,     0,     0,   398,   399,
10790        0,   401,     0,     0,   403,   404,   405,     0,     0,   406,
10791      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
10792      417,   418,   419,   420,   421,   422,     0,   424,   425,   426,
10793      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
10794      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
10795        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
10796      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
10797      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
10798      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
10799      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
10800      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
10801      497,   498,   499,   500,   501,     0,   502,   503,     0,   505,
10802      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
10803      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
10804        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
10805      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
10806      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
10807        0,   552,     0,   554,   555,   556,   557,   558,     0,   559,
10808      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
10809      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
10810      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
10811      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
10812      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
10813      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
10814      608,   609,   610,   611,   612,   613,   621,     0,     0,     0,
10815        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10816        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
10817      241,   940,   242,   243,   244,     0,     0,     0,     0,     0,
10818        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
10819        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
10820      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
10821      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
10822        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
10823      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
10824        0,     0,   296,   297,   298,     0,     0,     0,     0,     0,
10825        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
10826      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
10827      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
10828      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
10829      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
10830      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
10831        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
10832      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
10833      362,   363,   364,   941,     0,   367,   368,   369,   370,     0,
10834      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
10835      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
10836      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
10837        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
10838      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
10839      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
10840        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
10841      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
10842      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
10843      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
10844      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
10845        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
10846      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
10847      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
10848      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
10849      502,   503,     0,   505,   506,   507,   508,   509,   510,   511,
10850      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
10851      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
10852        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
10853      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
10854      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
10855      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
10856      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
10857      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
10858        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
10859        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
10860      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
10861      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
10862      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10863        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
10864      237,   238,   239,   240,   241,  1100,   242,   243,   244,     0,
10865        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
10866      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
10867        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
10868      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
10869      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
10870      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
10871      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
10872        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
10873      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
10874      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
10875        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
10876      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
10877      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
10878      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
10879        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
10880      359,   360,     0,   361,   362,   363,   364,   365,     0,   367,
10881      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
10882      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
10883      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
10884      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
10885        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
10886      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
10887      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
10888      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
10889      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
10890      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
10891      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
10892      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
10893      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
10894      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
10895      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
10896      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
10897      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
10898      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
10899      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
10900      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
10901      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
10902        0,   554,   555,   556,   557,   558,     0,   559,   560,   561,
10903        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
10904      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
10905      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
10906      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
10907        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
10908      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
10909      610,   611,   612,   613,   621,     0,     0,     0,     0,     0,
10910        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10911        0,   234,   235,   236,   237,   238,   239,   240,   241,  1331,
10912      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
10913      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
10914      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
10915      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
10916      271,   272,     0,   273,   274,   275,   276,   277,     0,     0,
10917        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
10918      288,     0,   289,   290,   291,   292,   293,   294,     0,     0,
10919      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
10920      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
10921      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
10922      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
10923      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
10924      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
10925        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
10926        0,   349,     0,     0,     0,   352,   353,   354,   355,     0,
10927      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
10928      364,   365,     0,   367,   368,   369,   370,     0,   371,   372,
10929      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
10930      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
10931        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
10932      398,   399,     0,   401,     0,     0,   403,   404,   405,     0,
10933        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
10934      415,   416,   417,   418,   419,   420,   421,   422,     0,   424,
10935      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
10936        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
10937      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
10938        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
10939      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
10940      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
10941      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
10942      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
10943      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
10944        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
10945      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
10946      523,   524,     0,   525,   526,   527,   528,   529,     0,   531,
10947      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
10948      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
10949      550,   551,     0,   552,     0,   554,   555,   556,   557,   558,
10950        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
10951      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
10952        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
10953      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
10954      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
10955      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
10956      606,   607,   608,   609,   610,   611,   612,   613,   621,     0,
10957        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
10958        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
10959      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
10960        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
10961      250,   251,  1342,   253,   254,   255,   256,   257,     0,   259,
10962      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
10963        0,   809,   269,   270,   271,  1343,     0,   273,   274,   275,
10964      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
10965      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
10966      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
10967        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
10968      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
10969      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
10970      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
10971      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
10972      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
10973      346,   347,     0,   348,     0,   349,     0,     0,     0,   352,
10974      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
10975        0,   361,   362,   363,   364,   365,     0,   367,   368,   369,
10976      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
10977      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
10978      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
10979      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
10980      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
10981      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
10982      812,   422,     0,   424,   425,   426,   427,   428,   429,   430,
10983      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
10984      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
10985        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
10986      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
10987      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
10988      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
10989      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
10990      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
10991      501,     0,   502,   503,     0,   813,   506,   507,   508,   509,
10992      510,   511,   512,   513,   814,   515,   516,   517,   518,   519,
10993        0,   520,   521,   522,   523,  1335,     0,   525,   526,   527,
10994      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
10995      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
10996      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
10997      555,   556,   557,   558,     0,   559,   816,   561,     0,     0,
10998      817,   563,   564,   565,   566,     0,   567,   568,   569,   570,
10999      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
11000      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
11001        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
11002        0,     0,   594,   595,   596,   597,   598,   818,   600,   601,
11003      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
11004      612,   613,   621,     0,     0,     0,     0,     0,     0,     0,
11005        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
11006      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
11007      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
11008      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
11009      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
11010      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
11011        0,   273,   274,   275,   276,   277,     0,     0,     0,   279,
11012      280,   281,   282,   283,   284,     0,   286,   287,   288,     0,
11013      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
11014      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
11015      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
11016      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
11017      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
11018      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
11019      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
11020        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
11021        0,     0,     0,   352,   353,   354,   355,     0,   356,   357,
11022        0,   358,   359,   360,     0,   361,   362,   363,   364,  1486,
11023        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
11024      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
11025      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
11026        0,   393,   394,   395,   396,   397,     0,     0,   398,   399,
11027        0,   401,     0,     0,   403,   404,   405,     0,     0,   406,
11028      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
11029      417,   418,   419,   420,   421,   422,     0,   424,   425,   426,
11030      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
11031      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
11032        0,   445,   446,     0,   829,   447,   448,   449,     0,     0,
11033      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
11034      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
11035      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
11036      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
11037      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
11038      497,   498,   499,   500,   501,     0,   502,   503,     0,   505,
11039      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
11040      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
11041        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
11042      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
11043      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
11044        0,   552,     0,   554,   555,   556,   557,   558,     0,   559,
11045      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
11046      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
11047      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
11048      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
11049      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
11050      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
11051      608,   609,   610,   611,   612,   613,   621,     0,     0,     0,
11052        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11053        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
11054      241,  1547,   242,   243,   244,     0,     0,     0,     0,     0,
11055        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
11056        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
11057      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
11058      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
11059        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
11060      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
11061        0,     0,   296,   297,   298,     0,     0,     0,     0,     0,
11062        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
11063      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
11064      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
11065      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
11066      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
11067      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
11068        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
11069      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
11070      362,   363,   364,  1548,     0,   367,   368,   369,   370,     0,
11071      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
11072      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
11073      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
11074        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
11075      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
11076      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
11077        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
11078      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
11079      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
11080      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
11081      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
11082        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
11083      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
11084      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
11085      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
11086      502,   503,     0,   505,   506,   507,   508,   509,   510,   511,
11087      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
11088      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
11089        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
11090      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
11091      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
11092      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
11093      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
11094      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
11095        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
11096        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
11097      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
11098      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
11099      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11100        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
11101      237,   238,   239,   240,   241,   789,   242,   243,   244,     0,
11102        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
11103      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
11104        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
11105      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
11106      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
11107      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
11108      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
11109        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
11110      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
11111      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
11112        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
11113      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
11114      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
11115      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
11116        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
11117      359,   360,     0,   361,   362,   363,   364,   365,     0,   367,
11118      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
11119      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
11120      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
11121      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
11122        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
11123      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
11124      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
11125      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
11126      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
11127      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
11128      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
11129      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
11130      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
11131      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
11132      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
11133      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
11134      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
11135      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
11136      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
11137      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
11138      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
11139        0,   554,   555,   556,   557,   558,     0,   559,   560,   561,
11140        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
11141      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
11142      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
11143      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
11144        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
11145      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
11146      610,   611,   612,   613,   621,     0,     0,     0,     0,     0,
11147        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11148        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
11149      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
11150      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
11151      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
11152      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
11153      271,   272,     0,   273,   274,   275,   276,   277,     0,     0,
11154        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
11155      288,     0,   289,   290,   291,   292,   293,   294,     0,     0,
11156      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
11157      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
11158      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
11159      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
11160      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
11161      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
11162        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
11163        0,   349,     0,     0,     0,   352,   353,   354,  3250,     0,
11164      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
11165      364,   365,     0,   367,   368,   369,   370,     0,   371,   372,
11166      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
11167      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
11168        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
11169      398,   399,     0,   401,     0,     0,   403,   404,  3251,     0,
11170        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
11171      415,   416,   417,   418,   419,   420,   421,   422,     0,   424,
11172      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
11173        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
11174      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
11175        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
11176      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
11177      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
11178      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
11179      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
11180      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
11181        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
11182      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
11183      523,   524,     0,   525,   526,   527,   528,   529,     0,   531,
11184      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
11185      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
11186      550,   551,  3252,   552,     0,   554,  3253,   556,  3254,   558,
11187        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
11188      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
11189        0,     0,   575,   576,  3255,   578,   579,     0,     0,   580,
11190      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
11191      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
11192      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
11193      606,   607,   608,   609,   610,   611,   612,   613,   621,     0,
11194        0,   680,     0,     0,     0,     0,     0,     0,     0,     0,
11195        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
11196      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
11197        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
11198      250,   251,     0,   253,   254,   255,   256,   257,     0,   259,
11199      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
11200        0,   268,   269,   270,   271,   272,     0,   273,   274,   275,
11201      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
11202      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
11203      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
11204        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
11205      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
11206      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
11207      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
11208      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
11209      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
11210      346,   347,     0,   348,     0,   349,     0,     0,     0,   352,
11211      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
11212        0,   361,   362,   363,   364,   365,     0,   367,   368,   369,
11213      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
11214      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
11215      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
11216      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
11217      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
11218      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
11219      421,   422,     0,   424,   425,   426,   427,   428,   429,   430,
11220      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
11221      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
11222        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
11223      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
11224      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
11225      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
11226      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
11227      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
11228      501,     0,   502,   503,     0,   505,   506,   507,   508,   509,
11229      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
11230        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
11231      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
11232      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
11233      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
11234      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
11235      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
11236      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
11237      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
11238        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
11239        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
11240      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
11241      612,   613,   621,     0,     0,     0,     0,     0,     0,     0,
11242      740,     0,     0,     0,     0,     0,     0,     0,     0,   234,
11243      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
11244      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
11245      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
11246      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
11247      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
11248        0,   273,   274,   275,   276,   277,     0,     0,     0,   279,
11249      280,   281,   282,   283,   284,     0,   286,   287,   288,     0,
11250      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
11251      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
11252      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
11253      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
11254      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
11255      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
11256      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
11257        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
11258        0,     0,     0,   352,   353,   354,   355,     0,   356,   357,
11259        0,   358,   359,   360,     0,   361,   362,   363,   364,   365,
11260        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
11261      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
11262      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
11263        0,   393,   394,   395,   396,   397,     0,     0,   398,   399,
11264        0,   401,     0,     0,   403,   404,   405,     0,     0,   406,
11265      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
11266      417,   418,   419,   420,   421,   422,     0,   424,   425,   426,
11267      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
11268      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
11269        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
11270      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
11271      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
11272      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
11273      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
11274      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
11275      497,   498,   499,   500,   501,     0,   502,   503,     0,   505,
11276      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
11277      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
11278        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
11279      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
11280      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
11281        0,   552,     0,   554,   555,   556,   557,   558,     0,   559,
11282      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
11283      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
11284      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
11285      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
11286      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
11287      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
11288      608,   609,   610,   611,   612,   613,   621,     0,     0,     0,
11289        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11290        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
11291      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
11292     4019,     0,   245,   246,   247,     0,   248,   249,   250,   251,
11293        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
11294      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
11295      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
11296        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
11297      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
11298        0,     0,   296,   297,   298,     0,     0,     0,     0,     0,
11299        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
11300      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
11301      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
11302      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
11303      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
11304      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
11305        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
11306      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
11307      362,   363,   364,   365,     0,   367,   368,   369,   370,     0,
11308      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
11309      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
11310      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
11311        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
11312      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
11313      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
11314        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
11315      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
11316      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
11317      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
11318      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
11319        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
11320      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
11321      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
11322      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
11323      502,   503,     0,   505,   506,   507,   508,   509,   510,   511,
11324      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
11325      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
11326        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
11327      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
11328      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
11329      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
11330      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
11331      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
11332        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
11333        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
11334      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
11335      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
11336      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11337        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
11338      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
11339        0,     0,     0,     0,  4033,     0,   245,   246,   247,     0,
11340      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
11341        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
11342      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
11343      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
11344      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
11345      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
11346        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
11347      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
11348      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
11349        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
11350      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
11351      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
11352      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
11353        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
11354      359,   360,     0,   361,   362,   363,   364,   365,     0,   367,
11355      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
11356      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
11357      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
11358      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
11359        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
11360      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
11361      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
11362      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
11363      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
11364      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
11365      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
11366      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
11367      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
11368      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
11369      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
11370      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
11371      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
11372      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
11373      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
11374      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
11375      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
11376        0,   554,   555,   556,   557,   558,     0,   559,   560,   561,
11377        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
11378      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
11379      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
11380      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
11381        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
11382      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
11383      610,   611,   612,   613,   621,     0,     0,     0,     0,     0,
11384        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11385        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
11386      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
11387      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
11388      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
11389      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
11390      271,   272,     0,   273,   274,   275,   276,   277,     0,     0,
11391        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
11392      288,     0,   289,   290,   291,   292,   293,   294,     0,     0,
11393      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
11394      300,   301,   302,   303,   304,   305,   306,   307,   308,  4653,
11395      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
11396      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
11397      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
11398      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
11399        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
11400        0,   349,     0,     0,     0,   352,   353,   354,   355,     0,
11401      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
11402      364,   365,     0,   367,   368,   369,   370,     0,   371,   372,
11403      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
11404      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
11405        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
11406      398,   399,     0,   401,     0,     0,   403,   404,   405,     0,
11407        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
11408      415,   416,   417,   418,   419,   420,   421,   422,     0,   424,
11409      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
11410        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
11411      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
11412        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
11413      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
11414      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
11415      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
11416      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
11417      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
11418        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
11419      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
11420      523,   524,     0,   525,   526,   527,   528,   529,     0,   531,
11421      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
11422      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
11423      550,   551,     0,   552,     0,   554,   555,   556,   557,   558,
11424        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
11425      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
11426        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
11427      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
11428      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
11429      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
11430      606,   607,   608,   609,   610,   611,   612,   613,   621,     0,
11431        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11432        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
11433      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
11434        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
11435      250,   251,     0,   253,   254,   255,   256,   257,     0,   259,
11436      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
11437        0,   268,   269,   270,   271,   272,     0,   273,   274,   275,
11438      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
11439      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
11440      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
11441        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
11442      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
11443      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
11444      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
11445      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
11446      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
11447      346,   347,     0,   348,     0,   349,     0,     0,     0,   352,
11448      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
11449        0,   361,   362,   363,   364,   365,     0,   367,   368,   369,
11450      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
11451      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
11452      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
11453      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
11454      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
11455      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
11456      421,   422,     0,   424,   425,   426,   427,   428,   429,   430,
11457      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
11458      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
11459        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
11460      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
11461      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
11462      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
11463      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
11464      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
11465      501,     0,   502,   503,     0,   505,   506,   507,   508,   509,
11466      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
11467        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
11468      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
11469      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
11470      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
11471      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
11472      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
11473      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
11474      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
11475        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
11476        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
11477      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
11478      612,   613,   621,     0,     0,     0,     0,     0,     0,     0,
11479        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
11480      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
11481      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
11482      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
11483      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
11484      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
11485        0,   273,   274,   275,   276,   277,     0,     0,     0,   279,
11486      280,   281,   282,   283,   284,     0,   286,   287,   288,     0,
11487      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
11488      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
11489      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
11490      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
11491      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
11492      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
11493      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
11494        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
11495        0,     0,     0,   352,   353,   354,   355,     0,   356,   357,
11496        0,   358,   359,   360,     0,   361,   362,   363,   364,   365,
11497        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
11498      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
11499      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
11500        0,   393,   394,   395,   396,   397,     0,     0,   398,   399,
11501        0,   401,     0,     0,   403,   404,   405,     0,     0,   406,
11502      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
11503      417,   418,   419,   420,   421,   422,     0,   424,   425,   426,
11504      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
11505      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
11506        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
11507      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
11508      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
11509      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
11510      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
11511      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
11512      497,   498,   499,   500,   501,     0,   502,   503,     0,   505,
11513      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
11514      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
11515        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
11516      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
11517      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
11518        0,   552,     0,   554,   555,   556,   557,   558,     0,   559,
11519      560,   561,     0,     0,   775,   563,   564,   565,   566,     0,
11520      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
11521      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
11522      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
11523      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
11524      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
11525      608,   609,   610,   611,   612,   613,   621,     0,     0,     0,
11526        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11527        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
11528      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
11529        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
11530        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
11531      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
11532      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
11533        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
11534      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
11535        0,     0,   296,   297,   298,     0,     0,     0,     0,     0,
11536        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
11537      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
11538      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
11539      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
11540      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
11541      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
11542        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
11543      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
11544      362,   363,   364,   365,     0,   367,   368,   369,   370,     0,
11545      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
11546      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
11547      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
11548        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
11549      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
11550      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
11551        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
11552      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
11553      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
11554      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
11555      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
11556        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
11557      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
11558      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
11559      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
11560      502,   503,     0,   505,   506,   507,   508,   509,   510,   511,
11561      512,   787,   514,   515,   516,   517,   518,   519,     0,   520,
11562      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
11563        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
11564      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
11565      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
11566      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
11567      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
11568      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
11569        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
11570        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
11571      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
11572      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
11573      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11574        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
11575      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
11576        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
11577      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
11578        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
11579      267,     0,     0,   809,   269,   270,   271,   272,     0,   273,
11580      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
11581      282,   283,   284,     0,   286,   287,   288,     0,   810,   290,
11582      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
11583        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
11584      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
11585      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
11586        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
11587      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
11588      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
11589      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
11590        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
11591      359,   360,     0,   361,   362,   363,   364,   365,     0,   367,
11592      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
11593      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
11594      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
11595      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
11596        0,     0,   403,   404,   811,     0,     0,   406,   407,   408,
11597      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
11598      419,   420,   812,   422,     0,   424,   425,   426,   427,   428,
11599      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
11600      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
11601      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
11602      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
11603      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
11604      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
11605      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
11606      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
11607      499,   500,   501,     0,   502,   503,     0,   813,   506,   507,
11608      508,   509,   510,   511,   512,   513,   814,   515,   516,   517,
11609      518,   519,     0,   520,   521,   522,   523,   815,     0,   525,
11610      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
11611      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
11612      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
11613        0,   554,   555,   556,   557,   558,     0,   559,   816,   561,
11614        0,     0,   817,   563,   564,   565,   566,     0,   567,   568,
11615      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
11616      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
11617      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
11618        0,   593,     0,     0,   594,   595,   596,   597,   598,   818,
11619      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
11620      610,   611,   612,   613,   621,     0,     0,     0,     0,     0,
11621        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11622        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
11623      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
11624      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
11625      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
11626      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
11627      271,   272,     0,   273,   274,   275,   276,   277,     0,     0,
11628        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
11629      288,     0,   289,   290,   291,   292,   293,   294,     0,     0,
11630      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
11631      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
11632      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
11633      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
11634      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
11635      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
11636        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
11637        0,   349,     0,     0,     0,   352,   353,   354,   355,     0,
11638      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
11639      364,   365,     0,   367,   368,   369,   370,     0,   371,   372,
11640      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
11641      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
11642        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
11643      398,   399,     0,   401,     0,     0,   403,   404,   405,     0,
11644        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
11645      415,   416,   417,   418,   419,   420,   421,   422,     0,   424,
11646      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
11647        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
11648      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
11649        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
11650      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
11651      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
11652      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
11653      486,   840,   488,     0,   489,   490,   491,   492,   493,   494,
11654      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
11655        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
11656      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
11657      523,   524,     0,   525,   526,   527,   528,   529,     0,   531,
11658      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
11659      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
11660      550,   551,     0,   552,     0,   554,   555,   556,   557,   558,
11661        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
11662      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
11663        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
11664      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
11665      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
11666      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
11667      606,   607,   608,   609,   610,   611,   612,   613,   621,     0,
11668        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11669        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
11670      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
11671        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
11672      250,   251,     0,   253,   254,   255,   256,   257,     0,   259,
11673      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
11674        0,   268,   269,   270,   271,   272,     0,   273,   274,   275,
11675      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
11676      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
11677      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
11678        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
11679      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
11680      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
11681      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
11682      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
11683      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
11684      346,   347,     0,   348,     0,   349,     0,     0,     0,   352,
11685      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
11686        0,   361,   362,   363,   364,   965,     0,   367,   368,   369,
11687      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
11688      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
11689      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
11690      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
11691      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
11692      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
11693      421,   422,     0,   424,   425,   426,   427,   428,   429,   430,
11694      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
11695      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
11696        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
11697      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
11698      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
11699      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
11700      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
11701      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
11702      501,     0,   502,   503,     0,   505,   506,   507,   508,   509,
11703      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
11704        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
11705      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
11706      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
11707      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
11708      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
11709      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
11710      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
11711      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
11712        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
11713        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
11714      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
11715      612,   613,   621,     0,     0,     0,     0,     0,     0,     0,
11716        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
11717      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
11718      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
11719      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
11720      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
11721      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
11722        0,   273,   274,   275,   276,   277,     0,     0,     0,   279,
11723      280,   281,   282,   283,   284,     0,   286,   287,   288,     0,
11724      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
11725      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
11726      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
11727      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
11728      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
11729      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
11730      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
11731        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
11732        0,     0,     0,   352,   353,   354,   355,     0,   356,   357,
11733        0,   358,   359,   360,     0,   361,   362,   363,   364,   975,
11734        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
11735      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
11736      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
11737        0,   393,   394,   395,   396,   397,     0,     0,   398,   399,
11738        0,   401,     0,     0,   403,   404,   405,     0,     0,   406,
11739      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
11740      417,   418,   419,   420,   421,   422,     0,   424,   425,   426,
11741      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
11742      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
11743        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
11744      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
11745      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
11746      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
11747      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
11748      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
11749      497,   498,   499,   500,   501,     0,   502,   503,     0,   505,
11750      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
11751      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
11752        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
11753      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
11754      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
11755        0,   552,     0,   554,   555,   556,   557,   558,     0,   559,
11756      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
11757      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
11758      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
11759      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
11760      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
11761      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
11762      608,   609,   610,   611,   612,   613,   621,     0,     0,     0,
11763        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11764        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
11765      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
11766        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
11767        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
11768      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
11769      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
11770        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
11771      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
11772        0,     0,   296,   297,   298,     0,     0,     0,     0,     0,
11773        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
11774      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
11775      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
11776      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
11777      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
11778      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
11779        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
11780      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
11781      362,   363,   364,   978,     0,   367,   368,   369,   370,     0,
11782      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
11783      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
11784      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
11785        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
11786      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
11787      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
11788        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
11789      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
11790      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
11791      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
11792      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
11793        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
11794      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
11795      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
11796      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
11797      502,   503,     0,   505,   506,   507,   508,   509,   510,   511,
11798      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
11799      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
11800        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
11801      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
11802      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
11803      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
11804      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
11805      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
11806        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
11807        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
11808      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
11809      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
11810      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11811        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
11812      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
11813        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
11814      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
11815        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
11816      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
11817      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
11818      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
11819      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
11820        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
11821      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
11822      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
11823        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
11824      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
11825      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
11826      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
11827        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
11828      359,   360,     0,   361,   362,   363,   364,   994,     0,   367,
11829      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
11830      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
11831      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
11832      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
11833        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
11834      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
11835      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
11836      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
11837      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
11838      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
11839      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
11840      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
11841      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
11842      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
11843      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
11844      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
11845      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
11846      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
11847      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
11848      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
11849      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
11850        0,   554,   555,   556,   557,   558,     0,   559,   560,   561,
11851        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
11852      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
11853      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
11854      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
11855        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
11856      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
11857      610,   611,   612,   613,   621,     0,     0,     0,     0,     0,
11858        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11859        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
11860      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
11861      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
11862      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
11863      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
11864      271,   272,     0,   273,   274,   275,   276,   277,     0,     0,
11865        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
11866      288,     0,   289,   290,   291,   292,   293,   294,     0,     0,
11867      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
11868      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
11869      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
11870      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
11871      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
11872      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
11873        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
11874        0,   349,     0,     0,     0,   352,   353,   354,   355,     0,
11875      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
11876      364,  1049,     0,   367,   368,   369,   370,     0,   371,   372,
11877      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
11878      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
11879        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
11880      398,   399,     0,   401,     0,     0,   403,   404,   405,     0,
11881        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
11882      415,   416,   417,   418,   419,   420,   421,   422,     0,   424,
11883      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
11884        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
11885      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
11886        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
11887      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
11888      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
11889      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
11890      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
11891      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
11892        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
11893      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
11894      523,   524,     0,   525,   526,   527,   528,   529,     0,   531,
11895      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
11896      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
11897      550,   551,     0,   552,     0,   554,   555,   556,   557,   558,
11898        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
11899      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
11900        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
11901      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
11902      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
11903      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
11904      606,   607,   608,   609,   610,   611,   612,   613,   621,     0,
11905        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
11906        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
11907      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
11908        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
11909      250,   251,     0,   253,   254,   255,   256,   257,     0,   259,
11910      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
11911        0,   268,   269,   270,   271,   272,     0,   273,   274,   275,
11912      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
11913      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
11914      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
11915        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
11916      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
11917      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
11918      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
11919      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
11920      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
11921      346,   347,     0,   348,     0,   349,     0,     0,     0,   352,
11922      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
11923        0,   361,   362,   363,   364,  1054,     0,   367,   368,   369,
11924      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
11925      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
11926      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
11927      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
11928      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
11929      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
11930      421,   422,     0,   424,   425,   426,   427,   428,   429,   430,
11931      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
11932      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
11933        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
11934      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
11935      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
11936      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
11937      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
11938      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
11939      501,     0,   502,   503,     0,   505,   506,   507,   508,   509,
11940      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
11941        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
11942      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
11943      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
11944      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
11945      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
11946      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
11947      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
11948      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
11949        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
11950        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
11951      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
11952      612,   613,   621,     0,     0,     0,     0,     0,     0,     0,
11953        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
11954      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
11955      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
11956      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
11957      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
11958      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
11959        0,   273,   274,   275,   276,   277,     0,     0,     0,   279,
11960      280,   281,   282,   283,   284,     0,   286,   287,   288,     0,
11961      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
11962      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
11963      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
11964      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
11965      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
11966      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
11967      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
11968        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
11969        0,     0,     0,   352,   353,   354,   355,     0,   356,   357,
11970        0,   358,   359,   360,     0,   361,   362,   363,   364,  1071,
11971        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
11972      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
11973      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
11974        0,   393,   394,   395,   396,   397,     0,     0,   398,   399,
11975        0,   401,     0,     0,   403,   404,   405,     0,     0,   406,
11976      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
11977      417,   418,   419,   420,   421,   422,     0,   424,   425,   426,
11978      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
11979      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
11980        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
11981      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
11982      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
11983      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
11984      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
11985      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
11986      497,   498,   499,   500,   501,     0,   502,   503,     0,   505,
11987      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
11988      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
11989        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
11990      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
11991      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
11992        0,   552,     0,   554,   555,   556,   557,   558,     0,   559,
11993      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
11994      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
11995      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
11996      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
11997      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
11998      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
11999      608,   609,   610,   611,   612,   613,   621,     0,     0,     0,
12000        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12001        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
12002      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
12003        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
12004        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
12005      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
12006      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
12007        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
12008      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
12009        0,     0,   296,   297,   298,     0,     0,     0,     0,     0,
12010        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
12011      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
12012      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
12013      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
12014      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
12015      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
12016        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
12017      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
12018      362,   363,   364,  1074,     0,   367,   368,   369,   370,     0,
12019      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
12020      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
12021      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
12022        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
12023      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
12024      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
12025        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
12026      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
12027      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
12028      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
12029      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
12030        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
12031      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
12032      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
12033      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
12034      502,   503,     0,   505,   506,   507,   508,   509,   510,   511,
12035      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
12036      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
12037        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
12038      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
12039      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
12040      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
12041      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
12042      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
12043        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
12044        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
12045      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
12046      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
12047      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12048        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
12049      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
12050        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
12051      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
12052        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
12053      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
12054      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
12055      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
12056      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
12057        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
12058      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
12059      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
12060        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
12061      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
12062      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
12063      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
12064        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
12065      359,   360,     0,   361,   362,   363,   364,  1076,     0,   367,
12066      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
12067      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
12068      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
12069      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
12070        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
12071      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
12072      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
12073      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
12074      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
12075      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
12076      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
12077      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
12078      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
12079      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
12080      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
12081      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
12082      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
12083      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
12084      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
12085      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
12086      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
12087        0,   554,   555,   556,   557,   558,     0,   559,   560,   561,
12088        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
12089      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
12090      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
12091      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
12092        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
12093      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
12094      610,   611,   612,   613,   621,     0,     0,     0,     0,     0,
12095        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12096        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
12097      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
12098      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
12099      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
12100      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
12101      271,   272,     0,   273,   274,   275,   276,   277,     0,     0,
12102        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
12103      288,     0,   289,   290,   291,   292,   293,   294,     0,     0,
12104      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
12105      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
12106      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
12107      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
12108      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
12109      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
12110        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
12111        0,   349,     0,     0,     0,   352,   353,   354,   355,     0,
12112      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
12113      364,  1113,     0,   367,   368,   369,   370,     0,   371,   372,
12114      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
12115      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
12116        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
12117      398,   399,     0,   401,     0,     0,   403,   404,   405,     0,
12118        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
12119      415,   416,   417,   418,   419,   420,   421,   422,     0,   424,
12120      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
12121        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
12122      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
12123        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
12124      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
12125      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
12126      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
12127      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
12128      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
12129        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
12130      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
12131      523,   524,     0,   525,   526,   527,   528,   529,     0,   531,
12132      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
12133      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
12134      550,   551,     0,   552,     0,   554,   555,   556,   557,   558,
12135        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
12136      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
12137        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
12138      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
12139      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
12140      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
12141      606,   607,   608,   609,   610,   611,   612,   613,   621,     0,
12142        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12143        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
12144      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
12145        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
12146      250,   251,     0,   253,   254,   255,   256,   257,     0,   259,
12147      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
12148        0,   268,   269,   270,   271,   272,     0,   273,   274,   275,
12149      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
12150      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
12151      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
12152        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
12153      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
12154      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
12155      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
12156      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
12157      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
12158      346,   347,     0,   348,     0,   349,     0,     0,     0,   352,
12159      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
12160        0,   361,   362,   363,   364,  1141,     0,   367,   368,   369,
12161      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
12162      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
12163      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
12164      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
12165      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
12166      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
12167      421,   422,     0,   424,   425,   426,   427,   428,   429,   430,
12168      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
12169      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
12170        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
12171      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
12172      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
12173      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
12174      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
12175      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
12176      501,     0,   502,   503,     0,   505,   506,   507,   508,   509,
12177      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
12178        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
12179      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
12180      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
12181      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
12182      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
12183      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
12184      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
12185      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
12186        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
12187        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
12188      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
12189      612,   613,   621,     0,     0,     0,     0,     0,     0,     0,
12190        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
12191      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
12192      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
12193      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
12194      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
12195      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
12196        0,   273,   274,   275,   276,   277,     0,     0,     0,   279,
12197      280,   281,   282,   283,   284,     0,   286,   287,   288,     0,
12198      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
12199      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
12200      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
12201      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
12202      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
12203      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
12204      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
12205        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
12206        0,     0,     0,   352,   353,   354,   355,     0,   356,   357,
12207        0,   358,   359,   360,     0,   361,   362,   363,   364,  1143,
12208        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
12209      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
12210      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
12211        0,   393,   394,   395,   396,   397,     0,     0,   398,   399,
12212        0,   401,     0,     0,   403,   404,   405,     0,     0,   406,
12213      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
12214      417,   418,   419,   420,   421,   422,     0,   424,   425,   426,
12215      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
12216      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
12217        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
12218      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
12219      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
12220      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
12221      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12222      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
12223      497,   498,   499,   500,   501,     0,   502,   503,     0,   505,
12224      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
12225      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
12226        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
12227      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
12228      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
12229        0,   552,     0,   554,   555,   556,   557,   558,     0,   559,
12230      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
12231      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
12232      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
12233      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
12234      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
12235      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
12236      608,   609,   610,   611,   612,   613,   621,     0,     0,     0,
12237        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12238        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
12239      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
12240        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
12241        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
12242      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
12243      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
12244        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
12245      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
12246        0,     0,   296,   297,   298,     0,     0,     0,     0,     0,
12247        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
12248      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
12249      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
12250      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
12251      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
12252      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
12253        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
12254      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
12255      362,   363,   364,  1153,     0,   367,   368,   369,   370,     0,
12256      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
12257      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
12258      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
12259        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
12260      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
12261      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
12262        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
12263      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
12264      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
12265      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
12266      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
12267        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
12268      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
12269      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
12270      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
12271      502,   503,     0,   505,   506,   507,   508,   509,   510,   511,
12272      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
12273      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
12274        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
12275      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
12276      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
12277      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
12278      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
12279      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
12280        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
12281        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
12282      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
12283      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
12284      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12285        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
12286      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
12287        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
12288      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
12289        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
12290      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
12291      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
12292      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
12293      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
12294        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
12295      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
12296      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
12297        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
12298      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
12299      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
12300      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
12301        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
12302      359,   360,     0,   361,   362,   363,   364,  1156,     0,   367,
12303      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
12304      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
12305      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
12306      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
12307        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
12308      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
12309      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
12310      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
12311      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
12312      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
12313      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
12314      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
12315      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
12316      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
12317      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
12318      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
12319      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
12320      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
12321      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
12322      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
12323      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
12324        0,   554,   555,   556,   557,   558,     0,   559,   560,   561,
12325        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
12326      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
12327      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
12328      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
12329        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
12330      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
12331      610,   611,   612,   613,   621,     0,     0,     0,     0,     0,
12332        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12333        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
12334      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
12335      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
12336      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
12337      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
12338      271,   272,     0,   273,   274,   275,   276,   277,     0,     0,
12339        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
12340      288,     0,   289,   290,   291,   292,   293,   294,     0,     0,
12341      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
12342      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
12343      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
12344      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
12345      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
12346      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
12347        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
12348        0,   349,     0,     0,     0,   352,   353,   354,   355,     0,
12349      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
12350      364,  1159,     0,   367,   368,   369,   370,     0,   371,   372,
12351      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
12352      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
12353        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
12354      398,   399,     0,   401,     0,     0,   403,   404,   405,     0,
12355        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
12356      415,   416,   417,   418,   419,   420,   421,   422,     0,   424,
12357      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
12358        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
12359      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
12360        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
12361      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
12362      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
12363      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
12364      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
12365      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
12366        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
12367      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
12368      523,   524,     0,   525,   526,   527,   528,   529,     0,   531,
12369      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
12370      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
12371      550,   551,     0,   552,     0,   554,   555,   556,   557,   558,
12372        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
12373      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
12374        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
12375      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
12376      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
12377      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
12378      606,   607,   608,   609,   610,   611,   612,   613,   621,     0,
12379        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12380        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
12381      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
12382        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
12383      250,   251,     0,   253,   254,   255,   256,   257,     0,   259,
12384      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
12385        0,   809,   269,   270,   271,   272,     0,   273,   274,   275,
12386      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
12387      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
12388      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
12389        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
12390      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
12391      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
12392      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
12393      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
12394      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
12395      346,   347,     0,   348,     0,   349,     0,     0,     0,   352,
12396      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
12397        0,   361,   362,   363,   364,   365,     0,   367,   368,   369,
12398      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
12399      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
12400      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
12401      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
12402      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
12403      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
12404      812,   422,     0,   424,   425,   426,   427,   428,   429,   430,
12405      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
12406      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
12407        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
12408      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
12409      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
12410      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
12411      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
12412      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
12413      501,     0,   502,   503,     0,   813,   506,   507,   508,   509,
12414      510,   511,   512,   513,   814,   515,   516,   517,   518,   519,
12415        0,   520,   521,   522,   523,  1335,     0,   525,   526,   527,
12416      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
12417      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
12418      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
12419      555,   556,   557,   558,     0,   559,   816,   561,     0,     0,
12420      817,   563,   564,   565,   566,     0,   567,   568,   569,   570,
12421      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
12422      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
12423        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
12424        0,     0,   594,   595,   596,   597,   598,   818,   600,   601,
12425      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
12426      612,   613,   621,     0,     0,     0,     0,     0,     0,     0,
12427        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
12428      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
12429      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
12430      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
12431      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
12432      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
12433        0,   273,   274,   275,   276,   277,     0,     0,     0,   279,
12434      280,   281,   282,   283,   284,     0,   286,   287,   288,     0,
12435      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
12436      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
12437      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
12438      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
12439      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
12440      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
12441      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
12442        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
12443        0,     0,     0,   352,   353,   354,   355,     0,   356,   357,
12444        0,   358,   359,   360,     0,   361,   362,   363,   364,  1807,
12445        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
12446      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
12447      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
12448        0,   393,   394,   395,   396,   397,     0,     0,   398,   399,
12449        0,   401,     0,     0,   403,   404,   405,     0,     0,   406,
12450      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
12451      417,   418,   419,   420,   421,   422,     0,   424,   425,   426,
12452      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
12453      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
12454        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
12455      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
12456      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
12457      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
12458      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12459      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
12460      497,   498,   499,   500,   501,     0,   502,   503,     0,   505,
12461      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
12462      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
12463        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
12464      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
12465      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
12466        0,   552,     0,   554,   555,   556,   557,   558,     0,   559,
12467      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
12468      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
12469      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
12470      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
12471      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
12472      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
12473      608,   609,   610,   611,   612,   613,   621,     0,     0,     0,
12474        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12475        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
12476      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
12477        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
12478        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
12479      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
12480      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
12481        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
12482      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
12483        0,     0,   296,   297,   298,     0,     0,     0,     0,     0,
12484        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
12485      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
12486      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
12487      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
12488      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
12489      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
12490        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
12491      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
12492      362,   363,   364,  1841,     0,   367,   368,   369,   370,     0,
12493      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
12494      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
12495      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
12496        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
12497      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
12498      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
12499        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
12500      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
12501      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
12502      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
12503      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
12504        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
12505      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
12506      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
12507      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
12508      502,   503,     0,   505,   506,   507,   508,   509,   510,   511,
12509      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
12510      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
12511        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
12512      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
12513      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
12514      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
12515      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
12516      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
12517        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
12518        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
12519      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
12520      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
12521      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12522        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
12523      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
12524        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
12525      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
12526        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
12527      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
12528      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
12529      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
12530      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
12531        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
12532      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
12533      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
12534        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
12535      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
12536      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
12537      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
12538        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
12539      359,   360,     0,   361,   362,   363,   364,  1843,     0,   367,
12540      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
12541      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
12542      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
12543      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
12544        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
12545      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
12546      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
12547      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
12548      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
12549      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
12550      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
12551      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
12552      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
12553      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
12554      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
12555      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
12556      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
12557      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
12558      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
12559      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
12560      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
12561        0,   554,   555,   556,   557,   558,     0,   559,   560,   561,
12562        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
12563      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
12564      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
12565      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
12566        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
12567      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
12568      610,   611,   612,   613,   621,     0,     0,     0,     0,     0,
12569        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12570        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
12571      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
12572      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
12573      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
12574      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
12575      271,   272,     0,   273,   274,   275,   276,   277,     0,     0,
12576        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
12577      288,     0,   289,   290,   291,   292,   293,   294,     0,     0,
12578      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
12579      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
12580      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
12581      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
12582      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
12583      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
12584        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
12585        0,   349,     0,     0,     0,   352,   353,   354,   355,     0,
12586      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
12587      364,  1882,     0,   367,   368,   369,   370,     0,   371,   372,
12588      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
12589      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
12590        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
12591      398,   399,     0,   401,     0,     0,   403,   404,   405,     0,
12592        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
12593      415,   416,   417,   418,   419,   420,   421,   422,     0,   424,
12594      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
12595        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
12596      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
12597        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
12598      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
12599      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
12600      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
12601      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
12602      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
12603        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
12604      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
12605      523,   524,     0,   525,   526,   527,   528,   529,     0,   531,
12606      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
12607      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
12608      550,   551,     0,   552,     0,   554,   555,   556,   557,   558,
12609        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
12610      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
12611        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
12612      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
12613      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
12614      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
12615      606,   607,   608,   609,   610,   611,   612,   613,   621,     0,
12616        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12617        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
12618      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
12619        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
12620      250,   251,     0,   253,   254,   255,   256,   257,     0,   259,
12621      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
12622        0,   268,   269,   270,   271,   272,     0,   273,   274,   275,
12623      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
12624      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
12625      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
12626        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
12627      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
12628      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
12629      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
12630      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
12631      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
12632      346,   347,     0,   348,     0,   349,     0,     0,     0,   352,
12633      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
12634        0,   361,   362,   363,   364,  1884,     0,   367,   368,   369,
12635      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
12636      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
12637      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
12638      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
12639      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
12640      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
12641      421,   422,     0,   424,   425,   426,   427,   428,   429,   430,
12642      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
12643      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
12644        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
12645      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
12646      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
12647      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
12648      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
12649      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
12650      501,     0,   502,   503,     0,   505,   506,   507,   508,   509,
12651      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
12652        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
12653      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
12654      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
12655      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
12656      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
12657      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
12658      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
12659      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
12660        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
12661        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
12662      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
12663      612,   613,   621,     0,     0,     0,     0,     0,     0,     0,
12664        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
12665      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
12666      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
12667      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
12668      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
12669      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
12670        0,   273,   274,   275,   276,   277,     0,     0,     0,   279,
12671      280,   281,   282,   283,   284,     0,   286,   287,   288,     0,
12672      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
12673      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
12674      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
12675      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
12676      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
12677      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
12678      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
12679        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
12680        0,     0,     0,   352,   353,   354,   355,     0,   356,   357,
12681        0,   358,   359,   360,     0,   361,   362,   363,   364,  1886,
12682        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
12683      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
12684      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
12685        0,   393,   394,   395,   396,   397,     0,     0,   398,   399,
12686        0,   401,     0,     0,   403,   404,   405,     0,     0,   406,
12687      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
12688      417,   418,   419,   420,   421,   422,     0,   424,   425,   426,
12689      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
12690      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
12691        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
12692      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
12693      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
12694      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
12695      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12696      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
12697      497,   498,   499,   500,   501,     0,   502,   503,     0,   505,
12698      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
12699      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
12700        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
12701      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
12702      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
12703        0,   552,     0,   554,   555,   556,   557,   558,     0,   559,
12704      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
12705      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
12706      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
12707      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
12708      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
12709      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
12710      608,   609,   610,   611,   612,   613,   621,     0,     0,     0,
12711        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12712        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
12713      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
12714        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
12715        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
12716      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
12717      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
12718        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
12719      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
12720        0,     0,   296,   297,   298,     0,     0,     0,     0,     0,
12721        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
12722      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
12723      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
12724      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
12725      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
12726      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
12727        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
12728      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
12729      362,   363,   364,   365,     0,   367,   368,   369,   370,     0,
12730      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
12731      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
12732      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
12733        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
12734      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
12735      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
12736        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
12737      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
12738      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
12739      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
12740      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
12741        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
12742      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
12743      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
12744      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
12745      502,   503,     0,   505,   506,   507,   508,   509,   510,   511,
12746      512,  1978,   514,   515,   516,   517,   518,   519,     0,   520,
12747      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
12748        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
12749      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
12750      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
12751      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
12752      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
12753      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
12754        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
12755        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
12756      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
12757      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
12758      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12759        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
12760      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
12761        0,     0,     0,     0,  2603,     0,   245,   246,   247,     0,
12762      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
12763        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
12764      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
12765      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
12766      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
12767      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
12768        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
12769      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
12770      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
12771        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
12772      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
12773      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
12774      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
12775        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
12776      359,   360,     0,   361,   362,   363,   364,   365,     0,   367,
12777      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
12778      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
12779      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
12780      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
12781        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
12782      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
12783      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
12784      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
12785      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
12786      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
12787      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
12788      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
12789      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
12790      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
12791      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
12792      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
12793      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
12794      518,   519,     0,   520,   521,   522,   523,   524,     0,     0,
12795      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
12796      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
12797      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
12798        0,   554,   555,   556,   557,   558,     0,   559,   560,   561,
12799        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
12800      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
12801      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
12802      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
12803        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
12804      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
12805      610,   611,   612,   613,   621,     0,     0,     0,     0,     0,
12806        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12807        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
12808      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
12809      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
12810      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
12811      263,   264,   265,   266,   267,     0,     0,   809,   269,   270,
12812      271,   272,     0,   273,   274,   275,   276,   277,     0,     0,
12813        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
12814      288,     0,   289,   290,   291,   292,   293,   294,     0,     0,
12815      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
12816      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
12817      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
12818      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
12819      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
12820      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
12821        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
12822        0,   349,     0,     0,     0,   352,   353,   354,   355,     0,
12823      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
12824      364,   365,     0,   367,   368,   369,   370,     0,   371,   372,
12825      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
12826      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
12827        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
12828      398,   399,     0,   401,     0,     0,   403,   404,   405,     0,
12829        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
12830      415,   416,   417,   418,   419,   420,   812,   422,     0,   424,
12831      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
12832        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
12833      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
12834        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
12835      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
12836      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
12837      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
12838      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
12839      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
12840        0,   813,   506,   507,   508,   509,   510,   511,   512,   513,
12841      814,   515,   516,   517,   518,   519,     0,   520,   521,   522,
12842      523,  1335,     0,   525,   526,   527,   528,   529,     0,   531,
12843      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
12844      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
12845      550,   551,     0,   552,     0,  2636,   555,   556,   557,   558,
12846        0,   559,   816,   561,     0,     0,   817,   563,   564,   565,
12847      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
12848        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
12849      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
12850      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
12851      596,   597,   598,   818,   600,   601,   602,   603,   604,   605,
12852      606,   607,   608,   609,   610,   611,   612,   613,   621,     0,
12853        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12854        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
12855      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
12856        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
12857      250,   251,     0,   253,   254,   255,   256,   257,     0,   259,
12858      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
12859        0,   809,   269,   270,   271,   272,     0,   273,   274,   275,
12860      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
12861      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
12862      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
12863        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
12864      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
12865      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
12866      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
12867      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
12868      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
12869      346,   347,     0,   348,     0,   349,     0,     0,     0,   352,
12870      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
12871        0,   361,   362,   363,   364,   365,     0,   367,   368,   369,
12872      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
12873      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
12874      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
12875      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
12876      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
12877      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
12878      812,   422,     0,   424,   425,   426,   427,   428,   429,   430,
12879      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
12880      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
12881        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
12882      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
12883      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
12884      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
12885      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
12886      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
12887      501,     0,   502,   503,     0,   813,   506,   507,   508,   509,
12888      510,   511,   512,   513,  2701,   515,   516,   517,   518,   519,
12889        0,   520,   521,   522,   523,  2702,     0,   525,   526,   527,
12890      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
12891      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
12892      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
12893      555,   556,   557,   558,     0,   559,   816,   561,     0,     0,
12894     2703,   563,   564,   565,   566,     0,   567,   568,   569,   570,
12895      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
12896      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
12897        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
12898        0,     0,   594,   595,   596,   597,   598,   818,   600,   601,
12899      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
12900      612,   613,   621,     0,     0,     0,     0,     0,     0,     0,
12901        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
12902      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
12903      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
12904      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
12905      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
12906      265,   266,   267,     0,     0,   809,   269,   270,   271,   272,
12907        0,   273,   274,   275,   276,   277,     0,     0,     0,   279,
12908      280,   281,   282,   283,   284,     0,   286,   287,   288,     0,
12909      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
12910      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
12911      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
12912      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
12913      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
12914      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
12915      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
12916        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
12917        0,     0,     0,   352,   353,   354,   355,     0,   356,   357,
12918        0,   358,   359,   360,     0,   361,   362,   363,   364,   365,
12919        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
12920      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
12921      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
12922        0,   393,   394,   395,   396,   397,     0,     0,   398,   399,
12923        0,   401,     0,     0,   403,   404,   405,     0,     0,   406,
12924      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
12925      417,   418,   419,   420,   812,   422,     0,   424,   425,   426,
12926      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
12927      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
12928        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
12929      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
12930      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
12931      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
12932      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
12933      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
12934      497,   498,   499,   500,   501,     0,   502,   503,     0,   813,
12935      506,   507,   508,   509,   510,   511,   512,   513,  2780,   515,
12936      516,   517,   518,   519,     0,   520,   521,   522,   523,  2702,
12937        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
12938      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
12939      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
12940        0,   552,     0,   554,   555,   556,   557,   558,     0,   559,
12941      816,   561,     0,     0,  2703,   563,   564,   565,   566,     0,
12942      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
12943      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
12944      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
12945      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
12946      598,   818,   600,   601,   602,   603,   604,   605,   606,   607,
12947      608,   609,   610,   611,   612,   613,   621,     0,     0,     0,
12948        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12949        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
12950      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
12951        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
12952        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
12953      261,   262,   263,   264,   265,   266,   267,     0,     0,   809,
12954      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
12955        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
12956      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
12957        0,     0,   296,   297,   298,     0,     0,     0,     0,     0,
12958        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
12959      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
12960      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
12961      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
12962      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
12963      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
12964        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
12965      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
12966      362,   363,   364,   365,     0,   367,   368,   369,   370,     0,
12967      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
12968      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
12969      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
12970        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
12971      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
12972      413,   414,   415,   416,   417,   418,   419,   420,   812,   422,
12973        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
12974      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
12975      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
12976      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
12977      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
12978        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
12979      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
12980      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
12981      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
12982      502,   503,     0,   813,   506,   507,   508,   509,   510,   511,
12983      512,   513,  2797,   515,   516,   517,   518,   519,     0,   520,
12984      521,   522,   523,  2702,     0,   525,   526,   527,   528,   529,
12985        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
12986      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
12987      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
12988      557,   558,     0,   559,   816,   561,     0,     0,  2703,   563,
12989      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
12990      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
12991        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
12992        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
12993      594,   595,   596,   597,   598,   818,   600,   601,   602,   603,
12994      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
12995      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
12996        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
12997      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
12998        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
12999      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
13000        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
13001      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
13002      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
13003      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
13004      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
13005        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
13006      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
13007      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
13008        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
13009      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
13010      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
13011      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
13012        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
13013      359,   360,     0,   361,   362,   363,   364,  2990,     0,   367,
13014      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
13015      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
13016      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
13017      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
13018        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
13019      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
13020      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
13021      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
13022      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
13023      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
13024      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
13025      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
13026      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
13027      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
13028      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
13029      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
13030      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
13031      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
13032      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
13033      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
13034      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
13035        0,   554,   555,   556,   557,   558,     0,   559,   560,   561,
13036        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
13037      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
13038      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
13039      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
13040        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
13041      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
13042      610,   611,   612,   613,   621,     0,     0,     0,     0,     0,
13043        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13044        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
13045      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
13046      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
13047      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
13048      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
13049      271,   272,     0,   273,   274,   275,   276,   277,     0,     0,
13050        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
13051      288,     0,   289,   290,   291,   292,   293,   294,     0,     0,
13052      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
13053      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
13054      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
13055      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
13056      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
13057      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
13058        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
13059        0,   349,     0,     0,     0,   352,   353,   354,   355,     0,
13060      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
13061      364,  2994,     0,   367,   368,   369,   370,     0,   371,   372,
13062      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
13063      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
13064        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
13065      398,   399,     0,   401,     0,     0,   403,   404,   405,     0,
13066        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
13067      415,   416,   417,   418,   419,   420,   421,   422,     0,   424,
13068      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
13069        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
13070      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
13071        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
13072      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
13073      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
13074      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
13075      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
13076      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
13077        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
13078      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
13079      523,   524,     0,   525,   526,   527,   528,   529,     0,   531,
13080      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
13081      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
13082      550,   551,     0,   552,     0,   554,   555,   556,   557,   558,
13083        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
13084      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
13085        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
13086      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
13087      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
13088      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
13089      606,   607,   608,   609,   610,   611,   612,   613,   621,     0,
13090        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13091        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
13092      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
13093        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
13094      250,   251,     0,   253,   254,   255,   256,   257,     0,   259,
13095      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
13096        0,   268,   269,   270,   271,   272,     0,   273,   274,   275,
13097      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
13098      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
13099      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
13100        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
13101      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
13102      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
13103      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
13104      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
13105      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
13106      346,   347,     0,   348,     0,   349,     0,     0,     0,   352,
13107      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
13108        0,   361,   362,   363,   364,  3052,     0,   367,   368,   369,
13109      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
13110      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
13111      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
13112      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
13113      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
13114      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
13115      421,   422,     0,   424,   425,   426,   427,   428,   429,   430,
13116      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
13117      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
13118        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
13119      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
13120      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
13121      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
13122      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
13123      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
13124      501,     0,   502,   503,     0,   505,   506,   507,   508,   509,
13125      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
13126        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
13127      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
13128      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
13129      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
13130      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
13131      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
13132      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
13133      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
13134        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
13135        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
13136      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
13137      612,   613,   621,     0,     0,     0,     0,     0,     0,     0,
13138        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
13139      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
13140      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
13141      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
13142      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
13143      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
13144        0,   273,   274,   275,   276,   277,     0,     0,     0,   279,
13145      280,   281,   282,   283,   284,     0,   286,   287,   288,     0,
13146      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
13147      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
13148      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
13149      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
13150      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
13151      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
13152      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
13153        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
13154        0,     0,     0,   352,   353,   354,   355,     0,   356,   357,
13155        0,   358,   359,   360,     0,   361,   362,   363,   364,  3408,
13156        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
13157      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
13158      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
13159        0,   393,   394,   395,   396,   397,     0,     0,   398,   399,
13160        0,   401,     0,     0,   403,   404,   405,     0,     0,   406,
13161      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
13162      417,   418,   419,   420,   421,   422,     0,   424,   425,   426,
13163      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
13164      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
13165        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
13166      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
13167      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
13168      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
13169      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
13170      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
13171      497,   498,   499,   500,   501,     0,   502,   503,     0,   505,
13172      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
13173      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
13174        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
13175      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
13176      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
13177        0,   552,     0,   554,   555,   556,   557,   558,     0,   559,
13178      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
13179      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
13180      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
13181      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
13182      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
13183      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
13184      608,   609,   610,   611,   612,   613,   621,     0,     0,     0,
13185        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13186        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
13187      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
13188        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
13189        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
13190      261,   262,   263,   264,   265,   266,   267,     0,     0,   809,
13191      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
13192        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
13193      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
13194        0,     0,   296,   297,   298,     0,     0,     0,     0,     0,
13195        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
13196      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
13197      316,     0,   317,   318,   319,   320,     0,     0,   321,   322,
13198      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
13199      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
13200      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
13201        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
13202      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
13203      362,   363,   364,   365,     0,   367,   368,   369,   370,     0,
13204      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
13205      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
13206      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
13207        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
13208      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
13209      413,   414,   415,   416,   417,   418,   419,   420,   812,   422,
13210        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
13211      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
13212      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
13213      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
13214      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
13215        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
13216      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
13217      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
13218      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
13219      502,   503,     0,   813,   506,   507,   508,   509,   510,   511,
13220      512,   513,   814,   515,   516,   517,   518,   519,     0,   520,
13221      521,   522,   523,  2702,     0,   525,   526,   527,   528,   529,
13222        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
13223      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
13224      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
13225      557,   558,     0,   559,   816,   561,     0,     0,  2703,   563,
13226      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
13227      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
13228        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
13229        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
13230      594,   595,   596,   597,   598,   818,   600,   601,   602,   603,
13231      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
13232      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13233        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
13234      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
13235        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
13236      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
13237        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
13238      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
13239      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
13240      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
13241      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
13242        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
13243      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
13244      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
13245        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
13246      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
13247      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
13248      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
13249        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
13250      359,   360,     0,   361,   362,   363,   364,  3465,     0,   367,
13251      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
13252      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
13253      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
13254      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
13255        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
13256      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
13257      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
13258      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
13259      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
13260      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
13261      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
13262      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
13263      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
13264      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
13265      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
13266      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
13267      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
13268      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
13269      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
13270      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
13271      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
13272        0,   554,   555,   556,   557,   558,     0,   559,   560,   561,
13273        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
13274      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
13275      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
13276      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
13277        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
13278      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
13279      610,   611,   612,   613,   621,     0,     0,     0,     0,     0,
13280        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13281        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
13282      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
13283      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
13284      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
13285      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
13286      271,   272,     0,   273,   274,   275,   276,   277,     0,     0,
13287        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
13288      288,     0,   289,   290,   291,   292,   293,   294,     0,     0,
13289      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
13290      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
13291      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
13292      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
13293      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
13294      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
13295        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
13296        0,   349,     0,     0,     0,   352,   353,   354,   355,     0,
13297      356,   357,     0,   358,   359,   360,     0,   361,   362,   363,
13298      364,  3479,     0,   367,   368,   369,   370,     0,   371,   372,
13299      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
13300      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
13301        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
13302      398,   399,     0,   401,     0,     0,   403,   404,   405,     0,
13303        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
13304      415,   416,   417,   418,   419,   420,   421,   422,     0,   424,
13305      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
13306        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
13307      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
13308        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
13309      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
13310      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
13311      476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
13312      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
13313      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
13314        0,   505,   506,   507,   508,   509,   510,   511,   512,   513,
13315      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
13316      523,   524,     0,   525,   526,   527,   528,   529,     0,   531,
13317      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
13318      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
13319      550,   551,     0,   552,     0,   554,   555,   556,   557,   558,
13320        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
13321      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
13322        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
13323      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
13324      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
13325      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
13326      606,   607,   608,   609,   610,   611,   612,   613,   621,     0,
13327        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13328        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
13329      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
13330        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
13331      250,   251,     0,   253,   254,   255,   256,   257,     0,   259,
13332      260,     0,   261,   262,   263,   264,   265,   266,   267,     0,
13333        0,   268,   269,   270,   271,   272,     0,   273,   274,   275,
13334      276,   277,     0,     0,     0,   279,   280,   281,   282,   283,
13335      284,     0,   286,   287,   288,     0,   289,   290,   291,   292,
13336      293,   294,     0,     0,   296,   297,   298,     0,     0,     0,
13337        0,     0,     0,     0,   300,   301,   302,   303,   304,   305,
13338      306,   307,   308,     0,   309,     0,   310,   311,   312,   313,
13339      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
13340      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
13341      329,   330,   331,     0,   332,   333,   334,   335,   336,   337,
13342      338,   339,   340,   341,     0,   342,     0,   343,   344,   345,
13343      346,   347,     0,   348,     0,   349,     0,     0,     0,   352,
13344      353,   354,   355,     0,   356,   357,     0,   358,   359,   360,
13345        0,   361,   362,   363,   364,  3481,     0,   367,   368,   369,
13346      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
13347      378,     0,   380,   381,   382,   383,   384,   385,   386,     0,
13348      387,     0,   388,     0,     0,   391,     0,   393,   394,   395,
13349      396,   397,     0,     0,   398,   399,     0,   401,     0,     0,
13350      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
13351      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
13352      421,   422,     0,   424,   425,   426,   427,   428,   429,   430,
13353      431,   432,   433,   434,     0,   435,   436,     0,   438,     0,
13354      439,   440,   441,   442,   443,   444,     0,   445,   446,     0,
13355        0,   447,   448,   449,     0,     0,   450,   451,   452,     0,
13356      454,     0,   456,   457,   458,   459,   460,   461,   462,   463,
13357      464,   465,     0,   466,   467,   468,   469,   470,   471,   472,
13358      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
13359      482,   483,   484,   485,   486,   487,   488,     0,   489,   490,
13360      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
13361      501,     0,   502,   503,     0,   505,   506,   507,   508,   509,
13362      510,   511,   512,   513,   514,   515,   516,   517,   518,   519,
13363        0,   520,   521,   522,   523,   524,     0,   525,   526,   527,
13364      528,   529,     0,   531,   532,   533,   534,     0,   535,   536,
13365      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
13366      547,   548,   549,     0,   550,   551,     0,   552,     0,   554,
13367      555,   556,   557,   558,     0,   559,   560,   561,     0,     0,
13368      562,   563,   564,   565,   566,     0,   567,   568,   569,   570,
13369      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
13370      579,     0,     0,   580,   581,   582,   583,   584,   585,   586,
13371        0,   587,     0,   589,   590,   591,   592,     0,     0,   593,
13372        0,     0,   594,   595,   596,   597,   598,   599,   600,   601,
13373      602,   603,   604,   605,   606,   607,   608,   609,   610,   611,
13374      612,   613,   621,     0,     0,     0,     0,     0,     0,     0,
13375        0,     0,     0,     0,     0,     0,     0,     0,     0,   234,
13376      235,   236,   237,   238,   239,   240,   241,     0,   242,   243,
13377      244,     0,     0,     0,     0,     0,     0,     0,   245,   246,
13378      247,     0,   248,   249,   250,   251,     0,   253,   254,   255,
13379      256,   257,     0,   259,   260,     0,   261,   262,   263,   264,
13380      265,   266,   267,     0,     0,   268,   269,   270,   271,   272,
13381        0,   273,   274,   275,   276,   277,     0,     0,     0,   279,
13382      280,   281,   282,   283,   284,     0,   286,   287,   288,     0,
13383      289,   290,   291,   292,   293,   294,     0,     0,   296,   297,
13384      298,     0,     0,     0,     0,     0,     0,     0,   300,   301,
13385      302,   303,   304,   305,   306,   307,   308,     0,   309,     0,
13386      310,   311,   312,   313,   314,   315,   316,     0,   317,   318,
13387      319,   320,     0,     0,   321,   322,   323,   324,   325,     0,
13388      326,   327,   328,     0,   329,   330,   331,     0,   332,   333,
13389      334,   335,   336,   337,   338,   339,   340,   341,     0,   342,
13390        0,   343,   344,   345,   346,   347,     0,   348,     0,   349,
13391        0,     0,     0,   352,   353,   354,   355,     0,   356,   357,
13392        0,   358,   359,   360,     0,   361,   362,   363,   364,  3625,
13393        0,   367,   368,   369,   370,     0,   371,   372,   373,   374,
13394      375,   376,   377,     0,   378,     0,   380,   381,   382,   383,
13395      384,   385,   386,     0,   387,     0,   388,     0,     0,   391,
13396        0,   393,   394,   395,   396,   397,     0,     0,   398,   399,
13397        0,   401,     0,     0,   403,   404,   405,     0,     0,   406,
13398      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
13399      417,   418,   419,   420,   421,   422,     0,   424,   425,   426,
13400      427,   428,   429,   430,   431,   432,   433,   434,     0,   435,
13401      436,     0,   438,     0,   439,   440,   441,   442,   443,   444,
13402        0,   445,   446,     0,     0,   447,   448,   449,     0,     0,
13403      450,   451,   452,     0,   454,     0,   456,   457,   458,   459,
13404      460,   461,   462,   463,   464,   465,     0,   466,   467,   468,
13405      469,   470,   471,   472,   473,     0,   474,   475,   476,   477,
13406      478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
13407      488,     0,   489,   490,   491,   492,   493,   494,   495,   496,
13408      497,   498,   499,   500,   501,     0,   502,   503,     0,   505,
13409      506,   507,   508,   509,   510,   511,   512,   513,   514,   515,
13410      516,   517,   518,   519,     0,   520,   521,   522,   523,   524,
13411        0,   525,   526,   527,   528,   529,     0,   531,   532,   533,
13412      534,     0,   535,   536,   537,   538,   539,   540,   541,   542,
13413      543,   544,   545,   546,   547,   548,   549,     0,   550,   551,
13414        0,   552,     0,   554,   555,   556,   557,   558,     0,   559,
13415      560,   561,     0,     0,   562,   563,   564,   565,   566,     0,
13416      567,   568,   569,   570,   571,   572,   573,   574,     0,     0,
13417      575,   576,   577,   578,   579,     0,     0,   580,   581,   582,
13418      583,   584,   585,   586,     0,   587,     0,   589,   590,   591,
13419      592,     0,     0,   593,     0,     0,   594,   595,   596,   597,
13420      598,   599,   600,   601,   602,   603,   604,   605,   606,   607,
13421      608,   609,   610,   611,   612,   613,   621,     0,     0,     0,
13422        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13423        0,     0,     0,   234,   235,   236,   237,   238,   239,   240,
13424      241,     0,   242,   243,   244,     0,     0,     0,     0,     0,
13425        0,     0,   245,   246,   247,     0,   248,   249,   250,   251,
13426        0,   253,   254,   255,   256,   257,     0,   259,   260,     0,
13427      261,   262,   263,   264,   265,   266,   267,     0,     0,   268,
13428      269,   270,   271,   272,     0,   273,   274,   275,   276,   277,
13429        0,     0,     0,   279,   280,   281,   282,   283,   284,     0,
13430      286,   287,   288,     0,   289,   290,   291,   292,   293,   294,
13431        0,     0,   296,   297,   298,     0,     0,     0,     0,     0,
13432        0,     0,   300,   301,   302,   303,   304,   305,   306,   307,
13433      308,     0,   309,     0,   310,   311,   312,   313,   314,   315,
13434      316,     0,   317,   318,   319,   320,     0,     0,   321,  3665,
13435      323,   324,   325,     0,   326,   327,   328,     0,   329,   330,
13436      331,     0,   332,   333,   334,   335,   336,   337,   338,   339,
13437      340,   341,     0,   342,     0,   343,   344,   345,   346,   347,
13438        0,   348,     0,   349,     0,     0,     0,   352,   353,   354,
13439      355,     0,   356,   357,     0,   358,   359,   360,     0,   361,
13440      362,   363,   364,   365,     0,   367,   368,   369,   370,     0,
13441      371,   372,   373,   374,   375,   376,   377,     0,   378,     0,
13442      380,   381,   382,   383,   384,   385,   386,     0,   387,     0,
13443      388,     0,     0,   391,     0,   393,   394,   395,   396,   397,
13444        0,     0,   398,   399,     0,   401,     0,     0,   403,   404,
13445      405,     0,     0,   406,   407,   408,   409,   410,   411,   412,
13446      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
13447        0,   424,   425,   426,   427,   428,   429,   430,   431,   432,
13448      433,   434,     0,   435,   436,     0,   438,     0,   439,   440,
13449      441,   442,   443,   444,     0,   445,   446,     0,     0,   447,
13450      448,   449,     0,     0,   450,   451,   452,     0,   454,     0,
13451      456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
13452        0,   466,   467,   468,   469,   470,   471,   472,   473,     0,
13453      474,   475,   476,   477,   478,   479,   480,   481,   482,   483,
13454      484,   485,   486,   487,   488,     0,   489,   490,   491,   492,
13455      493,   494,   495,   496,   497,   498,   499,   500,   501,     0,
13456      502,   503,     0,   505,   506,   507,   508,   509,   510,   511,
13457      512,   513,   514,   515,   516,   517,   518,   519,     0,   520,
13458      521,   522,   523,   524,     0,   525,   526,   527,   528,   529,
13459        0,   531,   532,   533,   534,     0,   535,   536,   537,   538,
13460      539,   540,   541,   542,   543,   544,   545,   546,   547,   548,
13461      549,     0,   550,   551,     0,   552,     0,   554,   555,   556,
13462      557,   558,     0,   559,   560,   561,     0,     0,   562,   563,
13463      564,   565,   566,     0,   567,   568,   569,   570,   571,   572,
13464      573,   574,     0,     0,   575,   576,   577,   578,   579,     0,
13465        0,   580,   581,   582,   583,   584,   585,   586,     0,   587,
13466        0,   589,   590,   591,   592,     0,     0,   593,     0,     0,
13467      594,   595,   596,   597,   598,   599,   600,   601,   602,   603,
13468      604,   605,   606,   607,   608,   609,   610,   611,   612,   613,
13469      621,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13470        0,     0,     0,     0,     0,     0,     0,   234,   235,   236,
13471      237,   238,   239,   240,   241,     0,   242,   243,   244,     0,
13472        0,     0,     0,     0,     0,     0,   245,   246,   247,     0,
13473      248,   249,   250,   251,     0,   253,   254,   255,   256,   257,
13474        0,   259,   260,     0,   261,   262,   263,   264,   265,   266,
13475      267,     0,     0,   268,   269,   270,   271,   272,     0,   273,
13476      274,   275,   276,   277,     0,     0,     0,   279,   280,   281,
13477      282,   283,   284,     0,   286,   287,   288,     0,   289,   290,
13478      291,   292,   293,   294,     0,     0,   296,   297,   298,     0,
13479        0,     0,     0,     0,     0,     0,   300,   301,   302,   303,
13480      304,   305,   306,   307,   308,     0,   309,     0,   310,   311,
13481      312,   313,   314,   315,   316,     0,   317,   318,   319,   320,
13482        0,     0,   321,   322,   323,   324,   325,     0,   326,   327,
13483      328,     0,   329,   330,   331,     0,   332,   333,   334,   335,
13484      336,   337,   338,   339,   340,   341,     0,   342,     0,   343,
13485      344,   345,   346,   347,     0,   348,     0,   349,     0,     0,
13486        0,   352,   353,   354,   355,     0,   356,   357,     0,   358,
13487      359,   360,     0,   361,   362,   363,   364,  4831,     0,   367,
13488      368,   369,   370,     0,   371,   372,   373,   374,   375,   376,
13489      377,     0,   378,     0,   380,   381,   382,   383,   384,   385,
13490      386,     0,   387,     0,   388,     0,     0,   391,     0,   393,
13491      394,   395,   396,   397,     0,     0,   398,   399,     0,   401,
13492        0,     0,   403,   404,   405,     0,     0,   406,   407,   408,
13493      409,   410,   411,   412,   413,   414,   415,   416,   417,   418,
13494      419,   420,   421,   422,     0,   424,   425,   426,   427,   428,
13495      429,   430,   431,   432,   433,   434,     0,   435,   436,     0,
13496      438,     0,   439,   440,   441,   442,   443,   444,     0,   445,
13497      446,     0,     0,   447,   448,   449,     0,     0,   450,   451,
13498      452,     0,   454,     0,   456,   457,   458,   459,   460,   461,
13499      462,   463,   464,   465,     0,   466,   467,   468,   469,   470,
13500      471,   472,   473,     0,   474,   475,   476,   477,   478,   479,
13501      480,   481,   482,   483,   484,   485,   486,   487,   488,     0,
13502      489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
13503      499,   500,   501,     0,   502,   503,     0,   505,   506,   507,
13504      508,   509,   510,   511,   512,   513,   514,   515,   516,   517,
13505      518,   519,     0,   520,   521,   522,   523,   524,     0,   525,
13506      526,   527,   528,   529,     0,   531,   532,   533,   534,     0,
13507      535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
13508      545,   546,   547,   548,   549,     0,   550,   551,     0,   552,
13509        0,   554,   555,   556,   557,   558,     0,   559,   560,   561,
13510        0,     0,   562,   563,   564,   565,   566,     0,   567,   568,
13511      569,   570,   571,   572,   573,   574,     0,     0,   575,   576,
13512      577,   578,   579,     0,     0,   580,   581,   582,   583,   584,
13513      585,   586,     0,   587,     0,   589,   590,   591,   592,     0,
13514        0,   593,     0,     0,   594,   595,   596,   597,   598,   599,
13515      600,   601,   602,   603,   604,   605,   606,   607,   608,   609,
13516      610,   611,   612,   613,   845,     0,     0,     0,     0,     0,
13517        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13518        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
13519      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
13520      245,   246,   247,     0,   248,   249,   250,   251,   252,   253,
13521      254,   255,     0,   846,   258,   847,   848,     0,   261,   262,
13522      263,   264,   265,   266,   267,     0,     0,   268,   269,   849,
13523      850,   272,     0,   273,   274,   275,   276,     0,     0,   278,
13524        0,   279,   280,   281,   282,   283,   284,   285,   286,   287,
13525      288,     0,   289,   290,   291,   292,   293,   294,     0,   295,
13526      296,   297,   298,     0,     0,     0,   299,     0,     0,     0,
13527      300,   301,   302,   303,   304,   305,   851,   852,   308,     0,
13528      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
13529      317,   318,   319,   320,     0,     0,   321,   322,   853,   324,
13530      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
13531      332,   333,   334,   335,     0,   337,   338,   339,   340,     0,
13532        0,   342,     0,   343,   344,   345,   854,   347,     0,   348,
13533        0,   349,   350,     0,   351,   352,   353,   354,   355,     0,
13534      356,     0,     0,     0,   359,   360,     0,   361,   362,   363,
13535      364,   365,   366,   367,   368,   369,   370,  2611,   371,   372,
13536      373,   374,   375,   376,   377,     0,   378,   379,  2612,   381,
13537      382,   383,   384,   855,   856,     0,   857,     0,   388,   389,
13538      390,   391,   392,   393,   394,   395,   396,   397,     0,     0,
13539      398,     0,   400,   401,   402,     0,   403,   404,   405,     0,
13540        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
13541      415,   416,   417,   418,   419,   420,   421,   858,   423,   859,
13542      425,   426,   427,   428,   429,   430,   431,     0,     0,   434,
13543        0,   435,   436,   437,   438,     0,     0,   440,   860,   442,
13544      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
13545        0,     0,   450,   451,  2614,   453,   454,   455,     0,   457,
13546      458,   459,   460,   461,   462,   463,   464,   465,     0,   466,
13547      467,     0,   469,     0,   471,   472,   473,     0,   474,   475,
13548      476,   477,   478,   479,   480,   481,   482,   483,   861,   485,
13549      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
13550      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
13551      504,   505,   506,   507,   508,   509,     0,   511,   512,   513,
13552      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
13553      523,   524,     0,   525,   526,  2615,   528,   529,   530,   531,
13554      532,   863,   534,     0,   535,   536,   537,   538,   539,   540,
13555      541,   542,   543,   544,   545,   546,   547,     0,   549,     0,
13556      550,   551,     0,   552,   553,   554,   555,   556,   557,   558,
13557        0,   559,   864,   865,     0,     0,   562,   563,     0,   565,
13558        0,     0,   567,   568,   569,   570,   571,   572,   573,   574,
13559        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
13560      581,   582,   583,   584,     0,   866,  2616,   587,   588,   589,
13561      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
13562      596,   597,   598,   599,   621,     0,     0,     0,     0,     0,
13563        0,     0,     0,     0,     0,   611,   612,   613,     0,     0,
13564        0,   234,   235,   236,   237,   238,   239,   240,   241,     0,
13565      242,   243,   244,     0,     0,     0,     0,     0,     0,     0,
13566      245,   246,   247,     0,   248,   249,   250,   251,     0,   253,
13567      254,   255,   256,   257,     0,   259,   260,     0,   261,   262,
13568      263,   264,   265,   266,   267,     0,     0,   268,   269,   270,
13569      271,   272,     0,   273,   274,   275,   276,   277,     0,     0,
13570        0,   279,   280,   281,   282,   283,   284,     0,   286,   287,
13571      288,     0,   289,   290,   291,   292,   293,   294,     0,     0,
13572      296,   297,   298,     0,     0,     0,     0,     0,     0,     0,
13573      300,   301,   302,   303,   304,   305,   306,   307,   308,     0,
13574      309,     0,   310,   311,   312,   313,   314,   315,   316,     0,
13575      317,   318,   319,   320,     0,     0,   321,   322,   323,   324,
13576      325,     0,   326,   327,   328,     0,   329,   330,   331,     0,
13577      332,   333,   334,   335,   336,   337,   338,   339,   340,   341,
13578        0,   342,     0,   343,   344,   345,   346,   347,     0,   348,
13579        0,   349,     0,     0,     0,   352,   353,   354,   355,     0,
13580      356,   357,     0,   358,     0,   360,     0,   361,   362,   363,
13581      364,   365,     0,   367,   368,   369,   370,     0,   371,   372,
13582      373,   374,   375,   376,   377,     0,   378,     0,   380,   381,
13583      382,   383,   384,   385,   386,     0,   387,     0,   388,     0,
13584        0,   391,     0,   393,   394,   395,   396,   397,     0,     0,
13585      398,   399,     0,   401,     0,     0,   403,   404,   405,     0,
13586        0,   406,   407,   408,   409,   410,   411,   412,   413,   414,
13587      415,   416,   417,   418,   419,   420,   421,   422,     0,   424,
13588      425,   426,   427,   428,   429,   430,   431,   432,   433,   434,
13589        0,   435,   436,     0,   438,     0,   439,   440,   441,   442,
13590      443,   444,     0,   445,   446,     0,     0,   447,   448,   449,
13591        0,     0,   450,   451,   452,     0,   454,     0,   456,   457,
13592      458,   459,   460,   461,   462,     0,   464,   465,     0,   466,
13593      467,   468,   469,   470,   471,   472,   473,     0,   474,   475,
13594      476,   477,   478,   479,   480,   481,     0,   483,   484,   485,
13595      486,   487,   488,     0,   489,   490,   491,   492,   493,   494,
13596      495,   496,   497,   498,   499,   500,   501,     0,   502,   503,
13597        0,   505,   506,   507,   508,   509,   510,     0,   512,   513,
13598      514,   515,   516,   517,   518,   519,     0,   520,   521,   522,
13599      523,   524,     0,   525,   526,   527,   528,   529,     0,   531,
13600      532,   533,   534,     0,   535,   536,   537,   538,   539,   540,
13601      541,   542,   543,   544,   545,   546,   547,   548,   549,     0,
13602      550,   551,     0,   552,     0,   554,   555,   556,   557,   558,
13603        0,   559,   560,   561,     0,     0,   562,   563,   564,   565,
13604      566,     0,   567,   568,   569,   570,   571,   572,   573,   574,
13605        0,     0,   575,   576,   577,   578,   579,     0,     0,   580,
13606      581,   582,   583,   584,   585,   586,     0,   587,     0,   589,
13607      590,   591,   592,     0,     0,   593,     0,     0,   594,   595,
13608      596,   597,   598,   599,   600,   601,   602,   603,   604,   605,
13609      606,   607,   608,   609,   610,   611,   612,   613,   845,     0,
13610        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
13611        0,     0,     0,     0,     0,   234,   235,   236,   237,   238,
13612      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
13613        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
13614      250,   251,   252,   253,   254,   255,     0,   846,   258,   847,
13615      848,     0,   261,   262,   263,   264,   265,   266,   267,     0,
13616        0,   268,   269,   849,   850,   272,     0,   273,   274,   275,
13617      276,     0,     0,   278,     0,   279,   280,   281,   282,   283,
13618      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
13619      293,   294,     0,   295,   296,   297,   298,     0,     0,     0,
13620      299,     0,     0,     0,   300,   301,   302,   303,   304,   305,
13621      851,   852,   308,     0,   309,     0,   310,   311,   312,   313,
13622      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
13623      321,   322,   853,   324,   325,     0,   326,   327,   328,     0,
13624      329,   330,   331,     0,   332,   333,   334,   335,     0,   337,
13625      338,   339,   340,     0,     0,   342,     0,   343,   344,   345,
13626      854,   347,     0,   348,     0,   349,   350,     0,   351,   352,
13627      353,   354,   355,     0,   356,     0,     0,     0,   359,   360,
13628        0,   361,   362,   363,   364,   365,   366,   367,   368,   369,
13629      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
13630      378,   379,     0,   381,   382,   383,   384,   855,   856,     0,
13631      857,     0,   388,   389,   390,   391,   392,   393,   394,   395,
13632      396,   397,     0,     0,   398,     0,   400,   401,   402,     0,
13633      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
13634      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
13635      421,   858,   423,   859,   425,   426,   427,   428,   429,   430,
13636      431,     0,     0,   434,     0,   435,   436,   437,   438,  2697,
13637        0,   440,   860,   442,   443,   444,     0,   445,   446,     0,
13638        0,   447,   448,   449,     0,     0,   450,   451,     0,   453,
13639      454,   455,     0,   457,   458,   459,   460,   461,   462,   463,
13640      464,   465,     0,   466,   467,     0,   469,     0,   471,   472,
13641      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
13642      482,   483,   861,   485,   486,   487,   488,     0,   489,   490,
13643      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
13644      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
13645        0,   511,   512,   513,   514,   515,   516,   517,   518,   519,
13646        0,   520,   521,   522,   523,   524,     0,   525,   526,  2615,
13647      528,   529,   530,   531,   532,   863,   534,     0,   535,   536,
13648      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
13649      547,     0,   549,     0,   550,   551,  4388,   552,   553,   554,
13650      555,   556,   557,   558,     0,   559,   864,   865,     0,     0,
13651      562,   563,     0,   565,     0,     0,   567,   568,   569,   570,
13652      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
13653      579,     0,     0,   580,   581,   582,   583,   584,     0,   866,
13654        0,   587,   588,   589,   590,   591,   592,     0,     0,   593,
13655        0,     0,   594,   595,   596,   597,   598,   599,   845,     0,
13656        0,     0,     0,     0,     0,     0,     0,     0,     0,   611,
13657      612,   613,     0,     0,     0,   234,   235,   236,   237,   238,
13658      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
13659        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
13660      250,   251,   252,   253,   254,   255,     0,   846,   258,   847,
13661      848,     0,   261,   262,   263,   264,   265,   266,   267,     0,
13662        0,   268,   269,   849,   850,   272,     0,   273,   274,   275,
13663      276,     0,     0,   278,     0,   279,   280,   281,   282,   283,
13664      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
13665      293,   294,     0,   295,   296,   297,   298,     0,     0,     0,
13666      299,     0,     0,     0,   300,   301,   302,   303,   304,   305,
13667      851,   852,   308,     0,   309,     0,   310,   311,   312,   313,
13668      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
13669      321,   322,   853,   324,   325,     0,   326,   327,   328,     0,
13670      329,   330,   331,     0,   332,   333,   334,   335,     0,   337,
13671      338,   339,   340,     0,     0,   342,     0,   343,   344,   345,
13672      854,   347,     0,   348,     0,   349,   350,     0,   351,   352,
13673      353,   354,   355,     0,   356,     0,     0,     0,   359,   360,
13674        0,   361,   362,   363,   364,   365,   366,   367,   368,   369,
13675      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
13676      378,   379,     0,   381,   382,   383,   384,   855,   856,     0,
13677      857,     0,   388,   389,   390,   391,   392,   393,   394,   395,
13678      396,   397,     0,     0,   398,     0,   400,   401,   402,     0,
13679      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
13680      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
13681      421,   858,   423,   859,   425,   426,   427,   428,   429,   430,
13682      431,  2770,     0,   434,     0,   435,   436,   437,   438,     0,
13683        0,   440,   860,   442,   443,   444,     0,   445,   446,     0,
13684        0,   447,   448,   449,     0,     0,   450,   451,     0,   453,
13685      454,   455,     0,   457,   458,   459,   460,   461,   462,   463,
13686      464,   465,     0,   466,   467,     0,   469,     0,   471,   472,
13687      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
13688      482,   483,   861,   485,   486,   487,   488,     0,   489,   490,
13689      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
13690      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
13691        0,   511,   512,   513,   514,   515,   516,   517,   518,   519,
13692        0,   520,   521,   522,   523,   524,     0,   525,   526,   862,
13693      528,   529,   530,   531,   532,   863,   534,     0,   535,   536,
13694      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
13695      547,     0,   549,     0,   550,   551,     0,   552,   553,   554,
13696      555,   556,   557,   558,     0,   559,   864,   865,     0,     0,
13697      562,   563,     0,   565,     0,     0,   567,   568,   569,   570,
13698      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
13699      579,     0,     0,   580,   581,   582,   583,   584,     0,   866,
13700        0,   587,   588,   589,   590,   591,   592,     0,     0,   593,
13701        0,     0,   594,   595,   596,   597,   598,   599,   845,     0,
13702        0,     0,     0,     0,     0,     0,     0,     0,     0,   611,
13703      612,   613,     0,     0,     0,   234,   235,   236,   237,   238,
13704      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
13705        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
13706      250,   251,   252,   253,   254,   255,     0,   846,   258,   847,
13707      848,     0,   261,   262,   263,   264,   265,   266,   267,     0,
13708        0,   268,   269,   849,   850,   272,     0,   273,   274,   275,
13709      276,     0,     0,   278,     0,   279,   280,   281,   282,   283,
13710      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
13711      293,   294,     0,   295,   296,   297,   298,     0,     0,     0,
13712      299,     0,     0,     0,   300,   301,   302,   303,   304,   305,
13713      851,   852,   308,     0,   309,     0,   310,   311,   312,   313,
13714      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
13715      321,   322,   853,   324,   325,     0,   326,   327,   328,     0,
13716      329,   330,   331,     0,   332,   333,   334,   335,     0,   337,
13717      338,   339,   340,     0,     0,   342,     0,   343,   344,   345,
13718      854,   347,     0,   348,     0,   349,   350,     0,   351,   352,
13719      353,   354,   355,     0,   356,     0,     0,     0,   359,   360,
13720        0,   361,   362,   363,   364,   365,   366,   367,   368,   369,
13721      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
13722      378,   379,     0,   381,   382,   383,   384,   855,   856,     0,
13723      857,     0,   388,   389,   390,   391,   392,   393,   394,   395,
13724      396,   397,     0,     0,   398,     0,   400,   401,   402,     0,
13725      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
13726      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
13727      421,   858,   423,   859,   425,   426,   427,   428,   429,   430,
13728      431,  4192,     0,   434,     0,   435,   436,   437,   438,     0,
13729        0,   440,   860,   442,   443,   444,     0,   445,   446,     0,
13730        0,   447,   448,   449,     0,     0,   450,   451,     0,   453,
13731      454,   455,     0,   457,   458,   459,   460,   461,   462,   463,
13732      464,   465,     0,   466,   467,     0,   469,     0,   471,   472,
13733      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
13734      482,   483,   861,   485,   486,   487,   488,     0,   489,   490,
13735      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
13736      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
13737        0,   511,   512,   513,   514,   515,   516,   517,   518,   519,
13738        0,   520,   521,   522,   523,   524,     0,   525,   526,   862,
13739      528,   529,   530,   531,   532,   863,   534,     0,   535,   536,
13740      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
13741      547,     0,   549,     0,   550,   551,     0,   552,   553,   554,
13742      555,   556,   557,   558,     0,   559,   864,   865,     0,     0,
13743      562,   563,     0,   565,     0,     0,   567,   568,   569,   570,
13744      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
13745      579,     0,     0,   580,   581,   582,   583,   584,     0,   866,
13746        0,   587,   588,   589,   590,   591,   592,     0,     0,   593,
13747        0,     0,   594,   595,   596,   597,   598,   599,   845,     0,
13748        0,     0,     0,     0,     0,     0,     0,     0,     0,   611,
13749      612,   613,     0,     0,     0,   234,   235,   236,   237,   238,
13750      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
13751        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
13752      250,   251,   252,   253,   254,   255,     0,   846,   258,   847,
13753      848,     0,   261,   262,   263,   264,   265,   266,   267,     0,
13754        0,   268,   269,   849,   850,   272,     0,   273,   274,   275,
13755      276,     0,     0,   278,     0,   279,   280,   281,   282,   283,
13756      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
13757      293,   294,     0,   295,   296,   297,   298,     0,     0,     0,
13758      299,     0,     0,     0,   300,   301,   302,   303,   304,   305,
13759      851,   852,   308,     0,   309,     0,   310,   311,   312,   313,
13760      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
13761      321,   322,   853,   324,   325,     0,   326,   327,   328,     0,
13762      329,   330,   331,     0,   332,   333,   334,   335,     0,   337,
13763      338,   339,   340,     0,     0,   342,     0,   343,   344,   345,
13764      854,   347,  5639,   348,     0,   349,   350,     0,   351,   352,
13765      353,   354,   355,     0,   356,     0,     0,     0,   359,   360,
13766        0,   361,   362,   363,   364,   365,   366,   367,   368,   369,
13767      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
13768      378,   379,     0,   381,   382,   383,   384,   855,   856,     0,
13769      857,     0,   388,   389,   390,   391,   392,   393,   394,   395,
13770      396,   397,     0,     0,   398,     0,   400,   401,   402,     0,
13771      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
13772      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
13773      421,   858,   423,   859,   425,   426,   427,   428,   429,   430,
13774      431,     0,     0,   434,     0,   435,   436,   437,   438,     0,
13775        0,   440,   860,   442,   443,   444,     0,   445,   446,     0,
13776        0,   447,   448,   449,     0,     0,   450,   451,     0,   453,
13777      454,   455,     0,   457,   458,   459,   460,   461,   462,   463,
13778      464,   465,     0,   466,   467,     0,   469,     0,   471,   472,
13779      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
13780      482,   483,   861,   485,   486,   487,   488,     0,   489,   490,
13781      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
13782      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
13783        0,   511,   512,   513,   514,   515,   516,   517,   518,   519,
13784        0,   520,   521,   522,   523,   524,     0,   525,   526,   862,
13785      528,   529,   530,   531,   532,   863,   534,     0,   535,   536,
13786      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
13787      547,     0,   549,     0,   550,   551,     0,   552,   553,   554,
13788      555,   556,   557,   558,     0,   559,   864,   865,     0,     0,
13789      562,   563,     0,   565,     0,     0,   567,   568,   569,   570,
13790      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
13791      579,     0,     0,   580,   581,   582,   583,   584,     0,   866,
13792        0,   587,   588,   589,   590,   591,   592,     0,     0,   593,
13793        0,     0,   594,   595,   596,   597,   598,   599,   845,     0,
13794        0,     0,     0,     0,     0,     0,     0,     0,     0,   611,
13795      612,   613,     0,     0,     0,   234,   235,   236,   237,   238,
13796      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
13797        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
13798      250,   251,   252,   253,   254,   255,     0,   846,   258,   847,
13799      848,     0,   261,   262,   263,   264,   265,   266,   267,     0,
13800        0,   268,   269,   849,   850,   272,     0,   273,   274,   275,
13801      276,     0,     0,   278,     0,   279,   280,   281,   282,   283,
13802      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
13803      293,   294,     0,   295,   296,   297,   298,     0,     0,     0,
13804      299,     0,     0,     0,   300,   301,   302,   303,   304,   305,
13805      851,   852,   308,     0,   309,     0,   310,   311,   312,   313,
13806      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
13807      321,   322,   853,   324,   325,     0,   326,   327,   328,     0,
13808      329,   330,   331,     0,   332,   333,   334,   335,     0,   337,
13809      338,   339,   340,     0,     0,   342,     0,   343,   344,   345,
13810      854,   347,     0,   348,     0,   349,   350,     0,   351,   352,
13811      353,   354,   355,     0,   356,     0,     0,     0,   359,   360,
13812        0,   361,   362,   363,   364,   365,   366,   367,   368,   369,
13813      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
13814      378,   379,     0,   381,   382,   383,   384,   855,   856,     0,
13815      857,     0,   388,   389,   390,   391,   392,   393,   394,   395,
13816      396,   397,     0,     0,   398,     0,   400,   401,   402,     0,
13817      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
13818      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
13819      421,   858,   423,   859,   425,   426,   427,   428,   429,   430,
13820      431,     0,     0,   434,     0,   435,   436,   437,   438,     0,
13821        0,   440,   860,   442,   443,   444,     0,   445,   446,     0,
13822        0,   447,   448,   449,     0,     0,   450,   451,     0,   453,
13823      454,   455,     0,   457,   458,   459,   460,   461,   462,   463,
13824      464,   465,     0,   466,   467,     0,   469,     0,   471,   472,
13825      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
13826      482,   483,   861,   485,   486,   487,   488,     0,   489,   490,
13827      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
13828      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
13829        0,   511,   512,   513,   514,   515,   516,   517,   518,   519,
13830        0,   520,   521,   522,   523,   524,     0,   525,   526,   862,
13831      528,   529,   530,   531,   532,   863,   534,     0,   535,   536,
13832      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
13833      547,     0,   549,     0,   550,   551,     0,   552,   553,   554,
13834      555,   556,   557,   558,     0,   559,   864,   865,     0,     0,
13835      562,   563,     0,   565,     0,     0,   567,   568,   569,   570,
13836      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
13837      579,     0,     0,   580,   581,   582,   583,   584,     0,   866,
13838        0,   587,   588,   589,   590,   591,   592,     0,     0,   593,
13839        0,     0,   594,   595,   596,   597,   598,   599,   845,     0,
13840        0,     0,     0,     0,     0,     0,     0,     0,     0,   611,
13841      612,   613,     0,     0,     0,   234,   235,   236,   237,   238,
13842      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
13843        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
13844      250,   251,   252,   253,   254,   255,     0,   846,   258,   847,
13845      848,     0,   261,   262,   263,   264,   265,   266,   267,     0,
13846        0,   268,   269,   849,   850,   272,     0,   273,   274,   275,
13847      276,     0,     0,   278,     0,   279,   280,   281,   282,   283,
13848      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
13849      293,   294,     0,   295,   296,   297,   298,     0,     0,     0,
13850      299,     0,     0,     0,   300,   301,   302,   303,   304,   305,
13851      851,   852,   308,     0,   309,     0,   310,   311,   312,   313,
13852      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
13853      321,   322,   853,   324,   325,     0,   326,   327,   328,     0,
13854      329,   330,   331,     0,   332,   333,   334,   335,     0,   337,
13855      338,   339,   340,     0,     0,   342,     0,   343,   344,   345,
13856      854,   347,     0,   348,     0,   349,   350,     0,   351,   352,
13857      353,   354,   355,     0,   356,     0,     0,     0,   359,   360,
13858        0,   361,   362,   363,   364,  1115,   366,   367,   368,   369,
13859      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
13860      378,   379,     0,   381,   382,   383,   384,   855,   856,     0,
13861      857,     0,   388,   389,   390,   391,   392,   393,   394,   395,
13862      396,   397,     0,     0,   398,     0,   400,   401,   402,     0,
13863      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
13864      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
13865      421,   858,   423,   859,   425,   426,   427,   428,   429,   430,
13866      431,     0,     0,   434,     0,   435,   436,   437,   438,     0,
13867        0,   440,   860,   442,   443,   444,     0,   445,   446,     0,
13868        0,   447,   448,   449,     0,     0,   450,   451,     0,   453,
13869      454,   455,     0,   457,   458,   459,   460,   461,   462,   463,
13870      464,   465,     0,   466,   467,     0,   469,     0,   471,   472,
13871      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
13872      482,   483,   861,   485,   486,   487,   488,     0,   489,   490,
13873      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
13874      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
13875        0,   511,   512,   513,   514,   515,   516,   517,   518,   519,
13876        0,   520,   521,   522,   523,   524,     0,   525,   526,   862,
13877      528,   529,   530,   531,   532,   863,   534,     0,   535,   536,
13878      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
13879      547,     0,   549,     0,   550,   551,     0,   552,   553,   554,
13880      555,   556,   557,   558,     0,   559,   864,   865,     0,     0,
13881      562,   563,     0,   565,     0,     0,   567,   568,   569,   570,
13882      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
13883      579,     0,     0,   580,   581,   582,   583,   584,     0,   866,
13884        0,   587,   588,   589,   590,   591,   592,     0,     0,   593,
13885        0,     0,   594,   595,   596,   597,   598,   599,   845,     0,
13886        0,     0,     0,     0,     0,     0,     0,     0,     0,   611,
13887      612,   613,     0,     0,     0,   234,   235,   236,   237,   238,
13888      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
13889        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
13890      250,   251,   252,   253,   254,   255,     0,   846,   258,   847,
13891      848,     0,   261,   262,   263,   264,   265,   266,   267,     0,
13892        0,   268,   269,   849,   850,   272,     0,   273,   274,   275,
13893      276,     0,     0,   278,     0,   279,   280,   281,   282,   283,
13894      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
13895      293,   294,     0,   295,   296,   297,   298,     0,     0,     0,
13896      299,     0,     0,     0,   300,   301,   302,   303,   304,   305,
13897      851,   852,   308,     0,   309,     0,   310,   311,   312,   313,
13898      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
13899      321,   322,   853,   324,   325,     0,   326,   327,   328,     0,
13900      329,   330,   331,     0,   332,   333,   334,   335,     0,   337,
13901      338,   339,   340,     0,     0,   342,     0,   343,   344,   345,
13902      854,   347,     0,   348,     0,   349,   350,     0,   351,   352,
13903      353,   354,   355,     0,   356,     0,     0,     0,   359,   360,
13904        0,   361,   362,   363,   364,  1147,   366,   367,   368,   369,
13905      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
13906      378,   379,     0,   381,   382,   383,   384,   855,   856,     0,
13907      857,     0,   388,   389,   390,   391,   392,   393,   394,   395,
13908      396,   397,     0,     0,   398,     0,   400,   401,   402,     0,
13909      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
13910      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
13911      421,   858,   423,   859,   425,   426,   427,   428,   429,   430,
13912      431,     0,     0,   434,     0,   435,   436,   437,   438,     0,
13913        0,   440,   860,   442,   443,   444,     0,   445,   446,     0,
13914        0,   447,   448,   449,     0,     0,   450,   451,     0,   453,
13915      454,   455,     0,   457,   458,   459,   460,   461,   462,   463,
13916      464,   465,     0,   466,   467,     0,   469,     0,   471,   472,
13917      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
13918      482,   483,   861,   485,   486,   487,   488,     0,   489,   490,
13919      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
13920      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
13921        0,   511,   512,   513,   514,   515,   516,   517,   518,   519,
13922        0,   520,   521,   522,   523,   524,     0,   525,   526,   862,
13923      528,   529,   530,   531,   532,   863,   534,     0,   535,   536,
13924      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
13925      547,     0,   549,     0,   550,   551,     0,   552,   553,   554,
13926      555,   556,   557,   558,     0,   559,   864,   865,     0,     0,
13927      562,   563,     0,   565,     0,     0,   567,   568,   569,   570,
13928      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
13929      579,     0,     0,   580,   581,   582,   583,   584,     0,   866,
13930        0,   587,   588,   589,   590,   591,   592,     0,     0,   593,
13931        0,     0,   594,   595,   596,   597,   598,   599,   845,     0,
13932        0,     0,     0,     0,     0,     0,     0,     0,     0,   611,
13933      612,   613,     0,     0,     0,   234,   235,   236,   237,   238,
13934      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
13935        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
13936      250,   251,   252,   253,   254,   255,     0,   846,   258,   847,
13937      848,     0,   261,   262,   263,   264,   265,   266,   267,     0,
13938        0,   268,   269,   849,   850,   272,     0,   273,   274,   275,
13939      276,     0,     0,   278,     0,   279,   280,   281,   282,   283,
13940      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
13941      293,   294,     0,   295,   296,   297,   298,     0,     0,     0,
13942      299,     0,     0,     0,   300,   301,   302,   303,   304,   305,
13943      851,   852,   308,     0,   309,     0,   310,   311,   312,   313,
13944      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
13945      321,   322,   853,   324,   325,     0,   326,   327,   328,     0,
13946      329,   330,   331,     0,   332,   333,   334,   335,     0,   337,
13947      338,   339,   340,     0,     0,   342,     0,   343,   344,   345,
13948      854,   347,     0,   348,     0,   349,   350,     0,   351,   352,
13949      353,   354,   355,     0,   356,     0,     0,     0,   359,   360,
13950        0,   361,   362,   363,   364,   365,   366,   367,   368,   369,
13951      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
13952      378,   379,     0,   381,   382,   383,   384,   855,   856,     0,
13953      857,     0,   388,   389,   390,   391,   392,   393,   394,   395,
13954      396,   397,     0,     0,   398,     0,   400,   401,   402,     0,
13955      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
13956      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
13957      421,   858,   423,   859,   425,   426,   427,   428,   429,   430,
13958      431,     0,     0,   434,     0,   435,   436,   437,   438,     0,
13959        0,   440,   860,   442,   443,   444,     0,   445,   446,     0,
13960        0,   447,   448,   449,     0,     0,   450,   451,     0,   453,
13961      454,   455,     0,   457,   458,   459,   460,   461,   462,   463,
13962      464,   465,     0,   466,   467,     0,   469,     0,   471,   472,
13963      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
13964      482,   483,   861,   485,   486,   487,   488,     0,   489,   490,
13965      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
13966      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
13967        0,   511,   512,   513,   514,   515,   516,   517,   518,   519,
13968        0,   520,   521,   522,   523,   524,     0,   525,   526,  2615,
13969      528,   529,   530,   531,   532,   863,   534,     0,   535,   536,
13970      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
13971      547,     0,   549,     0,   550,   551,     0,   552,   553,   554,
13972      555,   556,   557,   558,     0,   559,   864,   865,     0,     0,
13973      562,   563,     0,   565,     0,     0,   567,   568,   569,   570,
13974      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
13975      579,     0,     0,   580,   581,   582,   583,   584,     0,   866,
13976        0,   587,   588,   589,   590,   591,   592,     0,     0,   593,
13977        0,     0,   594,   595,   596,   597,   598,   599,   845,     0,
13978        0,     0,     0,     0,     0,     0,     0,     0,     0,   611,
13979      612,   613,     0,     0,     0,   234,   235,   236,   237,   238,
13980      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
13981        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
13982      250,   251,   252,   253,   254,   255,     0,   846,   258,   847,
13983      848,     0,   261,   262,   263,   264,   265,   266,   267,     0,
13984        0,   268,   269,   849,   850,   272,     0,   273,   274,   275,
13985      276,     0,     0,   278,     0,   279,   280,   281,   282,   283,
13986      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
13987      293,   294,     0,   295,   296,   297,   298,     0,     0,     0,
13988      299,     0,     0,     0,   300,   301,   302,   303,   304,   305,
13989      851,   852,   308,     0,   309,     0,   310,   311,   312,   313,
13990      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
13991      321,   322,   853,   324,   325,     0,   326,   327,   328,     0,
13992      329,   330,   331,     0,   332,   333,   334,   335,     0,   337,
13993      338,   339,   340,     0,     0,   342,     0,   343,   344,   345,
13994      854,   347,     0,   348,     0,   349,   350,     0,   351,   352,
13995      353,   354,   355,     0,   356,     0,     0,     0,   359,   360,
13996        0,   361,   362,   363,   364,   365,   366,   367,   368,   369,
13997      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
13998      378,   379,     0,   381,   382,   383,   384,   855,   856,     0,
13999      857,     0,   388,   389,   390,   391,   392,   393,   394,   395,
14000      396,   397,     0,     0,   398,     0,   400,   401,   402,     0,
14001      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
14002      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
14003      421,   858,   423,   859,   425,   426,   427,   428,   429,   430,
14004      431,     0,     0,   434,     0,   435,   436,   437,   438,     0,
14005        0,   440,   860,   442,   443,   444,     0,   445,   446,     0,
14006        0,   447,   448,   449,     0,     0,   450,   451,     0,   453,
14007      454,   455,     0,   457,   458,   459,   460,   461,   462,   463,
14008      464,   465,     0,   466,   467,     0,   469,     0,   471,   472,
14009      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
14010      482,   483,   861,   485,   486,   487,   488,     0,   489,   490,
14011      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
14012      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
14013        0,   511,   512,   513,   514,   515,   516,   517,   518,   519,
14014        0,   520,   521,   522,   523,   524,     0,   525,   526,     0,
14015      528,   529,   530,   531,   532,   863,   534,     0,   535,   536,
14016      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
14017      547,     0,   549,     0,   550,   551,     0,   552,   553,   554,
14018      555,   556,   557,   558,     0,   559,   864,   865,     0,     0,
14019      562,   563,     0,   565,     0,     0,   567,   568,   569,   570,
14020      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
14021      579,     0,     0,   580,   581,   582,   583,   584,     0,   866,
14022        0,   587,   588,   589,   590,   591,   592,     0,     0,   593,
14023        0,     0,   594,   595,   596,   597,   598,   599,   845,     0,
14024        0,     0,     0,     0,     0,     0,     0,     0,     0,   611,
14025      612,   613,     0,     0,     0,   234,   235,   236,   237,   238,
14026      239,   240,   241,     0,   242,   243,   244,     0,     0,     0,
14027        0,     0,     0,     0,   245,   246,   247,     0,   248,   249,
14028      250,   251,   252,   253,   254,   255,     0,     0,   258,     0,
14029        0,     0,   261,   262,   263,   264,   265,   266,   267,     0,
14030        0,   268,   269,     0,     0,   272,     0,   273,   274,   275,
14031      276,     0,     0,   278,     0,   279,   280,   281,   282,   283,
14032      284,   285,   286,   287,   288,     0,   289,   290,   291,   292,
14033      293,   294,     0,   295,   296,   297,   298,     0,     0,     0,
14034      299,     0,     0,     0,   300,   301,   302,   303,   304,   305,
14035        0,     0,   308,     0,   309,     0,   310,   311,   312,   313,
14036      314,   315,   316,     0,   317,   318,   319,   320,     0,     0,
14037      321,   322,   323,   324,   325,     0,   326,   327,   328,     0,
14038      329,   330,   331,     0,   332,   333,   334,   335,     0,   337,
14039      338,   339,   340,     0,     0,   342,     0,   343,   344,   345,
14040        0,   347,     0,   348,     0,   349,   350,     0,   351,   352,
14041      353,   354,   355,     0,   356,     0,     0,     0,   359,   360,
14042        0,   361,   362,   363,   364,   365,   366,   367,   368,   369,
14043      370,     0,   371,   372,   373,   374,   375,   376,   377,     0,
14044      378,   379,     0,   381,   382,   383,   384,     0,     0,     0,
14045        0,     0,   388,   389,   390,   391,   392,   393,   394,   395,
14046      396,   397,     0,     0,   398,     0,   400,   401,   402,     0,
14047      403,   404,   405,     0,     0,   406,   407,   408,   409,   410,
14048      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
14049      421,     0,   423,     0,   425,   426,   427,   428,   429,   430,
14050      431,     0,     0,   434,     0,   435,   436,   437,   438,     0,
14051        0,   440,     0,   442,   443,   444,     0,   445,   446,     0,
14052        0,   447,   448,   449,     0,     0,   450,   451,     0,   453,
14053      454,   455,     0,   457,   458,   459,   460,   461,   462,   463,
14054      464,   465,     0,   466,   467,     0,   469,     0,   471,   472,
14055      473,     0,   474,   475,   476,   477,   478,   479,   480,   481,
14056      482,   483,     0,   485,   486,   487,   488,     0,   489,   490,
14057      491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
14058      501,     0,   502,   503,   504,   505,   506,   507,   508,   509,
14059        0,   511,   512,   513,   514,   515,   516,   517,   518,   519,
14060        0,   520,   521,   522,   523,   524,     0,   525,   526,     0,
14061      528,   529,   530,   531,   532,     0,   534,     0,   535,   536,
14062      537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
14063      547,     0,   549,     0,   550,   551,     0,   552,   553,   554,
14064      555,   556,   557,   558,     0,   559,     0,     0,     0,     0,
14065      562,   563,     0,   565,     0,     0,   567,   568,   569,   570,
14066      571,   572,   573,   574,     0,     0,   575,   576,   577,   578,
14067      579,     0,     0,   580,   581,   582,   583,   584,     0,     0,
14068        0,   587,   588,   589,   590,   591,   592,     0,     0,   593,
14069        0,     0,   594,   595,   596,   597,   598,   599,     0,     0,
14070        0,     0,     0,     0,     0,     0,     0,     0,     0,   611,
14071      612,   613
14072 };
14073 
14074 static const yytype_int16 yycheck[] =
14075 {
14076        6,     0,  1004,     0,     0,     0,     0,     0,     0,     0,
14077        0,     0,     0,     0,     0,    56,   210,     0,   205,     0,
14078      649,     0,  1006,     0,    21,    21,   213,   210,   976,   216,
14079        0,  1012,   188,   760,   761,   762,   943,     8,    45,   766,
14080      906,   810,  1127,   704,    15,    51,  1599,   807,   993,  1472,
14081      862,     6,   880,   900,    36,   902,  1002,   718,    22,  2598,
14082      977,   786,  1188,  2965,    28,  1008,   628,  2599,  1511,  1077,
14083      851,   852,  2937,   196,  1518,  1534,   681,  1230,  1218,   860,
14084      817,   833,  3003,  3259,  1523,  3261,  1837,   726,   215,   917,
14085     1445,  3740,   865,    44,  3086,  1518,  3350,  1966,   976,  3442,
14086      832,  1666,   229,  3767,  4093,  1012,  1051,   985,  3469,  1984,
14087     1055,  4047,   942,  2856,  3789,  1060,    23,   995,  3495,   681,
14088     3497,  2619,  2620,  3756,  3109,  1070,  3691,   630,  3310,    36,
14089     2835,  2029,  1403,  4558,  4136,  2950,  3304,   967,  1083,  3359,
14090     4089,   702,   972,  1501,   705,   727,     2,  4364,  4376,   717,
14091     4171,  4322,   175,    35,  4359,  2478,  1511,  1908,  1066,  2482,
14092       42,  3324,  4574,   190,  4576,  5140,   728,    50,    41,  1114,
14093     2515,  4861,  2583,  1081,  1633,  1634,  4655,  3369,  2585,   190,
14094     4812,  3216,  3309,  3754,  3311,  4622,  4069,  5176,  1627,  5188,
14095      196,   903,  4363,   926,     0,   903,   928,     0,  5411,   205,
14096      206,  5055,     0,  1561,     0,    37,  1484,   213,   813,   215,
14097      216,   849,   850,   839,     6,  1654,  5395,  2562,  4500,    62,
14098     1578,   859,   784,   229,  2902,  4869,  2904,  2905,  4860,     6,
14099       53,  2909,  2910,  2911,   967,  2913,  2914,  2915,    46,   972,
14100       93,    11,  5096,     6,    46,     0,    24,     6,    13,    34,
14101        6,   813,    15,    16,    28,    31,   118,     0,     6,    42,
14102     2556,     6,  5103,  5104,     6,     0,    21,     6,    11,     6,
14103       15,    16,     6,   224,    62,   837,    11,    28,    15,    16,
14104       79,    42,   172,     6,  1016,    28,    13,    84,   722,    90,
14105       28,     6,     6,    28,     6,     6,  1464,    35,   145,     6,
14106      189,    56,   179,    31,   172,    62,     3,   172,     5,     6,
14107      152,   120,    79,     5,    11,   196,   120,    44,  1045,    11,
14108      111,    11,    62,    90,  3444,     6,   118,   173,   196,  5128,
14109       62,    15,   172,   184,     6,   897,     6,    28,   167,  2006,
14110      151,   285,    75,     5,    35,  5297,    28,   172,   279,    11,
14111       77,  4353,   265,    35,    62,   318,  4377,   188,   284,   270,
14112      138,   151,    41,    67,   174,  1090,   172,   174,    28,   172,
14113       13,   323,   290,   304,   172,   285,   172,  4856,  5591,   300,
14114      172,  4449,  4450,  4451,   179,  4453,  4454,  4455,  4456,  4457,
14115      196,    90,   172,   196,   372,    62,    62,   331,   196,    62,
14116      196,  1347,    77,  5582,    28,   111,   285,  1415,   330,   122,
14117      304,   220,   413,   118,   265,   355,  1359,   338,   249,  1403,
14118      265,   118,    79,   164,  5413,    79,   300,   148,  1067,   172,
14119       79,   118,   172,    90,   164,   190,     3,   172,  1345,   447,
14120      415,   172,   269,  1350,  1351,   359,   456,   274,  1562,    31,
14121     1012,   372,   492,   196,  5029,   123,   284,   497,  5312,   499,
14122      269,   196,  5037,   123,  1407,  1579,   649,  1248,  1249,   479,
14123       79,    13,    79,  1134,   388,    22,    58,     6,   325,   286,
14124      167,  1206,    79,   125,   459,    10,  1425,  5177,  1269,   497,
14125      343,   501,    17,    18,    19,   435,   226,   324,   372,    13,
14126      501,   344,    44,  5134,   217,  1116,  1279,   123,   442,   133,
14127      320,  1122,   456,   234,  5727,   194,   699,   326,   215,   260,
14128      647,  1132,    89,   501,   435,  1136,   653,   449,   172,  1140,
14129       44,  1142,   363,  1194,   497,    77,  1162,  1148,   665,   172,
14130      237,   172,   210,  1154,  1205,   497,  1157,  5499,   413,   282,
14131      210,   461,   140,   497,   224,    71,   344,   308,  1219,   265,
14132     5359,   265,   475,    77,   375,   341,   497,  1299,    13,   274,
14133     1513,   497,   111,   413,    90,   142,   497,   456,   369,   355,
14134     3700,   357,  1489,   501,   391,   375,  1168,   344,   456,  5001,
14135      441,   113,  1499,   274,   372,  1327,   441,  5810,    50,  1237,
14136     1238,  5590,   274,   497,   151,   413,  4171,   497,   497,  1487,
14137      452,    36,   344,   341,   413,   398,   367,   418,  1223,   359,
14138      501,   413,   628,  1404,   501,   487,  1264,   401,   413,  5808,
14139      427,  4196,  1800,   149,   442,   439,   344,   398,   634,   634,
14140      442,   647,   418,   634,   382,   634,   413,   653,   501,  1594,
14141      497,   497,  1597,   169,   405,   634,   407,   435,   501,   665,
14142     1568,  1223,  1664,  1665,  5877,   497,   188,  4949,   497,  2965,
14143     5301,  1549,  1298,   240,   497,   681,   501,   344,   344,  1586,
14144      686,   344,  1589,  1590,  4333,   691,  5527,   728,  1605,   695,
14145      696,   382,   501,   118,   500,   487,   702,   500,   704,   705,
14146      382,  5914,   500,  1981,   500,   365,   501,   499,   448,   732,
14147     1618,   717,   718,   501,   413,  5405,  1662,   497,  4601,  1549,
14148      497,  1433,   728,   446,  4373,  1433,   496,   249,   493,  5718,
14149      252,   727,  5731,   300,   497,  4096,   495,  1342,   497,  4372,
14150      499,   497,  1380,  1381,   501,   488,   489,   458,  1374,   497,
14151      906,   458,   497,   488,   489,   497,   413,   500,   497,   413,
14152      497,   286,   111,   497,   413,   500,   493,   435,   479,   501,
14153      501,  5746,   479,  1585,   497,   435,  1509,   741,   784,   743,
14154     1342,   745,   497,   497,   755,   497,   497,   751,  1350,  1351,
14155      497,   488,   489,   501,   456,   437,   488,   489,   488,   489,
14156      316,   807,   808,   487,   413,  1671,   413,   813,   355,  5663,
14157     1936,   495,  4377,  1439,  1798,   499,   413,   479,    24,   435,
14158      495,   772,  5676,  5812,   499,  1910,   488,   489,   375,  1562,
14159     4012,   837,  1026,   839,   501,   501,  1023,   404,   501,   406,
14160     1027,   363,  1029,  1026,    24,    87,  1579,   490,   491,   492,
14161      493,   118,  4423,  5290,  4922,  4023,   862,   501,  1943,  4027,
14162      389,   390,   401,  3898,   452,   290,  5497,   894,   501,  1954,
14163      501,  5502,  3864,  1780,  3372,    62,  3374,    29,   884,   634,
14164     3585,  3586,   833,   894,  4011,  3590,  4013,  5876,   130,  4081,
14165      111,   897,    71,   345,  1017,    62,  5586,   896,   304,   896,
14166      896,   896,   896,   896,   896,   896,   896,   896,   896,   896,
14167      896,    51,  3727,   896,   430,   896,   184,   896,  3329,   896,
14168      919,     3,  4283,  3330,   355,   290,   896,  1556,  3273,   216,
14169     5409,  5785,   138,    28,  1368,     6,   284,  5569,   811,  4282,
14170      101,   359,   815,     6,   181,  5589,   488,   489,   490,   491,
14171      492,   493,   474,  5585,  5747,    24,   167,   840,   138,   910,
14172      485,   486,   487,   488,   489,   490,   491,   492,   493,  5944,
14173      149,   273,   727,   728,   925,   497,   490,   491,   492,   493,
14174       10,  1484,    24,    13,   172,   122,   359,    17,    18,    19,
14175      169,  3669,   372,   112,    13,   169,  5167,     3,  1004,  1005,
14176     1006,     3,   123,    24,     6,  3301,  1012,    89,  3304,    30,
14177      123,  1017,  5348,    37,  5350,   200,  1022,  1023,  5354,  5355,
14178      181,  1027,  2793,  1029,   279,   166,   300,  1033,   118,  5719,
14179      174,   298,   458,  4196,   290,    59,   299,  3360,   133,   112,
14180     1983,  5030,  1048,   488,   489,   490,   491,   492,   493,   304,
14181     5071,   191,   401,   479,  3350,  5467,   196,   632,    77,   211,
14182      302,   143,   487,   207,   338,  4408,   497,  2006,  2052,   138,
14183      495,   120,   497,   498,   499,  2014,   501,   379,   265,   497,
14184      217,   200,    87,  2026,  5728,  1091,   110,  1093,  1094,   210,
14185     4344,   497,    27,   233,   300,    39,   138,   210,   365,   981,
14186      982,  2872,    32,    33,   265,  5898,   279,    10,   288,    53,
14187       13,   113,   118,   350,    17,    18,    19,   138,    87,  1846,
14188      202,   501,    24,   285,   497,   130,   118,   200,  1134,   340,
14189      285,   304,   338,   498,   401,    10,   501,   316,    13,   894,
14190       24,   896,    17,    18,    19,    10,    30,   495,    13,   724,
14191      120,   499,    17,    18,    19,    90,  1162,   344,  5160,    34,
14192     5377,   130,   342,   343,   406,   109,   372,    97,   183,    34,
14193      311,   220,  1168,   441,  5818,   199,   443,   344,  5822,   269,
14194      401,   173,  1951,  1952,   113,   372,   188,   117,  1194,   456,
14195     5407,  4093,   372,  3691,  4858,  5423,  4845,  1203,  5403,  1205,
14196     1171,  1763,  1173,   274,  1175,  5376,  1177,  4882,  1179,  1180,
14197     1181,   274,   479,  1219,   501,  1186,   401,  1223,  4851,  1880,
14198      269,   148,   152,   247,   306,   413,   250,   802,   279,  1235,
14199      497,  5875,    86,  1894,   440,  5406,   138,   377,    26,   174,
14200      359,   265,   497,  1099,     6,   501,  1907,   249,  2687,   410,
14201      252,   430,   365,   304,   138,  4616,   286,  1298,   300,   188,
14202     1266,    49,    34,   269,  2619,   209,     3,   372,   274,   359,
14203      174,  5915,  1883,   350,  2718,   299,  5612,   326,   270,   300,
14204     1891,   400,   401,  2554,  3782,    90,   359,   214,  1294,  1295,
14205     1296,  2023,  1298,   196,   456,  5939,   338,   302,  5942,   487,
14206      421,   456,   401,   373,   274,  1873,  5738,   110,   184,   163,
14207      325,   499,  1318,   118,   435,   218,  1877,   338,   173,   343,
14208      249,   265,   435,   252,   497,  2764,  2891,   400,   401,   246,
14209      372,  1892,   381,   302,  1895,  5760,  1342,  1905,  1920,  5288,
14210     1363,   356,   366,   218,  1350,  1351,   428,    97,   152,  2707,
14211      184,   372,    89,   218,   436,   131,  1982,   439,  1984,   436,
14212      372,   363,   386,   290,  1990,   141,    63,  3265,  1374,   120,
14213     1996,  1997,  1998,  1556,    71,  2004,   223,  4559,   497,  4599,
14214      152,  2007,   286,   286,  1945,   320,  2012,  1948,  1949,   265,
14215     5392,  1418,  1419,  5825,  1421,  4563,   501,  1403,   300,  5401,
14216     4568,   406,   175,  4571,   334,   142,   152,  1418,  1419,   315,
14217     1421,   286,   288,  1168,  1420,   315,   300,   361,  1424,  1425,
14218       97,   286,   357,   211,   222,    24,   196,   497,   178,  2982,
14219      249,   265,  4809,  1439,   363,   365,   338,   406,   437,  1445,
14220      117,   415,  4434,  4345,   247,   437,   497,   250,   303,  5451,
14221      123,     3,  4444,   290,   338,   485,   486,   487,   488,   489,
14222      490,   491,   492,   493,   269,   138,   300,   265,  4389,   220,
14223      372,   401,   474,    25,   498,   152,  1231,  2479,  1981,  1913,
14224      121,   416,   401,   418,  1435,   400,   497,   422,   372,   501,
14225       89,  5923,  3159,  3160,  5724,  5725,  1251,  3164,   497,   728,
14226      167,  5490,   429,   240,   338,  1511,  5071,   456,  1942,   415,
14227      288,   178,  1946,   443,  5178,   415,  1950,   447,   269,  1953,
14228      338,   436,   300,   378,   300,   362,   456,     0,  1283,   196,
14229     5816,  5817,   131,  5166,  3201,  3202,   437,    89,  2481,   138,
14230      237,    38,   141,  1298,   363,   474,  1552,   372,   321,   479,
14231      413,   192,   501,   459,   133,   784,   135,   243,  3001,   459,
14232      338,   365,   338,   300,  5500,   441,    57,   497,   338,  5571,
14233     2554,  1570,   342,   372,   121,   326,  1575,   375,   497,  1585,
14234      243,   354,   485,   486,   487,   488,   489,   490,   491,   492,
14235      493,   143,   243,  4271,   367,   413,   497,   401,  4276,   175,
14236       24,   338,   372,   121,  4309,   342,    30,   441,   837,  4352,
14237      485,   486,   487,   488,   489,   490,   491,   492,   493,   365,
14238      485,   486,   487,   488,   489,   490,   491,   492,   493,   402,
14239     5916,   128,    15,    16,  2573,   372,   127,   435,   501,   443,
14240      313,  4346,  2997,  1649,   196,   192,  3001,   340,  5878,  1648,
14241      202,   357,   456,  1652,  4556,   401,   120,   334,  1664,  1665,
14242     1666,  2642,    51,  1418,  1419,   177,  1421,   404,   897,   406,
14243      448,   500,  1623,  4171,   192,   479,   501,   743,   744,   745,
14244       28,   348,   748,   749,   750,   118,   456,   456,   365,   161,
14245      269,  1878,   758,   497,   161,  1889,   359,   443,  4196,   437,
14246      167,   300,   501,   167,   300,  1888,  1889,   357,   359,   479,
14247      456,    71,   418,  5715,   138,   355,   161,    77,   404,   456,
14248      161,  5657,   155,   355,   401,   237,   167,  4023,    71,   456,
14249       90,  4027,   501,   479,    82,   334,   501,    85,   413,   338,
14250      204,   404,   338,    91,  1867,  5394,   265,   433,  5412,   447,
14251       34,   497,   173,   404,   306,   387,   189,  1763,   118,   497,
14252      120,   401,   234,   456,   148,  2749,   443,   234,   418,  1775,
14253      433,   119,   458,   372,   501,   118,   372,   161,   354,   456,
14254     1786,   318,   433,   167,   360,   206,   479,   298,  5421,   234,
14255     2774,   367,  1798,   234,   418,   458,  1802,  4093,   350,   497,
14256      221,   265,   479,  2615,  5806,   269,  5905,   458,   501,   281,
14257      231,   497,   487,   487,   281,  1821,   176,    92,   330,   338,
14258      497,  2004,   177,  1829,   499,   499,   402,  2596,   176,  4997,
14259      214,  1837,  5821,   176,   497,   150,   269,   365,   458,  2717,
14260      281,   189,   206,   299,   204,  4657,   497,   399,   424,  1855,
14261      234,   215,  4664,   201,   365,  2803,  5955,   458,  1864,   479,
14262      135,  1867,  5205,   299,  1870,   229,   300,  1873,  1874,   330,
14263     5872,  1877,  1878,   401,  1880,  1881,   428,   497,   479,  4377,
14264     5068,  2865,   237,   198,   436,   299,  1892,   439,  1894,  1895,
14265      401,   246,   405,   405,   407,   407,   497,   281,  1904,  1905,
14266     2807,  1907,  1908,  2514,   338,   366,   290,  2533,  2815,   269,
14267       10,  2818,   456,    13,   274,   443,   372,    17,    18,    19,
14268     5584,   433,   300,  5111,  1920,  2803,   269,  5602,   349,  4914,
14269     5919,   274,   443,  4835,    34,   479,   372,   449,   372,  1945,
14270      401,  3026,  1948,  1949,  2852,   456,  4811,  2931,   168,   342,
14271     5583,  1922,   343,  1924,   278,  1926,   316,  1928,   372,  1930,
14272      338,  5314,  2840,  1934,   342,   243,  5319,  5320,   479,   497,
14273     1966,  1966,   332,   316,   243,  1966,  1982,  1966,  1984,   372,
14274      300,   372,   202,  1989,  1990,  4850,   497,  1966,   449,   332,
14275     1996,  1997,  1998,  1975,   372,  2001,  2874,  2003,  5375,  2005,
14276     2006,  2007,  2008,  2009,  2010,  3880,  2012,   342,  2014,  2015,
14277     1961,    13,  2018,   300,  3369,  4830,  3459,  3570,   338,  2885,
14278     2886,  2887,   243,  5199,  3379,  2855,  2032,  2033,  2034,  2035,
14279      300,  2783,  2784,   172,   148,  2787,  3189,   372,  2946,  5024,
14280      388,  5026,    44,   391,  2050,   429,  2052,   161,  4344,  4345,
14281      405,   338,   407,   167,  2715,  1570,  5720,   196,   300,   453,
14282     1575,  2969,  2970,  2971,  2972,  5426,  2974,  1974,   338,   110,
14283      430,   222,  3823,  3018,   405,    77,   407,   259,   433,   243,
14284     2642,   359,    79,  3648,  5733,   372,   449,   430,   338,  3654,
14285      359,  2999,   334,    90,  4799,  4773,   338,  4775,  4776,  4777,
14286      214,   283,   372,  1169,  3459,  5448,  1172,   501,  1174,   355,
14287     1176,   357,  1178,   330,   265,  5017,  1182,   456,   218,   362,
14288      234,   120,   372,   338,   413,  1819,   404,   168,  5030,   326,
14289      372,   148,   971,  1648,  4003,   404,   167,  1652,   359,   167,
14290      479,    79,   339,  5504,   161,  1839,  5400,  5811,   437,   366,
14291      167,   990,    90,  3592,   993,   433,   224,   372,   497,   190,
14292        5,   202,   190,   497,   433,  1920,    11,   281,     5,  3076,
14293       10,   368,   418,    13,    11,   326,   290,    17,    18,    19,
14294      458,  5357,    19,   404,   401,    37,   286,  2193,   248,   458,
14295      133,   243,   135,  2945,    34,   359,  3180,   214,  3637,    47,
14296       37,   497,  3186,   499,    37,   204,   247,    59,   246,   250,
14297     3363,  1966,   433,   167,   495,    26,   159,   234,   499,   497,
14298     3159,  3160,    70,  5215,   375,  3164,    59,  2233,   497,    90,
14299      497,   269,   449,     5,   418,   243,   190,   458,    49,    11,
14300      404,     6,  3909,  3910,  3911,  3912,    68,    69,  3915,  3916,
14301     3917,  3918,  3919,  3920,  3921,  3922,  3923,  3924,   110,   495,
14302     4556,   497,  3201,  3202,   281,  2992,   265,  4563,  5917,   433,
14303      269,   340,  4568,   290,   148,  4571,   497,   110,  2284,   497,
14304     3406,   499,     5,   647,   435,   456,  5188,   161,    11,   653,
14305      492,   365,    22,   167,   458,   497,   362,   499,    28,  5660,
14306      498,   665,   691,   501,  3763,  3972,  3973,   359,   479,  2547,
14307     2548,  2549,  2951,  5489,   271,   429,   177,   496,   261,   262,
14308      263,   264,   501,    94,   176,   268,   269,   401,   717,    10,
14309      496,   274,    13,   497,  5039,   501,    17,    18,    19,   200,
14310      214,   967,   246,   284,  5246,   284,   972,   199,   289,   246,
14311      289,   359,   404,   495,   200,   497,    37,   499,   190,  3266,
14312      234,   261,   262,   263,   264,  3172,   199,  3174,  3175,   443,
14313      498,   498,   498,   501,   501,   501,   237,    86,   218,  3104,
14314     3105,   433,   456,    32,    33,   485,   486,   487,   488,   489,
14315      490,   491,   492,   493,  3260,   247,   404,  2831,   250,  2833,
14316      456,   243,   458,  2837,  3015,   479,   458,   281,   365,  3020,
14317      449,  3022,   429,   265,   247,   418,   290,   250,  5779,   498,
14318      248,  3032,   501,   497,  3035,   433,  3037,  3038,   289,    58,
14319     3041,   196,   265,   405,  3045,   407,  3047,   362,  5116,  3050,
14320      205,   355,   356,  2198,   401,   497,   286,   299,   213,   497,
14321      458,   216,  2458,  2459,  2460,  2461,  2462,  2463,  2464,  2465,
14322     2466,   498,  2468,   456,   501,   458,   299,  2016,   243,   498,
14323     2019,  2477,   501,  2479,   355,   356,   498,   420,   495,   501,
14324      498,   498,   499,   501,  2678,   405,   443,   407,   431,   497,
14325     2677,   343,  2679,  2680,   498,  2678,   447,   501,   498,   456,
14326     3111,   501,   498,  5864,   224,   501,   498,  5428,    11,   501,
14327      343,  2517,  3285,  3286,   366,  2521,   497,   359,  2524,  2516,
14328     2526,   498,   479,  2529,   501,   284,  3263,  2533,  3445,   498,
14329      355,   356,   501,   366,   386,  3161,   133,   218,   135,  4835,
14330      497,   498,  3370,   500,   405,   359,   407,  3173,  2554,   498,
14331     2556,  2674,   501,   386,  3471,   429,   498,   418,   498,   501,
14332      497,   501,   404,   498,  5627,  5628,   501,  2573,  3446,   430,
14333      501,   498,   433,  5071,   501,   498,  2582,  2583,   501,  3205,
14334     5753,  5754,   498,  3315,   359,   501,  5291,  2714,  5490,   498,
14335     4143,   433,   501,  3222,  5299,   498,    58,    98,   501,  3380,
14336     5776,  2556,  2608,  4354,   498,   286,  2601,   501,   498,  2615,
14337      449,   501,   498,  2619,  2620,   501,   458,   270,   271,    98,
14338     2626,   456,  3248,   458,  2630,    47,  3752,   498,  2634,   404,
14339      501,   220,   498,  1022,  4301,   501,  2642,    86,   498,  3073,
14340      498,   501,   500,  3521,  1033,   485,   486,   487,   488,   489,
14341      490,   491,   492,   493,  2660,   497,   476,  2663,   433,  1048,
14342      498,   287,  2644,   501,  2646,  2792,   355,   356,  2674,  5654,
14343     2676,  2677,   173,  2679,  2680,   498,  2682,   500,  2642,  3994,
14344     4119,  3996,  4141,   458,  4143,  4547,  5588,  4549,  2694,  4133,
14345       54,    55,   498,  5191,   173,   501,   498,   498,   284,   501,
14346      501,  4997,   499,   287,  3266,   206,  3690,   498,  2714,  2715,
14347      501,  5887,   365,   498,   167,   498,   501,  2723,   501,   284,
14348      221,  5017,   497,  3863,   476,  3733,  4081,   206,   498,   287,
14349      231,   501,  3393,  3394,  5030,  2686,    47,  4176,   498,  2745,
14350     2746,   501,   221,  2749,  2871,    53,  5278,   498,   401,  3694,
14351      501,   498,   231,   220,   501,    10,   257,   498,    13,  4028,
14352      501,  4030,    17,    18,    19,   476,  2772,  2522,  2774,  4979,
14353      498,  4981,  2778,   501,   133,   490,   135,   171,   257,  2785,
14354     3688,   498,  5958,   284,   501,   498,  2792,   501,   501,  2795,
14355      443,    99,   446,   498,   498,  2801,   501,   501,  3409,   498,
14356      159,  2556,   501,   456,   485,   486,   487,   488,   489,   490,
14357      491,   492,   493,   497,  1203,  2821,   124,   497,  3423,   498,
14358      498,  2827,   501,   501,   498,   497,   479,   501,  2834,  5731,
14359      312,    36,  2783,  2784,   142,   497,  2787,   498,   146,    10,
14360      501,  2847,    13,   498,   497,    58,  2601,   498,   349,  5714,
14361      501,   498,   498,   498,  2860,   501,   501,   172,   216,  2865,
14362      168,  3423,   497,   171,   498,  2871,  2830,   501,   499,  3480,
14363      349,  3482,  3597,    44,   497,   460,   498,  3538,   186,   501,
14364       51,   497,   497,  2889,  2890,  2891,   338,   498,   498,  2895,
14365      501,   501,  5188,   196,   498,   498,  3557,   501,   501,   153,
14366      499,   497,   261,   262,   263,   264,    77,  4366,   498,   268,
14367      153,   501,   284,  5815,  4067,   274,  2922,  2923,   196,  5821,
14368      498,   686,   338,   501,   498,  2931,   153,   501,   284,  3116,
14369      695,  3118,  3119,   153,   196,   153,   437,   702,  4361,  4382,
14370      705,   498,   498,   498,   501,   501,   501,  5486,   498,   498,
14371     5246,   501,   501,   498,   498,   498,   501,   501,   501,  2965,
14372     3944,   284,  3396,   218,  3871,   167,   274,   338,  4094,  4095,
14373     3909,  3910,  3911,  3912,   153,   146,  3915,  3916,  3917,  3918,
14374     3919,  3920,  3921,  3922,  3923,  3924,   232,   120,   284,  2984,
14375     3113,  2997,   497,  3720,  2945,  3001,   498,   437,   498,   501,
14376      167,   501,   498,  3942,   498,   501,   278,   501,  3951,  3620,
14377     2965,   498,   498,    71,   501,  3626,   324,  5919,   498,   269,
14378      191,   501,    37,   498,   269,   196,   501,  4382,   460,   498,
14379      167,   286,   501,  3972,  3973,   498,   284,   498,   501,  3222,
14380      501,   498,   498,   498,   501,   501,   501,   497,   269,    47,
14381     3711,  3997,  3713,   498,   498,   498,   501,   501,   501,    47,
14382      498,   420,   233,   501,   498,   498,   269,   501,   501,   423,
14383      269,    89,   431,   449,   300,   449,  4015,   418,  3084,   167,
14384      319,   153,   153,   497,   153,    10,   153,   460,    13,   153,
14385      153,  3696,   501,  3698,  3100,  3847,  3102,  4040,   153,   153,
14386      153,   153,   153,  3109,  5400,   153,   167,  3113,   153,  3115,
14387     3116,   153,  3118,  3119,  3120,   286,   153,   153,  4671,    44,
14388     3161,   153,  3128,   284,   401,    37,    51,  3133,   497,   232,
14389      284,   497,   167,  4076,  3696,     6,  3698,   167,     6,   167,
14390      497,  3324,   497,     6,   497,   497,   497,   497,   497,   497,
14391        6,   497,    77,  3159,  3160,  3161,     6,   497,  3164,   497,
14392      497,   497,   497,  1552,  3205,   497,  3172,  3173,  3174,  3175,
14393      497,   497,     6,   497,  3180,   497,  3781,   497,   497,  3185,
14394     3186,   497,  3188,   497,  3190,   497,  4170,   497,  4172,   457,
14395      497,   497,   497,   216,  5490,  3201,  3202,  4142,   296,  3205,
14396     3811,  3862,  3813,   501,  3815,    37,   377,  4651,   501,   101,
14397      232,  4195,    37,   497,    36,   411,   411,   497,  3224,  3781,
14398     3226,   146,  3228,   413,   495,   495,   413,   413,   413,  2984,
14399      485,   486,   487,   488,   489,   490,   491,   492,   493,   172,
14400      501,   167,  3248,   281,   167,   279,  3253,  3254,  3255,   372,
14401       67,   413,  1017,   413,   359,   413,   448,   413,  1023,   359,
14402     3266,   499,  1027,  3304,  1029,   413,   191,   413,  4935,   359,
14403      234,   196,   413,   413,   413,   487,    90,   359,  3904,  4405,
14404      153,   284,   229,  4111,   364,  1649,   413,   413,   274,  4196,
14405      126,   413,  5588,   436,   404,  3301,   304,  4078,  3304,   284,
14406      279,   413,   413,   497,   189,  3739,   477,    90,   233,   355,
14407     3316,   126,  3938,  3354,   497,  3321,   300,   488,   489,   490,
14408      491,   492,   493,   501,   196,   153,  1091,   413,  1093,  1094,
14409     3336,   437,   413,   437,  4279,   413,   126,   413,   413,   401,
14410     4257,   401,   112,   413,  3350,   413,  3301,   413,   126,  3304,
14411       58,    58,   254,   288,   413,   323,   413,   413,  3984,   304,
14412      323,   286,  4301,  3369,   413,   323,  3372,   304,  3374,   413,
14413      413,    46,   413,  3379,   413,   404,    46,   501,   498,   218,
14414      413,   502,   413,   218,   284,   218,  1775,  3393,  3394,   413,
14415      284,   218,   413,  3399,   413,  3350,   413,  1786,   218,   218,
14416      218,  4267,  3836,   423,   497,   218,  3161,   218,   218,    37,
14417      153,   153,   269,  1802,  3420,   284,   118,  3423,   153,   153,
14418     3426,   437,   448,   153,   284,   269,   269,   269,  3434,   456,
14419       37,   240,   497,    37,   167,  5731,   224,   361,   153,   153,
14420      437,   153,   437,   153,   413,   172,   452,   497,   278,   273,
14421     3205,   254,   377,  3459,   254,    13,   411,  1821,   181,   413,
14422      189,   501,   162,   415,    10,  1829,  1855,    13,   189,    37,
14423      363,   252,  3227,  1837,   214,   476,   501,   476,   453,   375,
14424      285,  1870,   495,   497,  1873,  1874,   497,   497,  3243,  3495,
14425     3496,  3497,   497,    61,   498,   437,   498,   222,    44,    37,
14426      293,     0,   498,    58,   498,    51,   498,   498,  3691,   437,
14427      359,   501,   501,  3519,   497,  1904,  1905,  1881,   498,  5815,
14428      274,   222,  3528,  4430,  3530,  5821,  4881,   222,    96,   274,
14429      413,    77,  3538,   413,   413,   497,   167,   274,   284,    47,
14430      381,   269,   232,    42,  1908,   284,  3301,   232,   232,  3304,
14431      404,  3557,   477,  5220,   355,   413,   126,   501,   284,   338,
14432      284,   190,  4501,   488,   489,   490,   491,   492,   493,   326,
14433      372,   284,   369,   284,   290,   413,   413,   498,    37,   218,
14434      224,   322,  5249,   487,   437,   437,   153,   279,   167,   157,
14435      449,    37,   169,   369,   402,  3350,   497,   153,    97,  3354,
14436      146,    10,   497,   323,    13,   153,   153,   279,    17,    18,
14437       19,   437,   269,    37,   269,  3621,   456,   284,    26,   284,
14438      279,   224,   187,  5919,   187,   193,   167,    37,   168,   224,
14439      167,   369,   284,   269,   196,   196,   196,  3643,    25,   196,
14440      501,   413,  3648,  2032,   196,   191,   501,   179,  3654,   148,
14441      196,   497,  4595,   460,   501,   172,   224,  3663,   251,   284,
14442      456,   229,   161,    58,   278,   172,  4327,  4328,   167,   498,
14443      501,   305,   296,   172,   172,   498,   268,   498,   476,   178,
14444      295,   497,   181,   172,  3690,  3691,   185,   233,   181,   501,
14445     3696,   413,  3698,   497,  4820,   501,   246,   242,   453,   498,
14446     4512,   269,   284,   498,   498,  3711,   498,  3713,    58,   498,
14447      501,   498,   498,   498,   498,   214,   498,   216,   498,   479,
14448      497,   487,   497,   497,   497,   496,   478,   496,  3734,   497,
14449      435,  4578,   497,   301,   443,   234,   287,   200,   497,    10,
14450      286,   284,    13,   208,   413,   284,    17,    18,    19,  5172,
14451      153,   413,   413,   274,  3760,  4662,   156,   413,   269,   153,
14452       85,   372,   364,   153,   153,   364,   364,   200,   232,   284,
14453      156,  3766,   413,    44,   342,  3781,  3782,   437,   156,   347,
14454       51,   487,   281,   501,   234,   284,   306,   306,   356,   434,
14455      156,   290,   413,   413,   388,   413,   364,   413,  3804,   244,
14456      244,   244,   126,   413,   372,   413,    77,  3802,  4419,   218,
14457      359,  4422,   413,   413,   269,   359,   384,  3823,   372,  3770,
14458      153,    46,   413,   359,  3980,   393,   413,   413,   359,   397,
14459     4590,   377,   413,   413,  3840,  4446,  4781,  5296,   413,   218,
14460      498,   218,   184,     3,   498,   498,   496,   346,   416,   498,
14461      288,   498,   423,   501,   167,    47,  3862,   111,   498,  3865,
14462      167,   498,   497,   501,    37,   153,   153,   167,   487,   184,
14463      497,   413,  4498,   279,   153,   359,  3882,   286,   437,  3885,
14464      359,   359,   359,   451,   437,  3891,   359,   455,   501,   287,
14465      151,   151,   218,  3899,   369,  3901,  3847,   218,  3904,   398,
14466      218,   218,  3908,  3909,  3910,  3911,  3912,   218,   218,  3915,
14467     3916,  3917,  3918,  3919,  3920,  3921,  3922,  3923,  3924,   218,
14468      191,   218,  3928,  3929,  3930,   196,   218,  3933,   144,   495,
14469      429,   477,  3938,    13,   296,   448,  3942,  3978,  3944,   172,
14470     3946,   268,   488,   489,   490,   491,   492,   493,  3954,   453,
14471      294,  3957,  4581,  3959,   453,   221,   455,   456,   221,   291,
14472       58,   496,   233,  3969,   498,   185,  3972,  3973,   501,   498,
14473      498,  3977,  3978,   498,   498,   501,   498,   403,  3984,  3986,
14474     3987,  3988,  3989,   410,   498,   497,   346,  4648,  4171,   498,
14475     4424,  4425,  4426,  4427,  4428,   497,  4935,   497,    88,   498,
14476      497,   500,   501,   442,   423,   167,    37,  4003,  4003,  4015,
14477      224,  3766,  4003,  4196,  4003,   286,   437,  4023,   208,   437,
14478      413,  4027,  4633,    58,  4003,   153,   176,   388,   404,   364,
14479      413,   423,   156,   413,   338,   497,   359,   359,   413,   413,
14480      413,   498,   498,   456,   498,    58,   404,  3802,  4987,   167,
14481      284,    77,   443,  4059,   153,   111,   423,   498,   222,   218,
14482      218,   218,   218,  4674,  4675,   497,   497,   203,  4023,  4075,
14483     4731,   284,  4027,  4800,  5429,  4081,   485,   486,   487,   488,
14484      489,   490,   491,   492,   493,   497,   501,  4093,   460,    37,
14485      284,   498,   304,   413,   282,     3,  5763,  5764,   497,  1864,
14486      501,    43,  1867,   178,   423,   501,   377,   413,  4114,   497,
14487      369,   111,  1877,  1878,   498,   172,   218,   498,   172,    58,
14488      454,   296,   423,   454,   221,   455,   497,  1892,   498,   498,
14489     1895,   279,   410,   498,   498,   498,   487,  5121,  4093,   413,
14490      497,  5007,   501,  5696,   497,   172,    77,   456,   197,   202,
14491      190,   190,  4763,  4764,   274,   274,    58,   404,   487,  4165,
14492      501,   501,   413,   413,  4170,  4171,  4172,  4828,    71,   413,
14493      153,   156,   413,   218,  5300,   125,   174,   118,    37,   437,
14494     1945,   196,   498,  1948,  1949,   497,   279,   369,   437,  4195,
14495     4196,    37,   497,   269,  4377,   169,   279,   369,    58,   456,
14496       83,   404,    37,   456,   172,   284,   477,   497,   167,   205,
14497      501,   333,   216,   287,   485,   486,   487,   488,   489,   490,
14498      491,   492,   493,  3978,   497,   172,   498,   442,  4234,   498,
14499      385,  4237,   304,   362,    37,    80,   498,    90,   134,  4203,
14500      284,   497,   497,   332,  2608,   497,   413,    37,  4003,  5334,
14501     4214,  5336,   498,   153,   153,   497,   167,   497,   497,   413,
14502      497,   497,  2626,    37,   274,   497,  2630,   245,  4023,   497,
14503     2634,   200,  4027,   497,   369,   498,   153,   111,    37,   498,
14504      288,  5220,  4893,   172,   423,  4896,  4897,  2676,   498,   383,
14505       58,   383,   167,  2682,   110,  4301,  2660,   497,   497,   497,
14506      501,    37,  4913,   404,   501,   442,  4740,  4741,   497,  4743,
14507     5249,   189,   437,   167,   265,   284,   404,   497,   404,    37,
14508      498,  4327,  4328,     6,   160,  4331,   460,   497,   356,    71,
14509     2694,  4337,   356,   287,  2723,   500,    71,  5463,  4344,  4345,
14510      134,    59,   456,   456,   139,   452,   442,   164,  4354,   164,
14511     2714,   497,   501,   497,   441,   372,   404,   329,   172,   274,
14512      202,   284,   284,   369,  5345,   497,    37,    85,    37,   287,
14513      287,  4377,   197,  5239,   497,  4370,  4382,  4383,  4384,   152,
14514     5149,   174,  2746,   174,    58,   497,    58,   498,  4394,  4344,
14515     4345,    37,   110,   111,   291,   339,    58,   413,  4581,   392,
14516      118,   453,  5031,   123,     6,   435,   369,   498,  2772,   139,
14517      355,  5072,   149,   498,  2778,   497,   274,  5543,  5544,   497,
14518      497,  2785,    23,   355,   497,    34,    80,  4433,  2792,   413,
14519      501,  2795,   501,   172,   497,   355,   292,  2801,  5345,   152,
14520      383,   118,   456,   383,   456,   174,   174,   437,   498,   896,
14521      497,  5198,   935,  4459,  5083,  2949,  3266,  2821,   176,   982,
14522     1651,  1351,  2757,  2827,  4470,   981,  2840,  3471,    10,  4170,
14523     2834,    13,  4145,  5680,  2866,    17,    18,    19,  2920,  3682,
14524     5124,   199,  5533,  2847,  5793,  5172,  4325,  5471,  4143,  4790,
14525     5148,  3400,  4498,  3063,  5659,  4501,  2860,  5030,  5782,  5562,
14526     5561,  5699,    44,  4509,  4510,  5815,  4512,  2871,  3404,    51,
14527     4516,  4517,  4835,  4371,  5507,  4521,  2934,  2934,  4356,  4525,
14528     4165,  4345,  4528,  4529,  3496,   977,  4315,  4533,  4340,   247,
14529     3731,  5470,   250,  4539,  2923,    77,  4829,  5155,  4407,  3775,
14530     5441,  5888,  5973,  5963,  5139,  3690,  4379,   265,  5712,  5533,
14531     4556,   269,  1810,  5085,  5535,    24,  4990,  4563,  5317,  5516,
14532     5088,    30,  4568,  5689,    18,  4571,  4572,  5001,   630,    10,
14533       28,  5287,    13,  4579,  4433,  2951,  5884,  1853,  1195,  3379,
14534     2620,   299,  4382,  1850,  4590,  1864,  3786,  5429,  5198,  4344,
14535     1969,  1888,  1969,  3624,   715,  4195,  5738,  4592,  4593,  2865,
14536     5226,  4556,  5923,    44,  1468,  5553,    75,   828,  4563,  5013,
14537       51,  4617,   682,  4568,  2896,  4370,  4571,  4411,  1763,  2563,
14538     4413,  4594,  5653,  4073,  1328,   343,    40,    40,  3336,  4635,
14539     5756,  5757,  4614,  3321,  5260,  1367,    77,  2573,  5644,  5483,
14540     3304,  5267,  4648,  4012,  4029,  4998,  3301,  5246,   366,   191,
14541     4074,  5245,  3301,  5907,   196,  5638,  5767,  5470,  5224,  5484,
14542     3946,  1428,   131,  1427,  5485,  1384,  2474,  4673,   386,   138,
14543      388,  3227,   141,   391,  1430,  2008,   218,   219,  5289,     0,
14544     3129,  2895,  1435,  3225,  4690,  2477,  2561,    -1,   884,  4695,
14545       -1,   233,  4656,    -1,    -1,  5634,  4702,    -1,    -1,   168,
14546       -1,    -1,  4666,  5329,  5330,   146,    -1,    -1,    -1,    -1,
14547       -1,  3100,  4718,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14548     3084,    -1,    -1,    -1,    -1,  4731,  3115,    -1,    -1,  5340,
14549      272,  3120,    -1,   202,    -1,    -1,    -1,    -1,  3102,    -1,
14550       -1,    -1,    -1,    -1,   286,  3109,    -1,    -1,    -1,    -1,
14551      191,    -1,    -1,    -1,    -1,   196,  4762,    -1,    -1,    -1,
14552       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5331,
14553       -1,    -1,    -1,    -1,  5501,    -1,    97,    -1,    -1,   497,
14554       -1,    -1,  4788,  5345,    -1,    -1,    -1,    -1,    -1,    -1,
14555       -1,  2556,   233,    -1,    -1,    -1,   265,    -1,  4804,    -1,
14556      269,    -1,    -1,  4809,    -1,    -1,    -1,    -1,  4563,    -1,
14557      279,    -1,  5793,  4568,    -1,    -1,  4571,    -1,    -1,   288,
14558       -1,    -1,  4828,  5257,  5763,  5764,    -1,   148,    -1,  4835,
14559       -1,   300,    -1,  5459,    -1,   377,    -1,  4592,  4593,    -1,
14560      161,  5452,    -1,    -1,    -1,   286,   167,    -1,  5031,    -1,
14561       -1,   172,  4847,  5479,    -1,  5481,    -1,   178,    -1,    -1,
14562      181,    -1,    -1,    -1,   185,    -1,    -1,    -1,    -1,  5498,
14563       -1,    -1,   341,   342,    -1,  4881,    -1,  4883,    -1,    -1,
14564     4835,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5071,  5083,
14565       -1,    -1,    -1,   214,    -1,  5082,    -1,    -1,    -1,    -1,
14566     5083,    -1,    -1,   372,  5338,    -1,    -1,    -1,  4914,  2674,
14567       -1,    -1,  2677,   234,  2679,  2680,    -1,    -1,    -1,    -1,
14568       -1,    -1,    -1,    -1,    -1,    -1,  4932,    -1,    -1,  4935,
14569       -1,    -1,  4938,  4939,  4940,   477,   377,    -1,    -1,  5126,
14570       -1,    -1,  5926,   485,   486,   487,   488,   489,   490,   491,
14571      492,   493,  5954,    -1,    -1,    -1,    -1,  4963,  4964,    -1,
14572      281,  4967,    -1,   284,    -1,    -1,    -1,    -1,    -1,   290,
14573       -1,   440,    -1,  5535,    -1,    -1,    -1,    -1,    -1,  5963,
14574       -1,  4987,    -1,    -1,    -1,    -1,    -1,  4993,    -1,  5973,
14575       -1,  4997,    -1,    -1,    -1,    -1,    -1,  5003,  5004,    -1,
14576       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14577       -1,  5017,    -1,  5019,    -1,    -1,    -1,    -1,  5024,    -1,
14578     5026,    -1,    -1,    -1,  5030,   346,    -1,    -1,    -1,    -1,
14579       -1,    -1,    -1,    -1,    -1,    -1,   477,  3426,    -1,  5010,
14580       -1,    -1,  4997,    -1,    -1,  3434,    -1,   488,   489,   490,
14581      491,   492,   493,    -1,    -1,    -1,  3420,    -1,    -1,    -1,
14582       -1,    -1,  5017,    -1,    -1,  5071,  5072,    -1,    -1,    -1,
14583       -1,    -1,    -1,    -1,     6,  5030,  5082,    -1,    -1,    -1,
14584      401,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14585       -1,    23,  4847,    25,    -1,    -1,    -1,    29,  5964,    -1,
14586       -1,    -1,    34,    35,    36,    -1,    38,    -1,   429,    41,
14587       42,    -1,    44,    -1,    46,  5121,    -1,    -1,  5680,    -1,
14588     5126,    53,    54,    55,    -1,    -1,    -1,    -1,    -1,    -1,
14589       -1,    -1,   453,    -1,   455,   456,    -1,    -1,    -1,  3528,
14590       -1,  3530,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14591       -1,    -1,    -1,    -1,    -1,  3519,    -1,    -1,  5153,    -1,
14592       -1,    -1,    -1,    -1,    -1,    -1,  5777,    -1,    -1,    -1,
14593       -1,     0,    -1,    -1,   495,    -1,    -1,   498,   499,   500,
14594       -1,    -1,  5188,    -1,    -1,  5191,    -1,    -1,    -1,  5184,
14595       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5198,
14596     2965,  5198,  5198,  5198,  5198,  5198,  5198,  5198,  5198,  5198,
14597     5198,  5198,  5198,    -1,  5220,  5198,    -1,  5198,  5224,  5198,
14598     5226,  5198,    -1,    -1,    -1,    -1,  5267,    -1,  5198,    -1,
14599       -1,  5793,  3621,  5188,    -1,    -1,  5187,    -1,    -1,    -1,
14600     5246,  5867,  4997,  5249,    -1,    -1,    -1,    -1,    -1,    -1,
14601       22,    -1,    -1,     0,  5260,    27,    -1,    -1,    -1,    -1,
14602       -1,  5267,    -1,    -1,   196,   197,   198,    -1,    97,   201,
14603       -1,    -1,    -1,   205,  3663,   207,    -1,    -1,   210,  3643,
14604       -1,   213,    -1,    -1,   216,    -1,    -1,   219,    -1,   221,
14605       -1,  5246,   224,    65,    -1,    -1,   228,    -1,   230,    -1,
14606       -1,    -1,    -1,    -1,    -1,    -1,    78,    -1,  5314,    -1,
14607       -1,    -1,    -1,  5319,  5320,  5498,    -1,    -1,  5324,   148,
14608       -1,    -1,    94,  5329,  5330,  5331,    -1,    -1,    -1,    -1,
14609       -1,    -1,   161,    -1,    -1,    -1,    -1,    -1,   167,  5345,
14610      112,    -1,    -1,   172,    -1,    -1,    -1,    -1,  3113,   178,
14611       97,  3116,   181,  3118,  3119,    -1,   185,    -1,    -1,  5365,
14612       -1,    -1,    -1,    -1,   136,    -1,  5372,    -1,    -1,  5375,
14613       -1,  3760,    -1,    -1,    -1,   147,    -1,    -1,    -1,    -1,
14614       -1,    -1,    -1,    -1,   156,   214,    -1,    -1,    -1,    -1,
14615       -1,    -1,    -1,    -1,  5400,    -1,    -1,   169,  5153,    -1,
14616       -1,   148,   174,    -1,    -1,   234,    -1,  5402,    -1,    -1,
14617       -1,    -1,    -1,    -1,   161,  3804,    -1,    -1,    -1,    -1,
14618      167,    -1,    -1,  5429,  5430,   172,    -1,    -1,   200,  5184,
14619       -1,   178,    -1,    -1,   181,    -1,    -1,    -1,   185,    -1,
14620       -1,    -1,    -1,  5198,    -1,  5400,    -1,  5453,    -1,    -1,
14621       -1,    -1,   281,  5459,    -1,   284,    -1,    -1,    -1,  3823,
14622       -1,   290,    -1,    -1,  5470,  5471,    -1,   214,  5474,    -1,
14623       -1,    -1,    -1,  5479,   246,  5481,  3840,  5483,    -1,    -1,
14624     5667,    -1,    -1,    -1,  5490,    -1,    -1,   234,    -1,    -1,
14625       -1,    -1,  5487,    -1,    -1,    -1,  3885,    -1,    -1,    -1,
14626       -1,  3865,  5508,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14627       -1,    -1,  5267,    -1,   286,    -1,    -1,   346,    -1,  3908,
14628       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5533,    -1,  5535,
14629       -1,    -1,    -1,    -1,   281,  5490,  3301,   284,    -1,  3304,
14630       -1,    -1,    10,   290,  3933,    13,    -1,   319,   320,    -1,
14631       -1,   323,  5739,  5740,    -1,    -1,    -1,    -1,    -1,    -1,
14632       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14633       -1,    -1,   401,    -1,    -1,    -1,    44,    -1,   350,    -1,
14634       -1,   353,  5588,    51,    -1,  3350,    -1,   359,    -1,    -1,
14635       -1,    -1,    -1,    -1,   366,    -1,    -1,   369,    -1,   346,
14636      429,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    77,
14637       -1,    -1,    -1,    -1,    -1,    -1,   388,    -1,    -1,    -1,
14638     5626,  5627,  5628,   395,   453,    -1,   455,   456,  5634,   401,
14639       -1,    -1,   404,  5588,    -1,    -1,   408,    -1,  5644,    -1,
14640       -1,    -1,    -1,    -1,   416,  5400,    -1,  5402,  5654,    -1,
14641       -1,   423,    -1,    -1,   401,    -1,    -1,    -1,    -1,    -1,
14642       -1,  5667,    -1,    -1,    -1,    -1,   495,    -1,    -1,   498,
14643      499,   500,    -1,    -1,  5680,    -1,    -1,   449,   146,    -1,
14644       -1,    -1,   429,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14645       -1,    -1,    -1,    -1,    -1,    -1,    -1,   629,    -1,    -1,
14646       -1,    -1,    -1,   635,    -1,   637,   453,   639,   455,   456,
14647      642,    -1,    -1,    -1,    -1,  5721,    -1,   649,  5713,    -1,
14648       -1,    -1,   654,   191,   656,  5731,    -1,    -1,   196,    -1,
14649      662,    -1,  5487,  5739,  5740,    -1,    -1,    10,    -1,  5745,
14650       13,  5747,  5738,  5738,    17,    18,    19,  5738,   495,  5738,
14651     4114,   498,   499,   500,   686,    -1,    -1,  5763,  5764,  5738,
14652       -1,    34,    -1,   695,    -1,   233,    -1,   699,    -1,    -1,
14653      702,    44,    -1,   705,    -1,    -1,  5731,    -1,    51,    -1,
14654       -1,  5968,  5969,    -1,  5825,    -1,    -1,  5793,    -1,   721,
14655       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14656       -1,    -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,  5815,
14657       -1,    -1,    -1,    -1,    -1,  5821,    -1,    -1,   286,    -1,
14658       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5825,
14659     5825,    -1,  5838,    -1,  5825,    -1,  5825,    -1,    -1,    -1,
14660      772,    -1,    -1,    -1,    -1,    -1,  5825,    -1,    -1,    -1,
14661       -1,    -1,  5858,    -1,    -1,   787,  5862,    -1,    -1,    -1,
14662     5815,  5867,    -1,    -1,    -1,    -1,  5821,    -1,    -1,    -1,
14663     4234,    -1,    -1,  4237,    -1,   807,   808,    -1,   810,   811,
14664       -1,    -1,    -1,   815,    -1,    -1,    -1,    -1,    -1,    -1,
14665       -1,    -1,  5898,    -1,    -1,    -1,    -1,   829,    -1,  5905,
14666       -1,   833,    -1,    -1,    -1,    -1,    -1,   839,    -1,   377,
14667       -1,    -1,    -1,  5919,    -1,    -1,    -1,    -1,   191,    -1,
14668     5926,    -1,    -1,   196,    -1,    -1,    -1,  5923,  5923,    -1,
14669       -1,    -1,  5923,    -1,  5923,    -1,    -1,    -1,    -1,    -1,
14670       -1,    -1,  4331,    -1,  5923,   218,   219,    -1,  5954,  5955,
14671       -1,    -1,   884,  5959,    -1,    -1,    -1,  5963,  5713,    -1,
14672      233,    -1,  5968,  5969,  5919,    -1,   898,  5973,    -1,    -1,
14673       -1,    -1,    -1,  4337,    -1,    -1,    -1,    -1,   910,    -1,
14674       -1,    -1,    -1,  5738,    -1,    -1,    -1,    -1,    -1,    -1,
14675     4354,    -1,    -1,   925,    -1,    -1,    24,    -1,    -1,   272,
14676       -1,    -1,    30,    -1,    -1,    -1,    -1,    -1,    -1,   477,
14677       -1,    -1,   944,   286,    -1,    -1,   289,   949,   950,    -1,
14678      488,   489,   490,   491,   492,   493,    -1,    -1,    -1,    -1,
14679       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14680       -1,    10,    -1,    -1,    13,    -1,    -1,    75,    -1,   981,
14681      982,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,
14682       -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,  4433,
14683     5825,    -1,  1004,  1005,    -1,    44,    -1,    -1,    -1,    -1,
14684       -1,    -1,    51,    34,    -1,  1017,    -1,  1019,    -1,    -1,
14685       -1,  1023,    -1,    44,  1026,  1027,    -1,  1029,    -1,    -1,
14686       51,    -1,  1034,   131,   377,    -1,    -1,    -1,    77,    -1,
14687      138,    -1,    -1,   141,    -1,    -1,    -1,    -1,    -1,    -1,
14688       -1,    -1,    -1,    -1,    -1,  1057,    77,    -1,    -1,    -1,
14689       -1,    -1,  1064,  1065,    -1,    -1,    -1,    -1,    -1,    -1,
14690      168,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14691       -1,    -1,    -1,  1085,  1086,  1087,    -1,  1089,    -1,  1091,
14692       -1,  1093,  1094,    -1,    -1,    -1,    -1,    -1,  5923,    -1,
14693       -1,    -1,    -1,    -1,   202,    -1,    -1,   146,    -1,    -1,
14694       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14695       -1,    -1,    -1,    -1,    -1,  1127,    -1,  1129,  1130,    -1,
14696       -1,    -1,    -1,    -1,   477,    -1,    -1,    -1,    -1,    -1,
14697       -1,    -1,   485,   486,   487,   488,   489,   490,   491,   492,
14698      493,    -1,   191,    -1,    -1,   498,    -1,   196,   501,    -1,
14699     1162,    -1,    -1,    -1,    -1,    10,    -1,   265,    13,    -1,
14700      191,   269,    17,    18,    19,   196,  4635,    -1,    -1,    -1,
14701       -1,   279,    -1,    -1,    -1,    -1,  1188,  1189,  4023,    34,
14702      288,  1193,  4027,  1195,   233,    -1,    -1,   218,   219,    44,
14703       -1,    -1,   300,    -1,    -1,    -1,    51,  1209,    -1,    -1,
14704       -1,    -1,   233,  1215,  4673,    -1,  1218,    -1,    -1,  1221,
14705       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14706       -1,    -1,    77,  1235,    -1,    -1,  4695,    -1,    -1,    -1,
14707      338,    -1,    -1,   341,   342,    -1,    -1,   286,    -1,    -1,
14708       -1,   272,     0,    -1,    -1,    -1,  4690,    -1,  4093,    -1,
14709       -1,    -1,    -1,    -1,  1266,   286,    -1,    -1,  4702,    -1,
14710       -1,    -1,    20,    -1,   372,    -1,    -1,    -1,    -1,    -1,
14711       -1,    -1,    30,    -1,    32,    33,    -1,    -1,    -1,    -1,
14712       -1,    -1,  1294,  1295,  1296,    -1,  1298,    -1,    -1,    -1,
14713       -1,    -1,    50,  4762,    -1,    -1,    -1,    -1,    -1,    -1,
14714       -1,    -1,    60,    -1,    -1,    -1,  1318,    -1,    -1,    -1,
14715       -1,    -1,    -1,    -1,    72,    -1,    74,    75,    -1,    -1,
14716       -1,    -1,    -1,    81,    -1,    83,    -1,    -1,   377,    -1,
14717       -1,    -1,   440,    -1,    -1,    -1,   191,    95,    -1,    97,
14718       -1,   196,    -1,    -1,  1356,    -1,   377,    -1,    -1,    -1,
14719       -1,    -1,    -1,    -1,    -1,    -1,   114,    -1,    -1,   117,
14720       -1,    -1,  1374,   218,   219,    -1,    -1,    -1,    -1,    -1,
14721       61,   197,   198,    -1,   132,   201,   134,    -1,   233,    -1,
14722      138,    10,    -1,    -1,    13,    -1,   144,    -1,    -1,    -1,
14723       -1,    -1,    -1,    -1,   152,   221,   154,    -1,    -1,    -1,
14724       -1,    -1,   228,   161,    -1,    96,    -1,    -1,  1420,    -1,
14725       -1,    -1,  1424,  1425,  4883,    44,    -1,   272,    -1,    -1,
14726      178,    -1,    51,  1435,  1436,  1437,    -1,  1439,   477,    -1,
14727       -1,   286,    -1,    -1,   289,    -1,    -1,   195,    -1,   488,
14728      489,   490,   491,   492,   493,    -1,   477,    -1,    77,  1461,
14729       -1,    -1,    -1,    -1,   485,   486,   487,   488,   489,   490,
14730      491,   492,   493,    -1,    -1,    -1,   157,    -1,    -1,    -1,
14731     4914,    -1,    -1,    -1,    -1,    -1,    -1,   235,   236,    -1,
14732       -1,    -1,    -1,   241,  1496,    -1,    -1,    -1,    -1,  1501,
14733       -1,    -1,  1504,    -1,    -1,   253,    -1,    -1,    -1,  4344,
14734     4345,    -1,   193,    -1,    -1,  1517,  1518,    -1,    -1,    -1,
14735       -1,    -1,    -1,   271,  1526,    -1,    -1,  1529,    -1,    -1,
14736       -1,    -1,   377,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14737       -1,    -1,    -1,    -1,  5003,    -1,    -1,    -1,   229,    -1,
14738       -1,    -1,    -1,    -1,  1556,    -1,  1558,    -1,    -1,  1561,
14739       -1,    -1,    -1,    -1,    -1,    -1,   314,    -1,    -1,    -1,
14740       -1,    -1,   191,    -1,    -1,    -1,  1578,   196,    -1,  1581,
14741      328,    -1,  1584,    -1,   265,    -1,   334,   335,   269,   337,
14742     5024,    -1,  5026,    -1,   342,    -1,    -1,    -1,    -1,    -1,
14743      348,    -1,    -1,   351,  1606,    -1,    -1,    -1,    -1,    -1,
14744      358,    -1,    -1,    -1,   233,    -1,   364,   365,    -1,   300,
14745      301,  1623,    -1,    -1,   372,    -1,    -1,    -1,   376,    -1,
14746       -1,    -1,   477,  1635,  1636,  1637,  1638,  1639,   386,    -1,
14747      485,   486,   487,   488,   489,   490,   491,   492,   493,    -1,
14748       -1,  1653,    -1,   401,    -1,    -1,   501,   338,    -1,    -1,
14749       -1,   342,  1664,  1665,  1666,    -1,   347,   286,    -1,    -1,
14750       -1,    -1,    -1,   421,    -1,   356,    -1,    -1,    -1,    -1,
14751       -1,    -1,    -1,   364,   432,    -1,    -1,    -1,    -1,    -1,
14752      438,   372,    -1,    -1,    -1,   443,    -1,    -1,    10,    -1,
14753       -1,    13,    -1,   384,    -1,    17,    18,    19,   456,    -1,
14754       -1,    -1,   393,    -1,    -1,    -1,   397,    -1,    -1,    -1,
14755       -1,  4556,    34,    -1,    -1,    -1,    -1,    -1,  4563,    -1,
14756       -1,   479,    44,  4568,    -1,    -1,  4571,  4572,    -1,    51,
14757       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   497,
14758       -1,    -1,   500,    -1,    -1,    -1,    -1,    -1,   377,    -1,
14759     1762,    -1,    -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,
14760      451,  1773,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1781,
14761     1782,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14762       -1,    -1,    37,    -1,    -1,  1797,    -1,    -1,    -1,    -1,
14763       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14764       -1,    -1,    -1,  1815,    -1,    -1,    61,    -1,    -1,    -1,
14765       -1,   637,    -1,   639,    -1,    -1,   642,    -1,    -1,  1831,
14766     1832,  1833,  1834,    -1,    -1,    -1,    -1,    -1,  1840,    -1,
14767      656,    -1,    -1,    -1,    -1,  1847,   662,    -1,    -1,    -1,
14768       -1,    96,    -1,    -1,    -1,  5314,    -1,    -1,   477,    -1,
14769     5319,  5320,  1864,    -1,    -1,  1867,    -1,    -1,    -1,   488,
14770      489,   490,   491,   492,   493,  1877,  1878,    -1,    -1,   191,
14771       -1,    -1,    -1,    -1,   196,    -1,  1888,  1889,    -1,    -1,
14772     1892,    -1,    -1,  1895,    -1,    -1,    -1,    -1,    -1,    -1,
14773       -1,    -1,    61,    -1,    -1,    -1,   218,   219,  1910,  1911,
14774       -1,    -1,   157,    -1,    -1,  1917,    -1,  1919,    -1,    -1,
14775       -1,   233,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14776       -1,    -1,    -1,    -1,  1936,    -1,    -1,    96,    -1,    -1,
14777       -1,  1943,    -1,  1945,    -1,    -1,  1948,  1949,   193,  1951,
14778     1952,    -1,  1954,    -1,    -1,    -1,    -1,    -1,    -1,  1961,
14779      272,    -1,    -1,    -1,    -1,    -1,  1968,    -1,    -1,  4804,
14780       -1,  5430,  1974,  1975,   286,    -1,  1978,   289,    -1,   224,
14781     1982,    -1,  1984,    -1,   229,    -1,    -1,  1989,  1990,    -1,
14782       -1,    -1,    -1,    -1,  1996,  1997,  1998,    -1,   157,  2001,
14783     4835,  2003,  2004,  2005,  2006,  2007,  2008,  2009,  2010,     0,
14784     2012,    -1,  2014,  2015,    -1,  5474,  2018,    -1,    -1,    -1,
14785       -1,    -1,    -1,    -1,   269,    -1,    -1,    -1,    -1,    20,
14786       -1,  2033,  2034,  2035,   193,    -1,    -1,    -1,    -1,    30,
14787       -1,    32,    33,    -1,    -1,    -1,    -1,    -1,  2050,    -1,
14788       -1,    -1,    -1,    -1,    -1,    -1,   301,    -1,    -1,    50,
14789       -1,    -1,    -1,    -1,    -1,   377,    -1,    -1,    -1,    60,
14790      229,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14791       -1,    72,    -1,    74,    75,    24,    -1,    -1,  2090,    -1,
14792       81,    30,    83,    -1,    -1,    -1,    -1,   342,    -1,    -1,
14793       -1,    -1,   347,    -1,    95,    -1,    97,    24,    -1,    -1,
14794      269,   356,    -1,    30,    -1,    -1,    -1,    -1,    -1,   364,
14795       -1,    -1,    -1,   114,    -1,    -1,   117,   372,    45,    -1,
14796       -1,    -1,    -1,   949,   950,    -1,    75,    -1,    -1,   384,
14797       -1,   132,   301,   134,    -1,    -1,    -1,   138,   393,    -1,
14798       -1,    -1,   397,   144,    -1,    -1,    -1,    -1,    75,    -1,
14799       -1,   152,  4997,   154,    -1,   477,    -1,    -1,    -1,    -1,
14800      161,   416,    -1,   485,   486,   487,   488,   489,   490,   491,
14801      492,   493,  5017,   342,    -1,   344,    -1,   178,   347,   501,
14802       -1,  2193,   131,    -1,    -1,  5030,    -1,   356,    -1,   138,
14803       -1,    -1,   141,  1019,   195,   364,   451,    -1,    -1,    -1,
14804      455,    -1,   129,   372,   131,    -1,    -1,    -1,  1034,    10,
14805     5654,   138,    13,    -1,   141,   384,    17,    18,    19,   168,
14806       -1,  2233,    -1,    -1,   393,    -1,    -1,    -1,   397,    -1,
14807       -1,    -1,    -1,    34,   235,   236,    -1,  5082,  1064,  1065,
14808      241,   168,    -1,    44,    -1,    -1,    -1,    -1,    -1,    -1,
14809       51,    -1,   253,   202,    -1,    -1,    -1,    -1,    -1,    22,
14810       -1,    -1,    -1,  1089,    -1,    28,    -1,    -1,    -1,    -1,
14811      271,    -1,  2284,    -1,    -1,   202,    77,    -1,    -1,    -1,
14812       -1,  5126,   451,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14813       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14814       -1,    -1,    -1,  1129,  1130,    -1,    -1,    -1,    -1,    -1,
14815       -1,    -1,    -1,   314,    -1,    -1,   265,    -1,    -1,    -1,
14816      269,    -1,    -1,    -1,    -1,    -1,    -1,   328,    -1,    -1,
14817      279,    -1,    -1,   334,   335,    -1,   337,    -1,   265,   288,
14818       -1,   342,   269,  5188,    -1,    -1,    -1,   348,    -1,    -1,
14819      351,   300,   279,    -1,    -1,    -1,    -1,   358,    -1,    -1,
14820       -1,   288,    -1,   364,   365,    -1,    -1,    -1,    -1,    -1,
14821       -1,   372,    -1,   300,    -1,   376,    -1,    -1,    -1,    -1,
14822       -1,    -1,    -1,    -1,    -1,   386,    -1,    -1,    -1,   338,
14823      191,    -1,   341,   342,    -1,   196,    -1,    -1,    -1,    -1,
14824      401,  5246,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14825       -1,   338,    -1,    -1,   341,   342,    -1,   218,   219,    -1,
14826      421,    -1,    -1,   372,    -1,    -1,    -1,    -1,    -1,    -1,
14827       -1,   432,   233,    -1,    -1,    -1,    -1,   438,    -1,    -1,
14828       -1,    -1,   443,    -1,    -1,   372,  2458,  2459,  2460,  2461,
14829     2462,  2463,  2464,  2465,  2466,   456,  2468,    -1,    -1,    -1,
14830       -1,    -1,    -1,    -1,  2476,  2477,    -1,  2479,    -1,    -1,
14831       -1,   272,    -1,    -1,  2486,    -1,    -1,    -1,   479,   480,
14832      481,   482,   483,   484,    -1,   286,    -1,    -1,   289,    -1,
14833       -1,   440,    -1,    -1,    -1,    -1,   497,    -1,    -1,   500,
14834       -1,    -1,    -1,  2515,    -1,  2517,    -1,    -1,  2520,  2521,
14835       -1,    -1,  2524,   440,  2526,    -1,    -1,  2529,    -1,    -1,
14836       -1,  2533,    -1,    -1,    -1,    -1,    -1,  5372,    -1,    -1,
14837       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14838       -1,    -1,    -1,    -1,  2556,    -1,    -1,    -1,    -1,    -1,
14839     2562,  2563,    -1,    -1,    -1,  5400,    10,    -1,    -1,    13,
14840       -1,  2573,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,
14841     2582,  2583,    -1,    -1,    -1,    -1,   377,    -1,    -1,    -1,
14842       34,    -1,    -1,    -1,  2596,    -1,    -1,    -1,    -1,    -1,
14843       44,  2603,    -1,  2605,    -1,    -1,    -1,    51,    -1,    -1,
14844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14845       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14846       -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,
14847       -1,    -1,  2644,    -1,  2646,    -1,    -1,    -1,    -1,    -1,
14848       -1,    -1,    -1,    24,    -1,  5490,    -1,    -1,    -1,    30,
14849       -1,  2663,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14850       -1,    -1,  2674,    -1,    45,  2677,  2678,  2679,  2680,    -1,
14851       -1,  2683,    -1,    -1,  2686,    -1,   477,    -1,  1504,    -1,
14852       -1,    -1,    -1,    -1,   485,   486,   487,   488,   489,   490,
14853      491,   492,   493,    -1,    75,  2707,    -1,   498,    -1,    -1,
14854       -1,    -1,    -1,  1529,    -1,    -1,  2718,    -1,    -1,    -1,
14855       -1,    -1,    -1,    -1,  2726,  2727,    -1,    -1,    -1,    -1,
14856       -1,  2733,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14857     2742,    -1,    -1,    -1,    -1,    -1,    -1,   191,    -1,    -1,
14858       -1,    -1,   196,  5588,    -1,    -1,    -1,    -1,   129,    -1,
14859      131,  2763,    -1,    -1,    -1,    -1,    -1,   138,    -1,    -1,
14860      141,    -1,    -1,    -1,   218,   219,    -1,    -1,    -1,    -1,
14861       -1,  2783,  2784,    -1,    -1,  2787,    -1,    -1,  2790,   233,
14862     1606,    -1,    -1,    -1,    -1,    -1,    -1,   168,    -1,    -1,
14863       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14864       -1,  2813,    -1,    -1,  2816,    -1,    -1,    -1,    -1,  1635,
14865     1636,  1637,  1638,    -1,    -1,    -1,    -1,    -1,   272,    -1,
14866       -1,   202,  5667,    -1,    -1,    -1,    -1,    -1,    -1,  2841,
14867     2842,    -1,   286,    -1,    -1,   289,    -1,    -1,    -1,    -1,
14868       -1,    -1,    -1,    -1,  2856,    -1,  2858,  2859,    -1,    -1,
14869       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14870       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14871       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2889,  2890,  2891,
14872       -1,    -1,    -1,  2895,   265,    -1,  5731,    -1,   269,    -1,
14873       -1,  2903,    -1,    -1,  5739,  5740,    -1,    -1,   279,    -1,
14874       -1,    -1,    -1,    -1,  2916,    -1,    -1,   288,    -1,    -1,
14875     2922,    -1,  2924,    -1,    -1,    -1,    -1,    -1,    -1,   300,
14876       -1,    -1,    -1,   377,    -1,  2937,    -1,    -1,    -1,    -1,
14877     2942,    -1,    -1,  2945,    -1,    -1,    -1,  2949,    -1,    -1,
14878     2952,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14879       -1,    -1,  2964,  2965,    -1,  1781,  1782,   338,    -1,    -1,
14880      341,   342,    -1,  2975,    -1,    -1,    -1,    -1,    -1,    -1,
14881     5815,  1797,    -1,  2985,    -1,  2987,  5821,    -1,   741,    -1,
14882      743,    -1,   745,    -1,    -1,    -1,    -1,    17,   751,   752,
14883      753,   372,    -1,  5838,    -1,    -1,    26,    -1,    -1,    -1,
14884       -1,    -1,    -1,    -1,    -1,  1831,  1832,  1833,  1834,    -1,
14885       -1,    -1,    -1,    -1,  3026,    -1,  3028,    -1,  3030,    -1,
14886       -1,    -1,    -1,   477,    -1,    -1,    -1,    -1,    -1,    -1,
14887       -1,   485,   486,   487,   488,   489,   490,   491,   492,   493,
14888       -1,    -1,    -1,    -1,   498,    -1,    -1,    -1,    -1,    -1,
14889       -1,  3063,    -1,    -1,    -1,    -1,    -1,    -1,    10,   440,
14890     5905,    13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,
14891       -1,    -1,    -1,    -1,  5919,    -1,    -1,    -1,    -1,    -1,
14892       -1,    -1,    34,    -1,    -1,  1911,    -1,    -1,    -1,    -1,
14893       -1,  1917,    44,    -1,    -1,    -1,    -1,    -1,    -1,    51,
14894       -1,  3113,  3114,    -1,  3116,    -1,  3118,  3119,    -1,  3121,
14895     5955,    -1,    -1,    -1,  5959,    -1,  3128,    -1,    -1,    -1,
14896       -1,  3133,    -1,  5968,  5969,    77,    -1,    -1,    -1,    -1,
14897       -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,
14898       19,    -1,    -1,    -1,    -1,    -1,    -1,  3159,  3160,  3161,
14899       -1,    -1,  3164,    -1,    -1,    34,    -1,    -1,    -1,    -1,
14900     3172,  3173,  3174,  3175,    -1,    44,    -1,    -1,    -1,    -1,
14901       -1,    -1,    51,  3185,    -1,    -1,  3188,    -1,  3190,    -1,
14902      943,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3201,
14903     3202,    -1,    -1,  3205,    -1,    -1,    10,    -1,    77,    13,
14904       -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,
14905     3222,    -1,  3224,    -1,  3226,    -1,  3228,    -1,    -1,    -1,
14906       34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14907       44,    -1,    -1,    -1,    -1,    -1,  3248,    51,    -1,   191,
14908     3252,    -1,    -1,    -1,   196,    -1,    -1,    -1,    -1,  1012,
14909       -1,    -1,    -1,    -1,    24,    -1,    -1,    -1,    -1,    -1,
14910       30,  3273,    -1,    77,  2090,    -1,   218,   219,    -1,    -1,
14911       -1,    -1,    -1,    -1,    -1,    45,    -1,    -1,    -1,    -1,
14912       -1,   233,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3301,
14913       -1,    -1,  3304,  3305,    -1,    -1,    -1,  3309,  3310,  3311,
14914       -1,    -1,    -1,    -1,  3316,    75,    -1,    -1,    -1,  3321,
14915       -1,    -1,   191,    -1,    -1,    -1,    -1,   196,    -1,    10,
14916      272,    -1,    13,    -1,  3336,    -1,    17,    18,    19,    -1,
14917       -1,    -1,    -1,    -1,   286,    -1,    -1,   289,  3350,   218,
14918      219,    -1,  3354,    -1,    -1,  3357,    -1,  3359,    -1,    -1,
14919       -1,    -1,    -1,    44,   233,    -1,    -1,    -1,    -1,    -1,
14920       51,   131,    -1,    -1,    -1,    -1,    -1,    -1,   138,    -1,
14921       -1,   141,    -1,    -1,    -1,    -1,    -1,   191,    -1,    -1,
14922       -1,    -1,   196,    -1,    -1,    -1,    77,  3399,    -1,    -1,
14923       -1,    -1,    -1,   272,  3406,    -1,    -1,    -1,   168,    -1,
14924       -1,    -1,    -1,    -1,   218,   219,    -1,   286,    -1,    -1,
14925      289,    -1,    -1,    -1,    -1,    -1,    -1,  3429,  3430,   233,
14926       -1,    -1,    -1,    -1,    -1,   377,    -1,    -1,    -1,    -1,
14927       -1,    -1,   202,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14928       -1,    -1,    24,    -1,    -1,    -1,    -1,    -1,    30,    -1,
14929       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   272,    -1,
14930       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14931       -1,    -1,   286,    -1,    -1,   289,    -1,    -1,    -1,    -1,
14932       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14933      691,    -1,    -1,    75,    -1,   265,    -1,    -1,   377,   269,
14934      191,    -1,    -1,    -1,    -1,   196,    -1,    -1,    -1,   279,
14935       -1,    -1,    -1,    -1,    -1,    -1,   717,    -1,   288,    -1,
14936       -1,    -1,    -1,    -1,  3536,   477,    -1,   218,   219,    -1,
14937      300,    -1,    -1,   485,   486,   487,   488,   489,   490,   491,
14938      492,   493,   233,    -1,    -1,    -1,   498,    -1,    -1,   131,
14939       -1,    -1,    -1,    -1,    -1,    -1,   138,    -1,    -1,   141,
14940       -1,    -1,    -1,   377,    -1,    -1,    -1,    -1,   338,    -1,
14941       -1,   341,   342,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14942       -1,   272,  1345,    -1,    -1,    -1,   168,  1350,  1351,    -1,
14943       -1,    -1,    -1,    -1,    -1,   286,    -1,    -1,   477,    -1,
14944       -1,   631,   372,    -1,    -1,    -1,   485,   486,   487,   488,
14945      489,   490,   491,   492,   493,  1378,    -1,    -1,    -1,   498,
14946      202,    -1,    -1,    -1,  1387,    -1,  1389,    -1,    -1,    -1,
14947     1393,    -1,    -1,    -1,    -1,    -1,  3648,  1400,    -1,    -1,
14948       -1,    -1,  3654,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14949       -1,   681,   682,  3665,    -1,    -1,    -1,    -1,    -1,    -1,
14950       -1,   862,    -1,   477,    -1,    -1,    -1,    -1,    -1,    -1,
14951      440,   485,   486,   487,   488,   489,   490,   491,   492,   493,
14952       -1,    -1,    -1,   265,   498,    -1,   377,   269,    -1,    -1,
14953     3702,  3703,  3704,    -1,  2520,    -1,    -1,   279,    -1,    -1,
14954       -1,    -1,    -1,    -1,    -1,    -1,   288,  3719,    -1,    -1,
14955       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   300,    -1,
14956       -1,    -1,  3734,    -1,    -1,    -1,  1489,    -1,    61,    -1,
14957       -1,    -1,    -1,    -1,    -1,    -1,  1499,    -1,    -1,    -1,
14958     3752,  3753,  3754,    -1,    -1,   775,  3758,    -1,    -1,    -1,
14959       -1,    -1,    -1,    -1,    -1,    -1,   338,    -1,  3770,   341,
14960      342,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,    -1,
14961       -1,   801,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   809,
14962     1543,  1544,   812,   813,   814,    -1,   477,    -1,    -1,    -1,
14963      372,    -1,    -1,    -1,   485,   486,   487,   488,   489,   490,
14964      491,   492,   493,  1004,    -1,    -1,    -1,    -1,    -1,    -1,
14965       -1,    -1,    -1,    -1,  3826,    -1,    -1,    -1,    -1,    -1,
14966       -1,  1022,    -1,  1586,   157,    -1,  1589,  1590,    -1,    -1,
14967       -1,    -1,  1033,    -1,    -1,  3847,    -1,    -1,    -1,    -1,
14968       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1048,  3860,    -1,
14969       -1,  3863,    -1,    -1,    -1,    -1,    -1,  2683,   440,    -1,
14970      193,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14971     3882,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    24,  3891,
14972       -1,    -1,    -1,    -1,    30,    -1,    -1,  3899,    -1,  3901,
14973       -1,    -1,  3904,    -1,    -1,    -1,   229,  3909,  3910,  3911,
14974     3912,    -1,    -1,  3915,  3916,  3917,  3918,  3919,  3920,  3921,
14975     3922,  3923,  3924,    -1,    -1,    -1,  3928,  3929,  3930,    -1,
14976       -1,    -1,    -1,    -1,    -1,    -1,  3938,    -1,    -1,    75,
14977     3942,    -1,   265,    -1,  3946,    -1,   269,    -1,    -1,    -1,
14978       -1,    -1,  3954,    -1,    -1,  3957,    -1,  3959,    -1,    -1,
14979       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3969,    -1,    -1,
14980     3972,  3973,    -1,    -1,    -1,  3977,  3978,   300,   301,    -1,
14981     3982,    -1,  3984,    -1,    -1,    -1,    -1,    -1,    -1,  3991,
14982     3992,  3993,  1012,    -1,    -1,   131,    -1,  2813,    -1,    -1,
14983     2816,    -1,   138,    -1,    -1,   141,    -1,    -1,    -1,  4011,
14984     4012,  4013,  1203,  4015,  4016,   338,    -1,  4019,    -1,   342,
14985       -1,  4023,    -1,    -1,   347,  4027,    -1,  1780,    -1,    -1,
14986       -1,  4033,   168,   356,    -1,    -1,    -1,    -1,    -1,    -1,
14987       -1,   364,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   372,
14988       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4059,    -1,    -1,
14989       -1,   384,    -1,    -1,    -1,    -1,   202,    -1,    -1,    -1,
14990      393,  4073,    -1,  4075,   397,    -1,    -1,    -1,    -1,    -1,
14991       -1,    -1,    -1,    -1,    -1,    -1,    -1,  2903,    -1,    -1,
14992       -1,  4093,  4094,  4095,    -1,    -1,    -1,    -1,    -1,    -1,
14993     2916,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2924,    -1,
14994       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
14995       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   451,   265,
14996       -1,  4133,  4134,   269,    -1,    -1,    -1,    -1,    -1,    -1,
14997       -1,    -1,    -1,   279,    -1,    -1,    -1,    -1,  2964,    -1,
14998     4152,    -1,   288,    -1,    10,    -1,    -1,    13,    -1,    -1,
14999       -1,    17,    18,    19,   300,    -1,    -1,    -1,    -1,  2985,
15000       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,    -1,
15001     1200,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    44,    -1,
15002       -1,    -1,    -1,    -1,    -1,    51,    -1,    -1,    -1,    -1,
15003       -1,    -1,   338,  1223,    -1,   341,   342,    -1,    -1,    -1,
15004       -1,    -1,  3028,    -1,  3030,    -1,    -1,    -1,    -1,    10,
15005       -1,    77,    13,    -1,    -1,    -1,    17,    18,    19,    -1,
15006       -1,    -1,    -1,    -1,    -1,    -1,   372,    -1,    -1,  1992,
15007     1993,    -1,    -1,    34,    -1,    -1,  1999,  2000,    -1,    -1,
15008     4252,    -1,    -1,    44,  1445,    -1,    -1,    -1,    -1,    -1,
15009       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15010       -1,    -1,    -1,    -1,    -1,  2028,    -1,    -1,    -1,    -1,
15011     1300,    -1,    -1,  4285,    -1,    -1,    77,    -1,    -1,  1309,
15012       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4299,  3114,  4301,
15013       -1,    -1,    -1,  1323,   440,  3121,  4308,    -1,    -1,    -1,
15014       -1,    -1,  4314,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15015     1511,    -1,  1342,  4325,    -1,  1345,  1346,    -1,    -1,    -1,
15016     1350,  1351,    -1,    -1,    -1,   191,    -1,  4339,    -1,    -1,
15017      196,    -1,  4344,  4345,    10,    -1,    -1,    13,    -1,    -1,
15018     4352,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,  4361,
15019       -1,  1552,   218,   219,    -1,    -1,    -1,    -1,    34,  4371,
15020       -1,    -1,    -1,    -1,    -1,    -1,    -1,   233,    44,    -1,
15021       -1,  4383,  4384,    -1,    -1,    51,    -1,    -1,    -1,    -1,
15022       -1,    -1,  4394,    -1,  1585,    -1,    -1,    -1,    -1,    -1,
15023      191,    -1,    -1,  4405,  4406,   196,    -1,    -1,    -1,    -1,
15024       -1,    77,    -1,    -1,    -1,    -1,   272,    -1,    -1,    -1,
15025       -1,  4423,    -1,    -1,    -1,    -1,    -1,   218,   219,    24,
15026      286,    -1,    -1,   289,    -1,    30,    -1,    -1,    -1,    -1,
15027       -1,    -1,   233,    -1,    -1,    -1,    -1,    -1,    -1,    61,
15028       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4459,    -1,    -1,
15029       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4470,    -1,
15030       -1,    -1,    -1,  1664,  1665,  1666,    -1,    -1,    -1,    -1,
15031       75,   272,    -1,    -1,    96,    -1,    -1,    -1,    -1,    -1,
15032       -1,    -1,    -1,    -1,    -1,   286,  4498,    -1,   289,  4501,
15033       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4509,  4510,    -1,
15034       -1,    -1,    -1,    -1,  4516,  4517,    -1,    -1,    -1,  4521,
15035       -1,   377,    -1,  4525,    -1,   191,  4528,  4529,    -1,    -1,
15036      196,  4533,  4534,    -1,    -1,    -1,   131,  4539,  4540,  4541,
15037     4542,  4543,    -1,   138,    -1,   157,   141,    -1,    -1,    -1,
15038       -1,    -1,   218,   219,  4556,    -1,    -1,  4559,    -1,    -1,
15039       -1,  4563,    -1,    -1,    -1,    -1,  4568,   233,    -1,  4571,
15040     4572,    -1,  4574,   168,  4576,    -1,    -1,  4579,    -1,  4581,
15041       -1,   193,    -1,  1603,  1775,    -1,   377,    -1,  4590,    -1,
15042       -1,  1611,  4594,    -1,    -1,  1786,    -1,  4599,    -1,    -1,
15043       51,    -1,    -1,    -1,    -1,    -1,   272,   202,    -1,    -1,
15044       -1,  1802,  4614,  3429,  3430,  4617,    -1,   229,    -1,    -1,
15045      286,   477,    -1,   289,    -1,    -1,    -1,    -1,    -1,   485,
15046      486,   487,   488,   489,   490,   491,   492,   493,    -1,    -1,
15047       -1,    -1,   498,    -1,    -1,    -1,    -1,    -1,    -1,  4651,
15048       -1,    -1,    -1,   265,    -1,    -1,    -1,   269,    -1,    -1,
15049       -1,    -1,    -1,    -1,  1855,  4667,    -1,    -1,    -1,    -1,
15050      265,    -1,    -1,    -1,   269,    -1,    -1,    -1,    -1,  1870,
15051       -1,    -1,  1873,  1874,   279,    -1,   477,    -1,   300,   301,
15052       -1,    -1,    -1,   288,   485,   486,   487,   488,   489,   490,
15053      491,   492,   493,    -1,    -1,   300,    -1,   498,    -1,    -1,
15054       -1,   377,    -1,  1904,  1905,    -1,  4718,    -1,    -1,    -1,
15055       -1,    -1,    -1,    -1,    -1,    -1,   338,    -1,    -1,    -1,
15056      342,    -1,    -1,    -1,    -1,   347,    -1,    -1,    -1,    -1,
15057     4742,    -1,    -1,   338,   356,    -1,   341,   342,    -1,    -1,
15058       -1,    -1,   364,    -1,    -1,  4757,    -1,    -1,    -1,    -1,
15059      372,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15060       -1,    -1,   384,    -1,    -1,    -1,    -1,   372,    -1,    -1,
15061       -1,   393,    -1,    -1,    -1,   397,  4788,    -1,    -1,    -1,
15062       -1,  2544,  2545,    -1,    -1,    -1,    -1,  2550,    -1,    -1,
15063       -1,    -1,  4804,    -1,  1824,    -1,    -1,    -1,  1828,  4811,
15064       -1,   477,    -1,    -1,  2005,    -1,    -1,  2008,  4820,   485,
15065      486,   487,   488,   489,   490,   491,   492,   493,    10,  2582,
15066     2583,    13,   498,  4835,    -1,    17,    18,    19,    -1,   451,
15067       -1,  2032,    -1,    -1,    -1,   440,  4848,    -1,  4850,  3665,
15068       -1,    -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15069       -1,    -1,    44,    -1,    10,    -1,    -1,    13,    -1,    51,
15070       -1,    17,    18,    19,  4876,    24,    -1,    -1,    -1,    -1,
15071       -1,    30,    -1,    -1,    -1,  4887,    -1,    -1,    34,  2642,
15072       -1,    -1,    -1,    -1,    -1,    77,    -1,    -1,    44,    -1,
15073       -1,    -1,    -1,    -1,    -1,    51,    -1,    -1,    -1,    -1,
15074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15075       -1,    -1,    -1,    -1,    -1,    -1,    75,    -1,    -1,    -1,
15076     4932,    77,    -1,  4935,    -1,    -1,  4938,  4939,  4940,    -1,
15077       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15078       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15079       -1,  4963,  4964,    -1,    -1,  4967,    -1,    -1,    -1,    -1,
15080       -1,    -1,    -1,  2726,    -1,  1995,    -1,    -1,    -1,    -1,
15081       -1,    -1,   131,    -1,    -1,  4987,    -1,    -1,    -1,   138,
15082       -1,  4993,   141,    -1,    -1,  4997,    -1,    -1,    -1,  5001,
15083       -1,    -1,  5004,    -1,  5006,    -1,    -1,    -1,    -1,   191,
15084     3826,    -1,    -1,    -1,   196,  5017,    -1,  5019,    -1,   168,
15085       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5030,  5031,
15086     5032,    -1,  5034,    -1,    -1,    -1,   218,   219,    -1,    -1,
15087       -1,    -1,    -1,    -1,    -1,   191,    -1,    -1,    -1,    -1,
15088      196,   233,    -1,   202,  2807,    -1,    -1,    -1,    -1,    -1,
15089       -1,    -1,  2815,    -1,    -1,  2818,    -1,    -1,    -1,    -1,
15090       -1,    -1,   218,   219,    -1,    -1,    -1,  2830,    -1,    -1,
15091     5082,  5083,    -1,    -1,    -1,    -1,    -1,   233,    -1,    -1,
15092      272,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15093       -1,    -1,    -1,    -1,   286,    -1,    -1,   289,    -1,    -1,
15094       -1,    -1,    -1,    -1,    -1,    -1,   265,    -1,    -1,    -1,
15095      269,    -1,    -1,    -1,  5126,    -1,   272,    -1,    -1,    -1,
15096      279,    -1,    -1,    -1,    -1,    -1,    -1,  5139,    -1,   288,
15097      286,    -1,  5144,   289,    -1,    -1,    -1,  5149,    -1,    -1,
15098       -1,   300,    -1,    -1,    -1,    -1,  5158,    -1,    -1,    -1,
15099       -1,    -1,    -1,    -1,    -1,    -1,  5168,    -1,    -1,    -1,
15100     5172,    -1,    -1,  5175,    -1,    -1,    24,    -1,    -1,    -1,
15101       -1,    -1,    30,    -1,  5186,  5187,  5188,    -1,    -1,   338,
15102       -1,    -1,   341,   342,    -1,   377,    10,    -1,    -1,    13,
15103       -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,
15104       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5220,    -1,
15105       34,    -1,  5224,   372,  5226,    -1,    -1,    75,    -1,    -1,
15106       44,   377,    -1,    -1,    -1,    -1,    -1,    51,    -1,    -1,
15107      691,    -1,    -1,    -1,  5246,    -1,    -1,  5249,    -1,    -1,
15108       -1,  5253,    -1,    -1,    -1,    -1,    -1,    -1,  5260,    -1,
15109       -1,    -1,    -1,    77,    -1,  5267,   717,    -1,    -1,    -1,
15110       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15111       -1,    -1,    -1,   131,    -1,    -1,    -1,    -1,  2479,    -1,
15112      138,   440,    -1,   141,    -1,   477,  5298,    -1,  5300,    -1,
15113       -1,    -1,    -1,   485,   486,   487,   488,   489,   490,   491,
15114      492,   493,    -1,    -1,    -1,    -1,   498,    -1,    -1,    -1,
15115      168,    -1,  5324,  3076,    -1,    -1,    -1,  5329,  5330,    -1,
15116       -1,   477,  5334,  5335,  5336,  5337,    -1,    -1,    -1,   485,
15117      486,   487,   488,   489,   490,   491,   492,   493,    -1,    -1,
15118       -1,    -1,   498,    -1,   202,    -1,    -1,    -1,    -1,    -1,
15119       -1,    -1,    -1,  5365,    -1,    -1,    -1,    -1,    -1,    -1,
15120     5372,    -1,    -1,    -1,    -1,    -1,    -1,   191,    -1,    -1,
15121       -1,    -1,   196,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15122       -1,    -1,    -1,    -1,    -1,  5397,    -1,    -1,  5400,    -1,
15123       -1,    -1,    -1,    -1,   218,   219,    -1,    -1,    -1,    -1,
15124       -1,   862,    -1,    -1,    -1,    -1,    -1,   265,    -1,   233,
15125       -1,   269,    -1,  5425,  2615,    -1,    -1,    -1,  2619,  2620,
15126       -1,   279,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15127      288,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15128       -1,  5453,   300,    -1,    -1,    -1,    -1,  5459,   272,    -1,
15129       -1,  5463,    -1,    -1,    -1,  5467,    -1,    -1,  5470,  4285,
15130       -1,    -1,   286,    -1,    -1,   289,  2496,  5479,    -1,  5481,
15131       -1,  5483,  5484,  4299,    -1,  2676,    -1,    -1,  5490,    -1,
15132      338,  2682,    -1,   341,   342,    -1,  5498,    -1,    -1,    -1,
15133       -1,    -1,    -1,    -1,    -1,    -1,  5508,    -1,    -1,    -1,
15134       -1,  3264,    -1,  3266,    -1,    -1,    -1,    -1,    -1,    -1,
15135       -1,    -1,    -1,    -1,   372,    -1,    -1,    -1,    -1,  3282,
15136       -1,    -1,  2723,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15137       -1,  5543,  5544,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15138       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15139       -1,    10,    -1,   377,    13,    -1,    -1,    -1,    17,    18,
15140       19,  1022,  5574,    -1,    -1,  3328,  3329,    -1,    -1,    -1,
15141       -1,    -1,  1033,    -1,    -1,    34,  5588,    -1,    -1,    -1,
15142       -1,    -1,   440,    -1,    -1,    44,    -1,  1048,    -1,    -1,
15143       -1,    -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15144       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15145       -1,    -1,  2642,    -1,  5626,  5627,  5628,    -1,    77,    -1,
15146       -1,    -1,  5634,    -1,    -1,    -1,  5638,    -1,    -1,    -1,
15147       -1,    -1,  5644,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15148       -1,  5653,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15149       -1,    -1,    -1,   477,    -1,  5667,    -1,    -1,    -1,    -1,
15150       -1,   485,   486,   487,   488,   489,   490,   491,   492,   493,
15151     5682,  2701,    -1,    -1,   498,    -1,    -1,  5689,    -1,    -1,
15152       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15153     2891,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15154       -1,    -1,  5714,    -1,    -1,    -1,    -1,    -1,    -1,  5721,
15155       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5731,
15156       -1,    -1,  2923,    -1,    -1,    -1,    -1,  5739,  5740,  5741,
15157       -1,    -1,   191,  5745,    -1,  5747,    -1,   196,    -1,    -1,
15158       -1,    -1,  1203,    -1,  5756,  5757,  5758,    -1,    -1,    -1,
15159     2780,  5763,  5764,    -1,    -1,    -1,    -1,  5769,    -1,   218,
15160      219,    -1,    -1,    -1,    -1,    -1,    -1,  2797,    -1,    -1,
15161       -1,    -1,    -1,    -1,   233,  5787,    -1,    -1,    -1,    -1,
15162       -1,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,
15163       -1,    17,    18,    19,    -1,    -1,  2997,    -1,    -1,    -1,
15164     3001,    -1,    -1,  5815,  5816,  5817,    -1,    -1,    34,  5821,
15165       -1,    -1,    -1,   272,    -1,    -1,    -1,    -1,    44,    -1,
15166       -1,    -1,    -1,    -1,    -1,    51,  5838,   286,    -1,    -1,
15167      289,    -1,    -1,  2863,    -1,    -1,    -1,    -1,    -1,    -1,
15168       -1,    -1,    -1,    -1,    -1,    -1,  5858,    -1,    -1,    -1,
15169     5862,    77,    -1,    -1,    -1,  5867,    -1,    -1,    -1,    -1,
15170       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15171     2900,    -1,  2902,    -1,  2904,  2905,    -1,    -1,    -1,  2909,
15172     2910,  2911,    -1,  2913,  2914,  2915,  5898,    -1,    -1,    -1,
15173       -1,  5903,  5904,  5905,  5906,  5907,    -1,    -1,    -1,  3100,
15174       -1,    -1,    -1,    -1,  5916,    -1,    -1,  5919,    -1,    -1,
15175       -1,    -1,    -1,    -1,  3115,    -1,  4742,    -1,   377,  3120,
15176       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3691,    -1,
15177       -1,  4757,    -1,    -1,    -1,    -1,    -1,    -1,  2968,    -1,
15178       -1,    -1,  5954,  5955,    -1,    -1,    -1,  5959,    -1,    -1,
15179       -1,  3714,    -1,    -1,    -1,     8,  5968,  5969,    -1,    -1,
15180     5972,    14,    15,  2993,    -1,   191,    -1,    20,    -1,    22,
15181      196,    -1,    -1,    -1,    -1,    28,    -1,    30,    -1,    -1,
15182       -1,    -1,    -1,    -1,  1445,    -1,    -1,    -1,    -1,    -1,
15183       -1,    -1,   218,   219,    -1,    -1,    49,    50,    -1,    -1,
15184       -1,    -1,    -1,    -1,    -1,    -1,    -1,   233,    -1,    -1,
15185       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,    -1,
15186       -1,    -1,  4848,    -1,    -1,    -1,   485,   486,   487,   488,
15187      489,   490,   491,   492,   493,    -1,    -1,    -1,    -1,   498,
15188       -1,    -1,    -1,    -1,    -1,    -1,   272,    -1,    -1,    -1,
15189     1511,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15190      286,    -1,    -1,   289,    -1,    -1,    -1,    -1,    10,    -1,
15191       -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,
15192       -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,
15193       13,  1552,    34,    -1,    17,    18,    19,    -1,    -1,    -1,
15194       -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,  3871,    51,
15195       -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15196       -1,    44,    -1,    -1,  1585,    -1,    -1,    -1,    51,    -1,
15197       -1,    -1,    -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,
15198       -1,    -1,    -1,    -1,    -1,    -1,   199,    -1,    -1,    -1,
15199      203,   377,    -1,    -1,    77,    -1,    -1,    -1,   211,    -1,
15200       -1,   214,    -1,    -1,   217,   218,    -1,   220,  3369,   222,
15201       -1,  3372,   225,  3374,   227,    -1,    -1,    -1,  3379,    -1,
15202       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15203       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15204       -1,    -1,    -1,    -1,    -1,    -1,  5032,    -1,  5034,    -1,
15205       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15206       -1,    -1,    -1,    -1,    -1,  3426,    -1,    -1,    -1,    -1,
15207       -1,    -1,    -1,  3434,    -1,    -1,  3266,    -1,    -1,    -1,
15208       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   191,
15209       -1,   477,    -1,    -1,   196,    -1,    -1,    -1,  3459,   485,
15210      486,   487,   488,   489,   490,   491,   492,   493,   191,    -1,
15211       -1,    -1,   498,   196,    -1,    -1,   218,   219,    -1,    10,
15212       -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,
15213       -1,   233,    -1,    -1,    -1,   218,   219,    -1,    10,    -1,
15214       -1,    13,    -1,    34,    -1,    17,    18,    19,    -1,    -1,
15215      233,    -1,    -1,    44,  1775,    -1,    -1,    -1,    -1,    -1,
15216       51,    -1,    34,    -1,    -1,  1786,    -1,  3528,    -1,  3530,
15217      272,    -1,    44,    -1,    -1,    -1,    -1,    -1,    -1,    51,
15218       -1,  1802,    -1,    -1,   286,    -1,    77,   289,    -1,   272,
15219       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15220     5186,    -1,    -1,   286,    -1,    77,   289,    -1,    -1,    -1,
15221       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15222       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15223       -1,    -1,    -1,  3423,  1855,    -1,    -1,    -1,    -1,    -1,
15224       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4171,  1870,
15225       -1,    -1,  1873,  1874,    -1,    -1,    -1,    -1,    -1,    -1,
15226     3621,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15227       -1,    -1,    -1,  4196,    -1,   377,    -1,    -1,    -1,    -1,
15228     4203,    -1,    -1,  1904,  1905,    -1,    -1,  3648,    -1,    -1,
15229       -1,  4214,    -1,  3654,   377,    -1,    -1,    -1,    -1,    -1,
15230      191,    -1,  3663,    -1,    -1,   196,    -1,    -1,    -1,    -1,
15231       -1,  3501,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   191,
15232       -1,    -1,    -1,    -1,   196,    -1,    -1,   218,   219,    -1,
15233     3691,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15234       -1,    -1,   233,    -1,    -1,    -1,   218,   219,    -1,  5335,
15235       -1,  5337,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15236       -1,   233,    -1,    -1,    -1,  3555,    -1,  4290,  4291,    -1,
15237       -1,    -1,    -1,    -1,    -1,   477,    -1,    -1,    -1,    -1,
15238       -1,   272,    -1,   485,   486,   487,   488,   489,   490,   491,
15239      492,   493,    -1,    -1,   477,   286,   498,    -1,   289,  3760,
15240      272,    -1,   485,   486,   487,   488,   489,   490,   491,   492,
15241      493,  2032,    -1,    -1,   286,   498,   629,   289,    -1,    -1,
15242       -1,  3782,    -1,    -1,    -1,    -1,    -1,   640,    -1,    -1,
15243       -1,   644,    -1,  3623,    -1,    -1,    -1,    -1,   651,   652,
15244       -1,    -1,   655,  3804,   657,   658,    -1,    -1,    -1,    -1,
15245       -1,    -1,    -1,    -1,  4377,    -1,    -1,    -1,    -1,   672,
15246       -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,
15247       19,    -1,    -1,    -1,    -1,    -1,    -1,   690,    -1,  3669,
15248       -1,    -1,    -1,    -1,    -1,    34,   377,    -1,    -1,    -1,
15249       -1,  3681,  3682,    -1,    -1,    44,    -1,    -1,   711,    -1,
15250      713,  3691,    51,    -1,    -1,   377,  3696,  4430,  3698,    -1,
15251      723,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15252       -1,    -1,    -1,    -1,  3885,    -1,    -1,    -1,    77,    -1,
15253       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15254       -1,    -1,   755,    -1,    -1,    -1,    -1,  3908,    -1,    -1,
15255       -1,    -1,    -1,    -1,    -1,  3745,    -1,    -1,    -1,    -1,
15256       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15257       -1,    -1,  3933,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15258       -1,    -1,    -1,    -1,    -1,    -1,   477,    -1,  5574,    -1,
15259     3780,  3781,    -1,    -1,   485,   486,   487,   488,   489,   490,
15260      491,   492,   493,    -1,    -1,   477,    -1,   498,    -1,    -1,
15261       -1,    -1,    -1,   485,   486,   487,   488,   489,   490,   491,
15262      492,   493,    -1,    -1,    -1,    -1,   498,   840,    -1,    -1,
15263       -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,
15264       13,    -1,   191,    -1,    17,    18,    19,   196,    -1,    -1,
15265       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15266       -1,    34,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   218,
15267      219,    44,    -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,
15268       -1,    -1,    -1,    -1,   233,    -1,    -1,    -1,    -1,    -1,
15269       -1,    -1,    -1,    -1,    -1,    -1,  5682,    -1,    -1,    -1,
15270       -1,    -1,    -1,    -1,    77,    -1,    -1,    -1,    -1,   922,
15271       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15272     4081,    -1,    -1,   272,    -1,    -1,    -1,    -1,    -1,    -1,
15273       -1,    -1,    -1,  4656,    -1,    -1,    -1,   286,    -1,  4662,
15274      289,    -1,    -1,  4666,    -1,    -1,    -1,    -1,    -1,    -1,
15275       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15276       -1,    -1,    -1,  3953,    -1,    -1,    -1,    -1,    -1,    -1,
15277     4693,  4694,    -1,    -1,    -1,  4698,  4699,    -1,    -1,    -1,
15278       -1,    -1,    -1,   996,    -1,    -1,    -1,    -1,    -1,    -1,
15279       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15280       -1,  5787,    -1,    -1,    -1,    -1,    -1,  1020,    -1,    -1,
15281     4171,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   191,    -1,
15282       -1,    -1,  1035,   196,  1037,    -1,    -1,    -1,   377,    -1,
15283     5816,  5817,    -1,  1046,    -1,  4196,    -1,    -1,    -1,    -1,
15284     1053,    -1,    -1,    -1,    -1,   218,   219,    -1,    -1,    -1,
15285       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15286      233,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15287       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15288       -1,    -1,  1095,    -1,  1097,    -1,    -1,    -1,    -1,    -1,
15289       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   272,
15290       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15291       -1,    -1,    -1,   286,    -1,    -1,   289,    -1,    -1,    -1,
15292       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,    -1,
15293     5916,    -1,    -1,    -1,    -1,    -1,   485,   486,   487,   488,
15294      489,   490,   491,   492,   493,    -1,    -1,    -1,    -1,   498,
15295       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1171,    -1,
15296     1173,    -1,  1175,    -1,  1177,    -1,  1179,  1180,  1181,    10,
15297     4331,    -1,    13,  1186,    -1,    -1,    17,    18,    19,    -1,
15298       -1,  4171,    -1,    -1,  1197,    -1,    -1,    -1,    -1,    -1,
15299       -1,    -1,    -1,    34,  2615,    -1,    -1,  1210,  2619,  2620,
15300       -1,    -1,    -1,    44,   377,    -1,  4196,    -1,    -1,    -1,
15301       51,    -1,    -1,    -1,  4204,    -1,  4377,  4207,    -1,  4209,
15302       -1,  4382,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15303       10,    -1,    -1,    13,    -1,    -1,    77,    17,    18,    19,
15304       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15305       -1,    -1,    -1,    -1,    34,  2676,    -1,    -1,    -1,    -1,
15306       -1,  2682,    -1,    -1,    44,  4255,    -1,    -1,    -1,    -1,
15307       -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15308       -1,  4271,    -1,    -1,    -1,    -1,  4276,    -1,    -1,    -1,
15309       -1,    -1,    -1,    -1,    -1,    -1,    -1,    77,    -1,    -1,
15310       -1,    -1,  2723,    -1,   477,    -1,    -1,    -1,    -1,    -1,
15311       -1,    -1,   485,   486,   487,   488,   489,   490,   491,   492,
15312      493,    -1,    -1,    -1,    -1,   498,    -1,    -1,    -1,    -1,
15313       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15314       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5071,    -1,
15315      191,  4512,    -1,    -1,  1367,   196,    -1,   206,    -1,    -1,
15316       -1,    -1,    -1,    -1,    -1,    -1,   215,    -1,    -1,    -1,
15317       -1,    -1,    -1,    -1,    -1,    -1,    -1,   218,   219,    -1,
15318      229,    -1,    -1,    -1,  4374,    -1,    -1,  4377,    -1,    -1,
15319       -1,    -1,   233,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15320       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15321       -1,   191,    -1,    -1,    -1,    -1,   196,    -1,    -1,    -1,
15322       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15323       -1,   272,    -1,    -1,    -1,    -1,    -1,    -1,   218,   219,
15324       -1,    -1,    -1,    -1,    -1,   286,    -1,    -1,   289,    -1,
15325       -1,    -1,    -1,   233,    -1,    -1,    -1,    -1,  4448,  4449,
15326     4450,  4451,    -1,  4453,  4454,  4455,  4456,  4457,    -1,    -1,
15327       -1,    -1,  1485,    -1,  4635,    -1,    -1,    -1,    -1,    -1,
15328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15329       -1,    -1,   272,    -1,    51,    -1,    -1,    -1,    -1,    -1,
15330       -1,    -1,  2923,    -1,    -1,    -1,   286,    -1,    -1,   289,
15331       -1,    -1,  4673,    -1,    -1,    10,    -1,    -1,    13,    -1,
15332       -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,    -1,
15333       -1,    -1,    -1,    -1,  4695,    -1,   377,    -1,    -1,    34,
15334       -1,    -1,    -1,    -1,  1557,    10,    -1,    -1,    13,    44,
15335       -1,    -1,    17,    18,    19,    -1,    51,    -1,  4548,    -1,
15336     4550,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,
15337       -1,    -1,    -1,    38,    -1,    -1,  2997,    -1,    -1,    44,
15338     3001,    -1,    77,    -1,    -1,    -1,    51,    -1,    -1,    -1,
15339       -1,    -1,    -1,    -1,    -1,    -1,    -1,   377,    -1,    -1,
15340       -1,  4762,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15341       -1,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15342       -1,    -1,  5345,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15343       -1,    -1,    -1,    -1,    -1,    -1,   477,    -1,    -1,    -1,
15344       -1,    -1,    -1,    -1,   485,   486,   487,   488,   489,   490,
15345      491,   492,   493,    -1,    -1,    -1,    -1,   498,    -1,    -1,
15346       -1,    -1,    -1,   128,    -1,    -1,    -1,    -1,    -1,    -1,
15347       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3100,
15348       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15349       -1,    -1,    -1,    -1,  3115,    -1,   191,   477,    -1,  3120,
15350       -1,   196,    -1,    -1,    -1,   485,   486,   487,   488,   489,
15351      490,   491,   492,   493,    -1,    -1,    -1,    -1,   498,    -1,
15352     4881,    -1,  4883,   218,   219,    -1,   191,    -1,    -1,    -1,
15353       -1,   196,    -1,    -1,    -1,    -1,    -1,    -1,   233,    -1,
15354       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15355       -1,    -1,    -1,   218,   219,    -1,    -1,    -1,  1771,    -1,
15356       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   233,    -1,
15357     4760,  4761,    -1,    -1,    -1,    -1,    -1,   272,    -1,   628,
15358       -1,    -1,    -1,  4773,    -1,  4775,  4776,  4777,    -1,    -1,
15359       -1,   286,    -1,  1806,   289,    -1,    -1,    -1,   647,    -1,
15360       -1,    -1,  5525,    -1,   653,    -1,    -1,   272,    -1,    -1,
15361       -1,    -1,    -1,    -1,    -1,    -1,   665,    -1,    -1,    -1,
15362       -1,   286,    -1,    -1,   289,    -1,    -1,    -1,    -1,    -1,
15363       -1,    -1,   681,    -1,    -1,    -1,  1849,    -1,  1851,    -1,
15364       -1,    -1,  5003,    -1,    -1,    -1,    -1,   696,    -1,    -1,
15365       -1,  4841,    -1,    10,    -1,   704,    13,    -1,  1871,    -1,
15366       17,    18,    19,    -1,    -1,    -1,    -1,    -1,    -1,   718,
15367       -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,    -1,   728,
15368       -1,    -1,   377,    -1,  1897,    -1,  1899,    44,    -1,    -1,
15369     4880,    -1,    -1,    -1,    51,    -1,    -1,    -1,    -1,    -1,
15370       -1,  1914,    -1,  1916,    -1,    -1,    -1,    -1,    -1,  1922,
15371     5071,  1924,   377,  1926,    -1,  1928,    -1,  1930,    -1,    -1,
15372       77,  1934,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15373       -1,    -1,  4922,    -1,    -1,   784,    -1,    -1,    -1,   205,
15374      206,    -1,    -1,    -1,    -1,    -1,    -1,   213,  3369,   215,
15375      216,  3372,    -1,  3374,    -1,    -1,    -1,    -1,  3379,    -1,
15376       -1,    -1,    -1,   229,   813,    -1,    -1,    -1,    -1,    -1,
15377       -1,    -1,   437,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15378       -1,    -1,   477,    -1,    -1,    -1,    -1,    -1,   837,    -1,
15379      485,   486,   487,   488,   489,   490,   491,   492,   493,    -1,
15380       -1,   496,    -1,    -1,    -1,  3426,    -1,    -1,    -1,    -1,
15381      167,    -1,   477,  3434,    -1,   172,    -1,    -1,    -1,    -1,
15382      485,   486,   487,   488,   489,   490,   491,   492,   493,    -1,
15383     5191,    -1,    -1,    -1,   191,    -1,    -1,    -1,  3459,   196,
15384       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   897,    -1,
15385       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15386       -1,   218,   219,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15387       -1,    -1,    -1,    -1,    -1,    -1,   233,    -1,    -1,    -1,
15388       -1,  5071,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15389       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15390       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3528,    -1,  3530,
15391       -1,    -1,    -1,    -1,    -1,   272,    -1,    -1,    -1,    -1,
15392       -1,    -1,    -1,    -1,    -1,    -1,  5116,    -1,    -1,   286,
15393       -1,    -1,   289,    -1,   691,  5125,    -1,    24,    -1,    -1,
15394       -1,    -1,    -1,    30,    -1,    -1,    -1,    -1,    -1,    -1,
15395       37,    -1,    -1,  5314,    -1,    -1,    -1,  1006,  5319,  5320,
15396      717,    -1,    -1,  1012,    -1,    -1,    -1,    -1,    -1,    -1,
15397       -1,    -1,    59,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15398       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    75,    -1,
15399       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15400     3621,    -1,    -1,  5926,    -1,    -1,    -1,    -1,    -1,    -1,
15401       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,
15402      377,    -1,    13,   110,    -1,    -1,    17,    18,    19,    -1,
15403       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15404     5963,    -1,  3663,    34,   131,    -1,    -1,    -1,    -1,    -1,
15405     5973,   138,    -1,    44,   141,    -1,    -1,    -1,    -1,    -1,
15406       51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5429,  5430,
15407     3691,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15408       -1,   168,    -1,    -1,    -1,  1134,    77,    -1,    -1,    -1,
15409       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15410       -1,    -1,    -1,    -1,    -1,   862,    -1,    -1,    -1,    -1,
15411       -1,    -1,   199,  5474,    -1,   202,    -1,    -1,    -1,    -1,
15412      477,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   485,   486,
15413      487,   488,   489,   490,   491,   492,   493,    -1,    -1,  3760,
15414       -1,    -1,    -1,    -1,    -1,  1194,    -1,    -1,    -1,    -1,
15415       -1,    -1,    -1,    -1,    -1,  5345,  1205,    -1,    -1,  5349,
15416      247,  3782,   628,   250,    -1,    -1,    -1,    -1,    -1,    -1,
15417     1219,    -1,    -1,    -1,  1223,    -1,    -1,    -1,   265,    -1,
15418       -1,   647,   269,  3804,    -1,    -1,    -1,   653,    -1,    -1,
15419       -1,    -1,   279,    -1,    -1,    -1,    -1,    -1,    -1,   665,
15420      191,   288,    -1,    -1,    -1,   196,    -1,    -1,    -1,    -1,
15421       -1,    -1,   299,   300,    -1,   681,    -1,    -1,    -1,    -1,
15422       -1,    -1,    -1,    -1,    -1,    -1,    -1,   218,   219,   695,
15423      696,    -1,    -1,    -1,    -1,    -1,   702,    -1,   704,   705,
15424       -1,    -1,   233,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15425       -1,   338,   718,    -1,   341,   342,   343,    -1,    -1,    -1,
15426       -1,    -1,   728,    -1,  3885,  1022,    -1,    -1,    -1,    -1,
15427       -1,    -1,    -1,    -1,    -1,    -1,  1033,    -1,    -1,   366,
15428       -1,   272,    -1,    -1,    -1,   372,    -1,  3908,    -1,    -1,
15429       -1,  1048,    -1,  1342,    -1,   286,    -1,    -1,   289,   386,
15430       -1,  1350,  1351,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15431       -1,    -1,  3933,    -1,    -1,    -1,    -1,    -1,   784,    -1,
15432       -1,    -1,   313,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15433       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15434       -1,    -1,    -1,    -1,    -1,  5535,    -1,   813,    -1,  5539,
15435       -1,  5541,    -1,   440,  1403,  5545,  5546,    -1,    -1,    -1,
15436       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15437       -1,   837,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15438       -1,    -1,    -1,    -1,    -1,    -1,   377,    -1,    -1,    -1,
15439       -1,    -1,    -1,    -1,    -1,    -1,  2609,  2610,    -1,    -1,
15440       -1,    -1,    -1,   394,    -1,    -1,    -1,    -1,    -1,    -1,
15441       -1,    -1,    -1,    -1,    -1,  2628,  2629,    -1,  2631,  2632,
15442       -1,    -1,  2635,  2636,    -1,    -1,    -1,    -1,    -1,    -1,
15443       -1,   897,    -1,    -1,    -1,    -1,    -1,  2650,    -1,    -1,
15444       -1,    -1,    -1,    -1,  2657,    -1,  1203,    -1,  2661,  2662,
15445       -1,    -1,  2665,  2666,    -1,    -1,    -1,    -1,    -1,  2672,
15446     4081,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15447       -1,  2684,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15448       -1,    -1,    -1,  2696,    -1,    -1,   477,    -1,  2701,    -1,
15449       -1,    -1,    -1,    -1,   485,   486,   487,   488,   489,   490,
15450      491,   492,   493,  2716,    -1,    -1,    -1,    -1,    -1,    -1,
15451       -1,    -1,  2725,    -1,    -1,  2728,    -1,  2730,  2731,  2732,
15452       -1,    -1,    -1,    -1,  2737,  2738,    -1,    -1,    -1,    -1,
15453       -1,    -1,    -1,    -1,  2747,    -1,    -1,    -1,    -1,  2752,
15454     1006,    -1,    -1,  2756,    -1,    -1,  1012,    -1,    -1,    -1,
15455     4171,    -1,    -1,    -1,    -1,  2768,  2769,  1023,    -1,    -1,
15456     2773,  1027,    -1,  1029,    -1,    -1,  2779,  2780,    -1,    -1,
15457       -1,    -1,    -1,  2786,    51,  4196,  2789,    -1,    -1,    -1,
15458       -1,    -1,    -1,  2796,  2797,    -1,    -1,    -1,  1345,  2802,
15459       -1,    -1,    -1,  5954,    -1,    -1,    -1,    -1,    -1,    -1,
15460     1649,  2814,    -1,  5793,  2817,    -1,    -1,    -1,    -1,  2822,
15461       -1,    -1,    -1,    -1,    -1,  2828,  2829,    -1,    -1,    -1,
15462       -1,    -1,    -1,  2836,    -1,    -1,  2839,    -1,    -1,    -1,
15463     2843,  2844,  2845,  2846,    -1,  2848,    -1,    -1,    -1,    -1,
15464       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2861,  2862,
15465       -1,  2864,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15466       -1,    -1,  2875,  2876,  2877,    -1,    -1,    -1,  1134,    -1,
15467       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    22,    -1,
15468       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1445,    -1,
15469       -1,    10,    -1,    -1,    13,    -1,    40,    -1,    17,    18,
15470       19,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15471     4331,    -1,    -1,    -1,  1763,    34,    -1,    -1,    -1,  2932,
15472       -1,    65,    -1,    -1,    -1,    44,    -1,  2940,  1194,    -1,
15473       -1,    -1,    51,    -1,    78,    -1,  5926,    -1,    -1,  1205,
15474       -1,    -1,  5932,    -1,    -1,    -1,    -1,  2960,    -1,  1798,
15475       94,    -1,    -1,  1219,  1511,    -1,  4377,  1223,    77,    -1,
15476       -1,  4382,    -1,    -1,    -1,    -1,    -1,    -1,   112,    -1,
15477       -1,    -1,  1821,  5963,   118,    -1,    -1,    -1,    -1,    -1,
15478     1829,    -1,    -1,  5973,    -1,    -1,  5976,    -1,  1837,    -1,
15479       -1,    -1,   136,    -1,    -1,  1552,    -1,  3010,    -1,    -1,
15480       -1,    -1,    -1,   147,    -1,    -1,    -1,    -1,    -1,    -1,
15481       -1,    -1,   156,    -1,    -1,    -1,  3029,    -1,  3031,    -1,
15482       -1,    -1,    -1,    -1,    -1,   169,    -1,    -1,  1585,    -1,
15483       -1,  1880,  1881,   177,    -1,    -1,    -1,   181,    -1,    -1,
15484       -1,    -1,    -1,    -1,    -1,  1894,    10,   166,    -1,    13,
15485       -1,    -1,    -1,    17,    18,    19,   200,    -1,  1907,  1908,
15486       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15487       34,    -1,   191,    37,    -1,    -1,  1342,   196,    -1,    -1,
15488       44,    -1,    -1,    -1,  1350,  1351,    -1,    51,    -1,    -1,
15489       -1,  4512,    -1,   237,    -1,    -1,    -1,    -1,    -1,   218,
15490      219,    -1,   246,    -1,    -1,    -1,    -1,    -1,    -1,  3122,
15491       -1,    -1,    -1,    77,   233,    -1,    -1,    -1,    -1,    -1,
15492       10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,
15493       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1403,    -1,    -1,
15494       -1,    -1,   286,    -1,    34,   289,    -1,    -1,    -1,    -1,
15495       -1,    -1,    -1,   272,    44,    -1,    -1,    -1,    -1,    -1,
15496       -1,    51,    -1,    -1,    -1,   309,    -1,   286,    -1,    -1,
15497      289,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   323,
15498       -1,    -1,    -1,    -1,    -1,    -1,   330,    77,    -1,    -1,
15499       -1,    -1,   311,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15500       -1,    -1,    -1,  2052,    -1,    -1,   350,    -1,    -1,    -1,
15501       -1,    -1,    -1,    -1,  4635,   359,    -1,    -1,  1775,    -1,
15502       -1,    -1,   366,    -1,    -1,   369,    -1,   191,    -1,  1786,
15503       -1,    -1,   196,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15504       -1,    -1,    -1,    -1,   388,  1802,    -1,    -1,    -1,    -1,
15505       -1,   395,  4673,    -1,   218,   219,    -1,   401,   377,    -1,
15506      404,   405,    -1,   407,   408,    -1,    -1,    -1,    -1,   233,
15507       -1,    -1,    -1,    -1,  4695,    -1,    -1,    -1,    -1,   423,
15508       -1,    -1,    -1,    -1,    -1,    -1,   430,    -1,    -1,   433,
15509       -1,    -1,   436,    -1,    -1,    -1,    -1,    -1,  1855,    -1,
15510       -1,   191,    -1,    -1,    -1,   449,   196,    -1,   272,    -1,
15511       -1,    -1,    -1,  1870,    -1,    -1,  1873,  1874,    -1,    -1,
15512       -1,    -1,   286,    -1,    -1,   289,    -1,    -1,   218,   219,
15513       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15514       -1,  4762,    -1,   233,    -1,    -1,    -1,  1904,  1905,    -1,
15515       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,    -1,
15516       -1,    -1,    -1,    -1,    51,    -1,   485,   486,   487,   488,
15517      489,   490,   491,   492,   493,    -1,    -1,    -1,    -1,    -1,
15518       -1,    -1,   272,  1649,    -1,    -1,    -1,    -1,  3401,    -1,
15519       -1,    -1,    -1,    -1,    -1,    -1,   286,    10,    -1,   289,
15520       13,    -1,    -1,    -1,    17,    18,    19,    -1,  3421,    -1,
15521       -1,    -1,    -1,   377,   691,    -1,    -1,   307,    -1,    -1,
15522       -1,    34,    -1,    -1,    37,  3438,    -1,    -1,    -1,  3442,
15523       -1,    44,    -1,    -1,  3447,  3448,  3449,    -1,    51,    -1,
15524      717,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15525       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15526       -1,    -1,  4883,    -1,    77,    -1,    -1,    -1,    -1,    -1,
15527     3483,  3484,  3485,  3486,    -1,  2032,    -1,    -1,    -1,    -1,
15528       -1,    -1,    -1,    -1,    -1,    -1,    -1,   377,    -1,    -1,
15529       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1763,    -1,    -1,
15530       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3520,    -1,  3522,
15531     3523,  3524,    -1,   477,    -1,    -1,    -1,    -1,    -1,    -1,
15532       -1,   485,   486,   487,   488,   489,   490,   491,   492,   493,
15533       -1,    -1,  1798,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15534       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15535       -1,    -1,    -1,    -1,    -1,  1821,    -1,    -1,    -1,    -1,
15536       -1,    -1,    -1,  1829,    -1,    -1,    -1,    -1,    -1,    -1,
15537       -1,  1837,    -1,    -1,    -1,    -1,    -1,    -1,   191,    -1,
15538       -1,    -1,  5003,   196,    -1,   862,    -1,   477,    -1,    -1,
15539       -1,    -1,    -1,    -1,    -1,   485,   486,   487,   488,   489,
15540      490,   491,   492,   493,    -1,   218,   219,    -1,    -1,    -1,
15541       -1,  1877,  1878,    -1,  1880,  1881,    -1,    -1,    -1,    -1,
15542      233,    -1,  3635,    -1,    -1,    -1,  1892,    -1,  1894,  1895,
15543       -1,  3644,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15544       -1,  1907,  1908,    -1,    51,    -1,    -1,    -1,    -1,    -1,
15545     5071,    -1,    -1,    -1,    -1,    -1,    -1,  3670,  3671,   272,
15546       -1,    -1,  3675,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15547       -1,    -1,    -1,   286,    -1,    -1,   289,    -1,    -1,  1945,
15548       -1,    -1,  1948,  1949,  3697,    -1,    -1,    -1,    -1,    -1,
15549       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15550       -1,    -1,    -1,    -1,    -1,  2554,    -1,    -1,    -1,    -1,
15551       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15552       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15553       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3750,    -1,    -1,
15554       -1,    -1,  3755,    -1,    -1,  1022,    -1,    -1,  3761,    -1,
15555       -1,    -1,    -1,    -1,    -1,    -1,  1033,    -1,    -1,  2608,
15556       -1,    -1,    -1,    -1,   377,    -1,    -1,    -1,    -1,    -1,
15557     5191,  1048,    -1,    -1,    -1,    -1,    -1,  2626,  3791,    -1,
15558       -1,  2630,    -1,    -1,    -1,  2634,  2052,    -1,    -1,    -1,
15559       -1,    -1,    -1,  2642,    -1,    -1,    -1,    -1,    -1,    -1,
15560       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3820,    -1,  3822,
15561       -1,  2660,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,
15562       -1,    -1,    17,    18,    19,    -1,    -1,    -1,    -1,    51,
15563       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    34,
15564       -1,    -1,    -1,    -1,    -1,  2694,    -1,    -1,  3861,    44,
15565       -1,    -1,    -1,    -1,    -1,    -1,    51,    -1,    -1,    -1,
15566       -1,    -1,    -1,    -1,   477,  2714,  2715,    -1,    -1,    -1,
15567       -1,    -1,   485,   486,   487,   488,   489,   490,   491,   492,
15568      493,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15569       -1,    -1,    -1,  5314,    -1,    -1,  2745,  2746,  5319,  5320,
15570     2749,    -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,
15571       13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,    -1,
15572       -1,    -1,    -1,  2772,    -1,  2774,  1203,    -1,    -1,  2778,
15573       -1,    34,    -1,    -1,    37,    -1,  2785,    -1,    -1,    -1,
15574       -1,    44,    -1,  2792,    -1,    -1,  2795,    -1,    51,    -1,
15575       -1,    -1,  2801,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15576       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15577       -1,    -1,  2821,    -1,    77,    -1,    -1,   172,  2827,    -1,
15578       -1,    -1,    -1,    -1,    -1,  2834,    -1,    -1,    -1,    -1,
15579       -1,    -1,    -1,    -1,    -1,    -1,   191,    -1,  2847,    -1,
15580       -1,   196,    -1,    -1,   691,    -1,    -1,    -1,    -1,  5430,
15581       -1,  2860,    -1,    -1,    -1,    -1,  2865,    -1,    -1,    -1,
15582       -1,    -1,  2871,   218,   219,    -1,    -1,    51,    -1,    -1,
15583      717,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   233,    -1,
15584       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15585       -1,    -1,    -1,  5474,    -1,    -1,    -1,    -1,  2615,    -1,
15586       -1,    -1,  2619,  2620,    -1,    -1,    -1,    -1,    -1,    -1,
15587       -1,    -1,    -1,    -1,    -1,    -1,    -1,   272,    -1,    -1,
15588       -1,    -1,  2931,    -1,  4097,    -1,    -1,  4100,   191,  4102,
15589       -1,   286,    -1,   196,   289,    -1,    -1,    -1,    -1,    -1,
15590       -1,    -1,  4115,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15591       -1,    -1,    -1,    -1,  4127,   218,   219,    -1,  4131,  2676,
15592       -1,    -1,    -1,    -1,    -1,  2682,    -1,    -1,    -1,    -1,
15593      233,    -1,    -1,    -1,    -1,    -1,    -1,  4150,    -1,    -1,
15594       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15595       -1,    -1,    -1,    -1,    -1,  4168,    -1,    -1,    -1,    -1,
15596     4173,    -1,    -1,    -1,    -1,    -1,  2723,    -1,  1445,   272,
15597       -1,    -1,    -1,    -1,    -1,   862,    -1,    -1,    -1,    -1,
15598       -1,    -1,   377,   286,    -1,  4198,   289,    -1,    -1,  4202,
15599       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4210,  4211,  4212,
15600     4213,    -1,    -1,    -1,    -1,    -1,    -1,  4220,  4221,  4222,
15601     4223,    -1,    -1,    -1,    -1,    -1,  4229,  4230,    -1,    -1,
15602       -1,    -1,  4235,  4236,    -1,  4238,  4239,  4240,  4241,  4242,
15603     4243,  4244,    -1,    -1,  1511,  3084,    -1,    -1,    -1,    -1,
15604       -1,  4254,    -1,    -1,    -1,  4258,  4259,  4260,  4261,    -1,
15605       -1,    -1,    -1,  3102,    -1,    -1,    -1,    -1,    -1,    -1,
15606     3109,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4282,
15607       -1,    -1,    -1,    -1,   377,  1552,    -1,    -1,    -1,    -1,
15608       -1,    -1,   477,    -1,   691,    -1,    -1,  4300,  2554,    -1,
15609      485,   486,   487,   488,   489,   490,   491,   492,   493,    -1,
15610       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1585,    -1,
15611      717,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15612       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15613       -1,  3180,    -1,    -1,    -1,  1022,    -1,  3186,    -1,    -1,
15614       -1,    -1,  2608,    -1,    -1,    -1,  1033,    -1,    -1,    -1,
15615       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15616     2626,  1048,  4375,    -1,  2630,    -1,  2923,    -1,  2634,    -1,
15617       -1,    -1,    -1,    -1,   477,    -1,  2642,    -1,    -1,    -1,
15618       -1,    -1,   485,   486,   487,   488,   489,   490,   491,   492,
15619      493,    -1,    -1,    -1,  2660,  4408,    -1,    -1,    -1,    -1,
15620       -1,    -1,  4415,    -1,  4417,    -1,    -1,    -1,    -1,    -1,
15621       -1,  2677,    -1,  2679,  2680,    -1,    -1,  3266,    -1,    -1,
15622       -1,    -1,    -1,    -1,  4437,    -1,    -1,    -1,  2694,    -1,
15623       10,    -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,
15624     2997,    -1,    -1,    -1,  3001,    -1,    -1,    -1,  2714,  2715,
15625       -1,    -1,    -1,    -1,    34,   862,    -1,    -1,    -1,    -1,
15626       -1,    -1,    -1,    -1,    44,    -1,    -1,    -1,    -1,   691,
15627       -1,    51,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2745,
15628     2746,    -1,    -1,  2749,    -1,    -1,    -1,    -1,    -1,    -1,
15629       -1,    -1,    -1,    -1,    -1,   717,    -1,    77,  1775,    -1,
15630       -1,    -1,    -1,    -1,    -1,    -1,  2772,    -1,  2774,  1786,
15631       -1,    -1,  2778,    -1,    -1,    -1,  1203,    -1,    -1,  2785,
15632       -1,    -1,    -1,    -1,    -1,  1802,  2792,    -1,    -1,  2795,
15633       -1,    -1,    -1,    -1,    -1,  2801,    -1,    -1,    -1,    -1,
15634       -1,    -1,    -1,  3100,  3393,  3394,    -1,    -1,    -1,    -1,
15635       -1,    -1,    -1,    -1,    -1,  2821,    -1,    -1,  3115,    -1,
15636       -1,  2827,    -1,  3120,    -1,    -1,    -1,    -1,  2834,    -1,
15637       -1,  3420,    -1,    -1,  3423,    -1,    -1,    -1,  1855,    -1,
15638       -1,  2847,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15639       -1,    -1,    -1,  1870,  2860,    -1,  1873,  1874,    -1,  2865,
15640       -1,    -1,    -1,    -1,    -1,  2871,    -1,    -1,    -1,    -1,
15641       -1,   191,    -1,    -1,    -1,  1022,   196,    -1,    -1,    -1,
15642       -1,    -1,    -1,  4636,  4637,  4638,  1033,  1904,  1905,  4642,
15643     4643,  4644,  4645,    -1,    -1,    -1,  4649,    -1,   218,   219,
15644      862,  1048,    -1,    -1,    -1,    -1,  3495,  3496,  3497,    -1,
15645       -1,    -1,    -1,   233,    -1,    -1,    -1,    -1,    -1,    -1,
15646       -1,    -1,    -1,    -1,    -1,  2931,    -1,   691,    -1,    -1,
15647     3519,    -1,  4685,  4686,  4687,  4688,  4689,    -1,  4691,  4692,
15648       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3538,
15649     4703,  4704,   272,   717,    -1,    -1,    -1,    -1,    -1,    -1,
15650       -1,    -1,    -1,    -1,    -1,    -1,   286,    -1,  3557,   289,
15651       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4732,
15652       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15653       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15654       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15655       -1,    -1,    -1,    -1,    -1,  2032,    -1,    -1,  1445,    -1,
15656       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15657       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    10,
15658       -1,    -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,
15659       -1,    -1,    -1,    -1,  3643,    -1,  1203,   377,    -1,    -1,
15660     1022,    -1,    -1,    34,    -1,    -1,    37,    -1,    -1,    -1,
15661       -1,  1033,  3369,    44,    -1,  3372,    -1,  3374,  3084,    -1,
15662       51,  4834,  3379,    -1,  1511,    -1,  1048,    -1,    -1,   409,
15663       -1,    -1,    -1,    -1,    -1,    -1,  3102,    -1,   862,    -1,
15664       -1,  3690,    -1,  3109,    -1,    -1,    77,  3696,    -1,  3698,
15665     3116,    -1,  3118,  3119,    -1,    -1,    -1,    -1,    -1,    -1,
15666       -1,    -1,  3711,    -1,  3713,  1552,    -1,    -1,    -1,  3426,
15667       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3434,    -1,    -1,
15668       -1,    -1,    -1,    -1,    -1,    -1,  4899,    -1,    -1,    -1,
15669       -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,  1585,    -1,
15670       -1,    -1,  3459,    -1,    -1,   485,   486,   487,   488,   489,
15671      490,   491,   492,   493,  3180,    -1,    -1,    -1,    -1,    -1,
15672     3186,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15673       -1,    -1,  3781,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15674       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15675       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15676      191,    -1,    -1,    -1,    -1,   196,    -1,    -1,    -1,    -1,
15677       -1,  3528,    -1,  3530,  3823,    -1,    -1,    -1,    -1,    -1,
15678       -1,  1203,    -1,    -1,    -1,    -1,    -1,   218,   219,    -1,
15679       -1,  3840,    -1,    -1,    -1,    -1,    -1,  5010,  1022,    -1,
15680     3266,    -1,   233,    -1,    -1,    -1,    -1,    -1,    -1,  1033,
15681       -1,    -1,    -1,  3862,    -1,    -1,  3865,    -1,    -1,    -1,
15682       -1,    -1,    -1,    -1,  1048,    -1,    -1,    -1,    -1,    -1,
15683       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1445,    -1,
15684       -1,   272,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15685       -1,    -1,    -1,    -1,    -1,   286,    -1,    -1,   289,    -1,
15686     5073,    -1,    -1,    -1,  3621,    -1,    -1,    -1,    -1,    -1,
15687       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5092,
15688       -1,    -1,    -1,    -1,  5097,  5098,    -1,    -1,  1775,    -1,
15689       -1,    -1,    -1,    -1,  5107,  3944,    -1,    -1,    -1,  1786,
15690       -1,  5114,    -1,    -1,  1511,    -1,  3663,    -1,    -1,    -1,
15691       -1,    -1,    -1,    -1,    -1,  1802,    -1,    -1,    -1,    -1,
15692       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3393,  3394,    -1,
15693       -1,    -1,    -1,    -1,  3691,    -1,    -1,  5150,  5151,    -1,
15694       -1,    -1,    -1,    -1,    -1,  1552,   377,    -1,    -1,    -1,
15695     5163,    -1,  5165,    -1,  3420,    -1,    -1,  3423,    -1,    -1,
15696       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5180,  1855,    -1,
15697       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1585,  1203,
15698       -1,    -1,    -1,  1870,    -1,    -1,  1873,  1874,    -1,    -1,
15699       -1,    -1,  5205,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15700     5213,    -1,    -1,  3760,    -1,    -1,    -1,    -1,    -1,    -1,
15701       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1904,  1905,    -1,
15702       -1,    -1,    -1,  1445,    -1,  3782,    -1,    -1,    -1,  3495,
15703     3496,  3497,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15704       -1,    -1,    -1,    -1,    -1,    -1,   477,  3804,    -1,    -1,
15705       -1,    -1,    -1,  3519,   485,   486,   487,   488,   489,   490,
15706      491,   492,   493,    -1,    -1,  4114,    -1,    -1,    -1,  5282,
15707       -1,    -1,  3538,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15708       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1511,
15709     5303,  3557,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15710     5313,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15711       -1,    -1,    -1,    -1,    -1,    -1,  4165,    -1,    -1,    -1,
15712       -1,  4170,    -1,  4172,    -1,    -1,    -1,    -1,  3885,    -1,
15713     1552,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2615,    -1,
15714       -1,    -1,  2619,  2620,    -1,  2032,  4195,    -1,    -1,    -1,
15715       -1,  3908,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15716       -1,    -1,    -1,  1585,    -1,  5378,    -1,    22,  1775,    -1,
15717       -1,    -1,    27,    -1,    -1,    -1,  3933,  3643,    -1,  1786,
15718       -1,    -1,    -1,    -1,    -1,  4234,    -1,    -1,  4237,    -1,
15719       -1,    -1,    -1,    -1,    -1,  1802,    -1,    -1,    -1,  2676,
15720       -1,    -1,    -1,    -1,    -1,  2682,    -1,    -1,    -1,    10,
15721       65,    -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,
15722       -1,  1445,    -1,    78,  3690,    -1,    -1,    -1,    -1,    -1,
15723     3696,    -1,  3698,    34,    -1,  5448,    -1,    -1,    -1,    94,
15724       -1,    -1,    -1,    44,    -1,  3711,  2723,  3713,  1855,    -1,
15725       51,    -1,    -1,    -1,    -1,    -1,    -1,   112,    -1,    -1,
15726       -1,    -1,    -1,  1870,    -1,    -1,  1873,  1874,    -1,    -1,
15727       -1,    -1,    -1,    -1,    -1,    -1,    77,    -1,  4327,  4328,
15728       -1,   136,    -1,    -1,    -1,    -1,    -1,  1511,  4337,    -1,
15729       -1,    -1,   147,  5506,    -1,    -1,    -1,  1904,  1905,    -1,
15730       -1,   156,    -1,    -1,    -1,  4354,    -1,  5520,    -1,    -1,
15731       -1,    -1,    -1,    -1,   169,  3781,    -1,    -1,    -1,   174,
15732       -1,    -1,    -1,    -1,  4081,    -1,   181,    -1,  1552,    -1,
15733       -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,
15734       -1,    -1,    17,    18,    19,   200,    -1,    -1,    -1,    -1,
15735     5563,    -1,    -1,  1775,    -1,    -1,    -1,  3823,    -1,    34,
15736       -1,  1585,    -1,    -1,  1786,    -1,  5579,    -1,    -1,    44,
15737       -1,   172,    -1,    -1,  3840,    -1,    51,    -1,    -1,    -1,
15738     1802,    -1,    -1,    -1,  4433,    -1,    -1,    -1,    -1,    -1,
15739      191,   246,    -1,    -1,    -1,   196,  3862,    -1,    -1,  3865,
15740       -1,    -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15741       -1,    -1,    -1,    -1,  4171,    -1,    -1,   218,   219,    -1,
15742       -1,    -1,    -1,    -1,    -1,  2032,    -1,    -1,    -1,    -1,
15743       -1,   286,   233,  1855,    -1,    -1,    -1,    -1,    -1,  4196,
15744       -1,    -1,    -1,    -1,   299,    -1,  2923,    -1,  1870,    -1,
15745       -1,  1873,  1874,  5666,   309,    -1,    -1,    -1,    -1,    -1,
15746       -1,    -1,    -1,    -1,   319,   320,    -1,    -1,   323,    -1,
15747       -1,   272,    -1,    -1,    -1,    -1,    -1,    -1,  3944,    -1,
15748       -1,    -1,  1904,  1905,    -1,   286,    -1,    -1,   289,    -1,
15749       -1,    -1,    -1,    -1,    -1,   350,  5709,   172,   353,    -1,
15750       -1,    -1,   357,    -1,   359,    -1,    -1,    -1,    -1,    -1,
15751       -1,   366,    -1,    -1,   369,    -1,   191,    -1,    -1,    -1,
15752     2997,   196,    -1,    -1,  3001,    -1,    -1,    -1,    -1,    -1,
15753       -1,    -1,    -1,   388,    -1,    -1,    -1,    -1,    -1,    -1,
15754      395,    -1,    -1,   218,   219,    -1,   401,    -1,    -1,   404,
15755       -1,  1775,    -1,   408,    -1,    -1,    -1,    -1,   233,    -1,
15756       -1,   416,  1786,   418,    -1,    -1,    -1,    -1,   423,    -1,
15757       -1,    -1,    -1,    -1,  4331,    -1,   377,    -1,  1802,    -1,
15758       -1,   436,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15759       -1,    -1,  5805,    -1,   449,    -1,    -1,   272,    -1,  4648,
15760       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15761     2032,   286,    -1,    -1,   289,    -1,    -1,    -1,    -1,    -1,
15762     4377,    -1,    -1,  3100,    -1,  4382,    -1,    -1,    -1,    -1,
15763       -1,  1855,    -1,    -1,    -1,    -1,    -1,    -1,  3115,    -1,
15764       -1,  4690,    -1,  3120,    -1,    -1,  1870,    -1,  4114,  1873,
15765     1874,    -1,    -1,  4702,    -1,    -1,   207,    -1,    -1,    -1,
15766       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   219,    -1,
15767       -1,    -1,    -1,    -1,    -1,    -1,   477,    -1,    -1,   230,
15768     1904,  1905,  4731,    -1,   485,   486,   487,   488,   489,   490,
15769      491,   492,   493,    -1,    -1,    -1,    -1,    -1,    -1,  4165,
15770       -1,    -1,   377,    -1,  4170,    -1,  4172,    -1,    -1,    -1,
15771       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15772       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2615,  4195,
15773       -1,    -1,  2619,  2620,    -1,    -1,    -1,    -1,    -1,    -1,
15774       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15775       -1,    -1,    -1,    -1,    -1,  4512,    -1,    -1,    -1,    -1,
15776     4809,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4234,    -1,
15777       -1,  4237,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4828,
15778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2676,
15779       -1,    -1,    -1,    -1,    -1,  2682,    -1,    -1,    -1,    -1,
15780       -1,    -1,   477,    -1,    -1,    -1,    -1,    -1,  2032,    -1,
15781      485,   486,   487,   488,   489,   490,   491,   492,   493,    -1,
15782       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15783       -1,    -1,    -1,    -1,    -1,    -1,  2723,    -1,    -1,    -1,
15784       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15785       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15786       -1,  4327,  4328,    -1,    -1,  4914,    -1,    -1,    -1,    -1,
15787       -1,  4337,    -1,    -1,    10,    -1,    -1,    13,  4635,    -1,
15788       -1,    17,    18,    19,    -1,    -1,    -1,    -1,  4354,    -1,
15789       -1,    -1,  3369,    -1,    -1,  3372,    -1,  3374,    34,    -1,
15790       -1,    -1,  3379,    -1,    -1,    -1,    -1,    -1,    44,    -1,
15791       -1,    -1,    -1,    -1,    -1,    51,  4673,    -1,    -1,    -1,
15792       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15793       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4695,    -1,
15794       -1,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3426,
15795       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3434,    -1,    -1,
15796       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4433,    -1,    -1,
15797       -1,    -1,    -1,    -1,    -1,  5024,    -1,  5026,    -1,    -1,
15798       -1,    -1,  3459,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15799       -1,    -1,    -1,    -1,    10,    -1,    -1,    13,    -1,    -1,
15800       -1,    17,    18,    19,    -1,  4762,    -1,    -1,  2615,    -1,
15801       -1,    -1,  2619,  2620,    -1,    -1,    -1,    -1,    34,    -1,
15802       -1,    -1,    -1,  5072,    -1,    -1,    -1,    -1,    44,    -1,
15803       -1,   167,    -1,    -1,    -1,    51,  2923,    -1,    -1,    -1,
15804       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15805       -1,  3528,    -1,  3530,    -1,   191,    -1,    -1,    -1,    -1,
15806      196,    77,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2676,
15807       -1,    -1,  5121,    -1,    -1,  2682,    -1,    -1,   629,    -1,
15808       -1,    -1,   218,   219,   635,    -1,    -1,    -1,    -1,    -1,
15809       -1,    -1,    -1,    -1,    -1,    -1,    -1,   233,    -1,    -1,
15810       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15811     2997,    -1,    -1,    -1,  3001,    -1,  2723,    -1,    -1,    -1,
15812       -1,    -1,    -1,    -1,    -1,    -1,  4883,    -1,    -1,    -1,
15813      146,    -1,    -1,    -1,    -1,    -1,   272,    -1,    -1,    -1,
15814       -1,    -1,    -1,    -1,  3621,    -1,    -1,    -1,    -1,    -1,
15815      286,    -1,    -1,   289,    -1,    -1,    -1,    -1,    -1,    -1,
15816       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15817       -1,    -1,    -1,    -1,    -1,   191,    -1,    -1,    -1,    -1,
15818      196,    -1,  4648,    -1,    -1,    -1,  3663,    -1,    -1,    -1,
15819       -1,    -1,    -1,  2615,    -1,    -1,    -1,  2619,  2620,    -1,
15820       -1,    -1,   218,   219,    -1,    -1,    -1,    -1,    -1,    -1,
15821       -1,    -1,    -1,  3100,  3691,    -1,    -1,   233,    -1,    -1,
15822       -1,    -1,    -1,    -1,  4690,    -1,    -1,    -1,  3115,    -1,
15823       -1,    -1,    -1,  3120,    -1,    -1,  4702,    -1,    -1,    -1,
15824       -1,   377,    -1,    -1,    -1,    -1,  5003,    -1,    -1,    -1,
15825       -1,    -1,    -1,    -1,  2676,    -1,   272,    -1,    -1,   810,
15826     2682,    -1,    -1,    -1,    -1,  4731,    -1,    -1,    -1,    -1,
15827      286,    -1,    -1,   289,    -1,    -1,    -1,    -1,   829,    -1,
15828       -1,    -1,  5331,  3760,    -1,    -1,    -1,    -1,    -1,    -1,
15829       -1,    -1,    -1,    -1,    -1,    -1,  5345,    -1,    -1,    -1,
15830       -1,  2723,    -1,    -1,    -1,  3782,    -1,    -1,    -1,    -1,
15831       -1,    -1,    -1,    -1,  5071,    -1,  2923,    -1,    -1,    -1,
15832       -1,    -1,    -1,    -1,    -1,    -1,  5375,  3804,    -1,    -1,
15833       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15834       -1,   477,    -1,  4809,    -1,    -1,    -1,   898,    -1,   485,
15835      486,   487,   488,   489,   490,   491,   492,   493,    -1,    -1,
15836       -1,   377,  4828,    -1,    -1,    -1,    -1,    -1,    10,    -1,
15837       -1,    13,    -1,    -1,    -1,    17,    18,    19,    -1,    -1,
15838       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15839     2997,  2615,    34,   944,  3001,  2619,  2620,    -1,    -1,    -1,
15840       -1,    -1,    44,    -1,    -1,    -1,    -1,    -1,  3885,    51,
15841       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15842       -1,    -1,  5471,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15843       -1,  3908,    -1,    -1,  5191,    77,    -1,    -1,    -1,    -1,
15844       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4914,    -1,
15845       -1,    -1,  2676,    -1,    -1,    -1,  3933,    -1,  2682,    -1,
15846       -1,   477,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   485,
15847      486,   487,   488,   489,   490,   491,   492,   493,    -1,    -1,
15848       -1,    -1,  3369,    -1,  5533,  3372,  5535,  3374,    -1,    -1,
15849       -1,    -1,  3379,  3100,    -1,    -1,    -1,    -1,    -1,  2723,
15850       -1,  2923,    -1,    -1,    -1,    -1,  1057,    -1,  3115,    -1,
15851       -1,    -1,    -1,  3120,    -1,    -1,    -1,    -1,    -1,    -1,
15852       -1,    -1,    -1,    -1,    -1,   167,    -1,    -1,    -1,    -1,
15853       -1,    -1,    -1,    -1,  1085,  1086,  1087,    -1,    -1,  3426,
15854       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3434,    -1,   191,
15855       -1,    -1,    -1,    -1,   196,    -1,    -1,  5314,  5024,    -1,
15856     5026,    -1,  5319,  5320,    -1,    -1,    -1,    -1,    -1,    -1,
15857       -1,    -1,  3459,    -1,    -1,  2997,   218,   219,    -1,  3001,
15858       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15859       -1,   233,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15860       -1,    -1,    -1,    -1,  4081,  5654,  5072,    -1,    -1,    -1,
15861       -1,    -1,    -1,    -1,    22,    -1,  5082,    -1,    -1,    27,
15862       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15863      272,  5680,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15864       -1,  3528,  1193,  3530,   286,    -1,    -1,   289,    -1,    -1,
15865       -1,    -1,    -1,    -1,    -1,  5121,    -1,    65,  1209,    -1,
15866     5126,    -1,    -1,    -1,    -1,    -1,    -1,  1218,    -1,    -1,
15867       78,    79,    -1,  5430,    -1,    -1,    -1,    -1,  3100,    -1,
15868       -1,    -1,    90,    -1,    -1,    -1,    94,    -1,    -1,    -1,
15869       -1,    -1,    -1,  3115,  4171,    -1,    -1,    -1,  3120,  2923,
15870       -1,    -1,    -1,    -1,   112,    -1,    -1,    -1,    -1,    -1,
15871       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5474,    -1,  4196,
15872       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   136,    -1,
15873       -1,    -1,    -1,    -1,  3621,   377,    -1,    -1,    -1,   147,
15874       -1,    -1,    -1,    -1,  5793,    -1,    -1,    -1,   156,    -1,
15875       22,    -1,    -1,    -1,    -1,    27,    -1,    -1,    -1,    -1,
15876       -1,   169,  3369,    -1,    -1,  3372,   174,  3374,    -1,    -1,
15877       -1,    -1,  3379,  2997,    -1,    -1,  3663,  3001,    -1,    -1,
15878       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15879       -1,    -1,   200,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15880       -1,    -1,    -1,    -1,  3691,  1356,    78,    79,    -1,    -1,
15881       -1,    -1,    -1,    -1,    -1,    -1,    -1,   225,    -1,  3426,
15882       -1,    -1,    94,    -1,    -1,    -1,    -1,  3434,    -1,    -1,
15883       -1,    -1,    -1,    -1,    -1,   477,    -1,    -1,   246,    -1,
15884      112,    -1,    -1,   485,   486,   487,   488,   489,   490,   491,
15885      492,   493,  3459,    -1,  4331,    -1,    -1,    -1,    -1,    -1,
15886       -1,    -1,    -1,    -1,   136,  5331,    -1,    -1,    -1,    -1,
15887       -1,    -1,    -1,  3760,    -1,   147,  3100,  5926,   286,  5345,
15888       -1,    -1,    -1,    -1,   156,  1436,    -1,    -1,    -1,    -1,
15889       -1,  3115,    -1,    -1,    -1,  3782,  3120,   169,    -1,    -1,
15890     4377,   309,   174,    -1,    -1,  4382,    -1,    -1,    -1,  5375,
15891       -1,   319,   320,    -1,  5963,   323,    -1,  3804,    -1,    -1,
15892       -1,  3528,    -1,  3530,  5973,    -1,    -1,    -1,   200,    -1,
15893       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15894       -1,    -1,   350,   807,   808,   353,    -1,  3369,    -1,   357,
15895     3372,   359,  3374,   225,    -1,    -1,    -1,  3379,   366,    -1,
15896       -1,   369,    -1,    -1,    -1,    -1,  1517,    -1,    -1,    -1,
15897       -1,    -1,    -1,    -1,   246,  1526,    -1,    -1,    -1,    -1,
15898      388,    -1,    -1,    -1,    -1,    -1,    -1,   395,    -1,    -1,
15899       -1,    -1,    -1,   401,    -1,    -1,   404,    -1,  3885,    -1,
15900      408,    -1,    -1,    -1,  3426,  5471,    -1,  1558,   416,    -1,
15901      418,    -1,  3434,    -1,  3621,   423,    -1,    -1,    -1,    -1,
15902      884,  3908,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15903     1581,    -1,    -1,  1584,    -1,  4512,    -1,  3459,    -1,    -1,
15904       -1,   449,    -1,    -1,    -1,    -1,  3933,   319,   320,    -1,
15905       -1,   323,    10,    -1,    -1,    13,  3663,    -1,    -1,    17,
15906       18,    19,    -1,    -1,    -1,    -1,    -1,  5533,    -1,  5535,
15907       -1,    -1,    -1,    -1,    -1,    -1,    34,    -1,   350,    -1,
15908       -1,   353,    -1,    -1,  3691,    -1,    44,   359,  1639,    -1,
15909       -1,    -1,    -1,    51,   366,    -1,    -1,   369,    -1,    -1,
15910       -1,    -1,  1653,    -1,    -1,    -1,  3528,    -1,  3530,    -1,
15911       -1,    -1,    -1,    -1,    -1,    -1,   388,    -1,    -1,    77,
15912       -1,    -1,    -1,   395,    -1,    -1,    -1,    -1,    -1,   401,
15913       -1,    -1,   404,    -1,    -1,    -1,   408,    -1,    -1,    -1,
15914     1004,  1005,    -1,    -1,    -1,  3369,    -1,    -1,  3372,    -1,
15915     3374,   423,    -1,  3760,    -1,  3379,    -1,    -1,  4635,    -1,
15916       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15917       -1,    -1,    -1,    -1,    -1,  3782,    -1,   449,    -1,    -1,
15918       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5654,    -1,
15919       -1,    -1,    -1,    -1,  4081,    -1,  4673,  3804,    -1,  3621,
15920       -1,  5667,  3426,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15921     3434,  1762,    -1,    -1,  5680,    -1,    -1,    -1,  4695,    -1,
15922       -1,    -1,  1773,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15923       -1,    -1,    -1,   191,    -1,  3459,    -1,    -1,   196,    -1,
15924       -1,  3663,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15925       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15926      218,   219,    -1,    -1,  1815,    -1,    -1,    -1,    -1,  3691,
15927       -1,    -1,    -1,  5739,  5740,   233,    -1,    -1,  3885,    -1,
15928       -1,    -1,    -1,    -1,  4171,  4762,    -1,    -1,  1310,  1840,
15929       -1,    -1,    -1,    -1,    -1,    -1,  1847,    -1,    -1,    -1,
15930       -1,  3908,    -1,    -1,  3528,    -1,  3530,    -1,    -1,  4196,
15931       -1,    -1,    -1,    -1,   272,    -1,    -1,    -1,    -1,    -1,
15932       -1,    -1,    -1,    -1,    -1,    -1,  3933,  5793,   286,    -1,
15933       -1,   289,    -1,    -1,    -1,    -1,    -1,    -1,  3760,    -1,
15934       -1,    -1,  1364,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15935       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15936     3782,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  1919,    -1,
15937       -1,  1235,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15938       -1,    -1,  3804,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15939       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3621,    -1,    -1,
15940     1951,  1952,  1266,    -1,    -1,    -1,  4883,    -1,    -1,    -1,
15941       -1,    -1,    -1,    -1,    -1,    -1,    -1,  1968,    -1,   377,
15942       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15943     1294,  1295,  1296,    -1,  1298,    -1,    -1,    24,    -1,  3663,
15944       -1,    -1,    -1,    30,  4331,    -1,    -1,    -1,    -1,    -1,
15945       37,    -1,    -1,    -1,  1318,    -1,    -1,    -1,    -1,    -1,
15946     5926,    -1,    -1,  3885,    -1,    -1,    -1,  3691,    -1,    -1,
15947       -1,    -1,    59,    -1,  4081,    -1,    -1,    -1,    -1,    -1,
15948       -1,    -1,    -1,    -1,    -1,    -1,  3908,    -1,    75,    -1,
15949     4377,    -1,    -1,    -1,    -1,  4382,    -1,  5963,    -1,    27,
15950       -1,    -1,  5968,  5969,    -1,    -1,    -1,  5973,    -1,    -1,
15951       -1,  3933,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   477,
15952       -1,    -1,    -1,   110,    -1,    -1,  5003,   485,   486,   487,
15953      488,   489,   490,   491,   492,   493,  3760,    -1,    -1,    -1,
15954       -1,    -1,    -1,    -1,   131,    -1,    -1,    -1,    -1,    -1,
15955       78,   138,    -1,    -1,   141,    -1,  1420,    -1,  3782,    -1,
15956     1424,  1425,    -1,    -1,  4171,    -1,    94,    -1,    -1,    -1,
15957       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15958     3804,   168,    -1,    -1,   112,    -1,    -1,    -1,    -1,  4196,
15959      118,    -1,    -1,    -1,  5071,    -1,    -1,    -1,    -1,    -1,
15960       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   136,    -1,
15961       -1,    -1,   199,    -1,    -1,   202,    -1,    -1,    -1,   147,
15962       -1,    -1,    -1,    -1,    -1,  4512,    -1,    -1,   156,    -1,
15963       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15964       -1,   169,    -1,    -1,    -1,    -1,   174,    -1,  1670,    -1,
15965       -1,    -1,  1674,   181,    -1,    -1,    -1,    -1,    -1,  4081,
15966      247,  3885,    -1,   250,    -1,    -1,    -1,    -1,    -1,    -1,
15967       -1,    -1,   200,    -1,    -1,    -1,    -1,    -1,   265,    -1,
15968       -1,    -1,   269,    -1,  3908,    -1,    -1,    -1,    -1,    -1,
15969       -1,    -1,   279,    -1,    -1,    -1,    -1,   225,    -1,    -1,
15970       -1,   288,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3933,
15971       -1,    -1,   299,   300,  5191,    -1,    -1,    -1,   246,    -1,
15972       -1,    -1,    -1,    -1,  4331,    -1,    -1,    -1,    -1,    -1,
15973       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15974       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4635,  4171,
15975       -1,   338,    -1,    -1,   341,   342,   343,    -1,   286,    -1,
15976       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15977     4377,    -1,    -1,    -1,  4196,  4382,    -1,    -1,    -1,   366,
15978       -1,   309,    -1,    -1,    -1,   372,  4673,    -1,    -1,    -1,
15979       -1,   319,   320,    -1,    -1,   323,    -1,    -1,    -1,   386,
15980     1664,  1665,  1666,    -1,    -1,    -1,    -1,    -1,  4695,    -1,
15981       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15982       -1,    -1,   350,    -1,    -1,   353,    -1,    -1,    -1,   357,
15983       -1,   359,    -1,    -1,    -1,    -1,    -1,  5314,   366,    -1,
15984       -1,   369,  5319,  5320,    -1,    -1,    -1,    -1,    -1,    -1,
15985       -1,    -1,    -1,   440,    -1,    -1,    -1,  4081,    -1,    -1,
15986      388,    -1,    -1,    -1,    -1,    -1,    -1,   395,    -1,    -1,
15987       -1,    -1,   400,   401,    -1,  4762,   404,    -1,    -1,    -1,
15988      408,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15989      418,    -1,    -1,    -1,    -1,   423,    -1,    -1,    -1,    -1,
15990       -1,    -1,    -1,    -1,    -1,  4512,    -1,    -1,   436,  4331,
15991       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15992       -1,   449,    -1,    -1,    -1,  2476,    -1,    -1,    -1,    -1,
15993       -1,    -1,    -1,    -1,    -1,  2486,    -1,    -1,    -1,    -1,
15994       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4171,    -1,    -1,
15995       -1,    -1,    -1,  5430,    -1,  4377,    -1,    -1,    -1,    -1,
15996     4382,    -1,    -1,    -1,  2515,  1987,    -1,    -1,    -1,    -1,
15997       -1,    -1,  4196,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
15998     2002,    -1,    -1,    -1,  2006,    -1,    -1,    -1,    -1,    -1,
15999       -1,    -1,    -1,    -1,    -1,    -1,  4883,  5474,  2020,  2021,
16000     2022,    -1,  2024,    -1,    -1,    -1,    20,    -1,    -1,    -1,
16001       -1,  2562,  2563,    -1,    -1,    -1,    30,    -1,    32,    33,
16002       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4635,    -1,
16003       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16004       -1,    -1,    -1,    -1,    -1,  2596,    60,    -1,    -1,    -1,
16005       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    72,    -1,
16006       74,    75,    -1,    -1,    -1,    -1,  4673,    81,    -1,    83,
16007       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16008       -1,    95,    -1,    97,    -1,    -1,    -1,    -1,  4695,    -1,
16009     4512,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16010      114,    -1,    -1,   117,    -1,    -1,    -1,  4331,    -1,    -1,
16011       -1,    -1,    -1,    -1,    -1,    -1,  5003,    -1,   132,    -1,
16012      134,    -1,    -1,    -1,   138,  1989,    -1,    -1,    -1,    -1,
16013      144,    -1,    -1,    -1,    -1,    -1,    -1,  2001,   152,  2003,
16014      154,  2005,    -1,    -1,  2008,  2009,  2010,   161,    -1,    -1,
16015       -1,  2015,    -1,  4377,  2018,  4762,    -1,    -1,  4382,    -1,
16016       -1,    -1,    -1,    -1,   178,    -1,    -1,    -1,    -1,  2033,
16017     2034,  2035,    -1,    -1,    -1,    -1,  2727,    -1,    -1,    -1,
16018       -1,   195,    -1,    -1,  5071,    -1,  2050,    -1,    -1,    -1,
16019       -1,  2742,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16020       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16021       -1,    -1,  2763,  4635,    -1,    -1,    -1,    -1,    -1,    -1,
16022       -1,   235,   236,    -1,    -1,    -1,    -1,   241,    -1,    -1,
16023       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   253,
16024       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16025       -1,  4673,    -1,    -1,    -1,    -1,    -1,   271,    -1,    -1,
16026       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16027       -1,    -1,    -1,  4695,    -1,    -1,  4883,    -1,    -1,    -1,
16028       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4512,    -1,
16029     2841,  2842,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16030      314,    -1,    -1,    -1,  5191,    -1,    -1,    -1,    -1,    -1,
16031       -1,    -1,    -1,    -1,   328,    -1,    -1,    -1,    -1,    -1,
16032      334,   335,    -1,   337,    -1,    -1,    -1,    -1,   342,  2193,
16033       -1,   345,    -1,    -1,   348,    -1,    -1,   351,    -1,    -1,
16034     4762,    -1,    -1,    -1,   358,    -1,    -1,    -1,    -1,    -1,
16035      364,   365,    -1,    -1,    -1,    -1,    -1,    -1,   372,    -1,
16036       -1,    -1,   376,    -1,    -1,    -1,    -1,    -1,    -1,  2233,
16037       -1,    -1,   386,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16038       -1,    -1,    -1,    -1,    -1,    -1,    -1,   401,    -1,    -1,
16039       -1,  2942,    -1,    -1,    -1,    -1,  5003,    -1,    -1,    -1,
16040       -1,    -1,    -1,    -1,    -1,    -1,    -1,   421,    -1,    -1,
16041       -1,  4635,    -1,    -1,    -1,    -1,    -1,    -1,   432,    -1,
16042     2284,    -1,    -1,    -1,   438,    -1,    -1,  5314,    -1,   443,
16043       -1,    -1,  5319,  5320,    -1,    -1,    -1,    -1,    -1,    -1,
16044       -1,    -1,   456,    -1,    -1,    -1,    -1,    -1,    -1,  4673,
16045       -1,    -1,    -1,  2475,    -1,    -1,    -1,    -1,    -1,    -1,
16046       -1,  4883,    -1,    -1,  5071,   479,    -1,    -1,    -1,    -1,
16047       -1,  4695,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16048       -1,    -1,    -1,   497,    -1,    -1,   500,    -1,    -1,    -1,
16049       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16050       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16051       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16052       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16053       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4762,    -1,
16054       -1,    -1,    -1,  5430,    -1,    -1,    -1,  2569,    -1,    -1,
16055       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2581,
16056       -1,    -1,    -1,    -1,  2586,    -1,    -1,    -1,    -1,    -1,
16057       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16058       -1,  5003,    -1,    -1,  5191,    -1,    -1,  5474,    -1,    -1,
16059       -1,    -1,    -1,    -1,  2458,  2459,  2460,  2461,  2462,  2463,
16060     2464,  2465,  2466,    -1,  2468,    -1,    -1,    -1,    -1,    -1,
16061       -1,    -1,    -1,  2477,    -1,  2479,    -1,    -1,    -1,    -1,
16062       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16063       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16064       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5071,
16065       -1,    -1,    -1,  2517,    -1,    -1,    -1,  2521,    -1,  4883,
16066     2524,    -1,  2526,    -1,    -1,  2529,    -1,    -1,    -1,    -1,
16067       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16068       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16069       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16070       -1,  3252,    -1,    -1,    -1,    -1,    -1,  5314,    -1,    -1,
16071       -1,    -1,  5319,  5320,    -1,    -1,    -1,    -1,  2582,  2583,
16072       -1,    -1,  3273,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16073       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16074       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16075       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16076       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5191,
16077       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5003,
16078       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16079       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  2663,
16080       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16081       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16082       -1,    -1,    -1,  5430,    -1,    -1,    -1,    -1,    -1,    -1,
16083       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16084       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5071,    -1,    -1,
16085       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16086       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5474,    -1,    -1,
16087       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16088       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16089       -1,    -1,  5314,    -1,    -1,    -1,    -1,  5319,  5320,    -1,
16090       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16091       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16092       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16093       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16094       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16095       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16096       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5191,    -1,    -1,
16097       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16098       -1,    -1,    -1,    -1,    -1,  3536,    -1,    -1,    -1,    -1,
16099       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16100       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5430,    -1,
16101       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16102       -1,    -1,    -1,    -1,    -1,  2889,  2890,  2891,    -1,    -1,
16103       -1,  2895,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16104       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16105       -1,    -1,  5474,    -1,    -1,    -1,    -1,    -1,  2922,    -1,
16106       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16107       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16108       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16109     5314,    -1,    -1,    -1,    -1,  5319,  5320,    -1,    -1,    -1,
16110       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3131,
16111       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16112       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3151,
16113     3152,    -1,  3154,    -1,    -1,    -1,    -1,  3159,  3160,    -1,
16114     3162,    -1,  3164,    -1,    -1,    -1,  3168,    -1,    -1,  3171,
16115       -1,  3702,  3703,  3704,  3176,    -1,    -1,    -1,    -1,    -1,
16116     3182,    -1,    -1,    -1,    -1,  3187,    -1,    -1,  3719,    -1,
16117       -1,    -1,  3194,  3195,  3196,  3197,    -1,    -1,    -1,  3201,
16118     3202,    -1,  3204,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16119       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3221,
16120       -1,  3223,  3753,  3754,    -1,    -1,  5430,  3758,  3230,  3231,
16121     3232,  3233,  3234,  3235,  3236,  3237,  3238,  3239,    -1,    -1,
16122       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16123       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16124       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16125     5474,    -1,  3274,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16126       -1,    -1,    -1,    -1,  3128,    -1,    -1,    -1,    -1,  3133,
16127       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16128       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16129       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3161,    -1,    -1,
16130       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3172,  3860,
16131     3174,  3175,  3863,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16132       -1,  3185,    -1,    -1,  3188,    -1,  3190,    -1,    -1,    -1,
16133       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16134       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16135       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16136     3224,    -1,  3226,    -1,  3228,    -1,    -1,    -1,    -1,    -1,
16137       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16138       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16139       -1,    -1,  3414,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16140       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16141       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16142       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16143       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16144     3991,  3992,  3993,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16145       -1,    -1,  3316,    -1,    -1,    -1,    -1,  3321,    -1,    -1,
16146       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16147       -1,    -1,  3336,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16148       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16149       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16150       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16151       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16152       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16153       -1,    -1,    -1,    -1,    -1,  3399,    -1,    -1,    -1,    -1,
16154       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16155       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16156       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16157       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16158       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16159       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16160       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16161       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16162       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16163     3652,  3653,    -1,    -1,    -1,  3657,    -1,    -1,    -1,    -1,
16164       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16165       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16166       -1,    -1,    -1,    -1,  3686,    -1,    -1,    -1,    -1,    -1,
16167       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16168       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16169       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16170       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16171       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16172       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16173       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16174       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16175       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4308,    -1,    -1,
16176       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16177       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16178       -1,    -1,    -1,    -1,  3648,    -1,    -1,    -1,  4339,    -1,
16179     3654,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16180       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16181       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16182     4371,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16183       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16184       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16185       -1,    -1,    -1,    -1,    -1,  4406,    -1,    -1,    -1,  3881,
16186       -1,    -1,    -1,    -1,    -1,  3887,    -1,    -1,    -1,    -1,
16187     3734,    -1,  4423,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16188       -1,    -1,    -1,  3905,  3906,    -1,    -1,  3909,  3910,  3911,
16189     3912,    -1,    -1,  3915,  3916,  3917,  3918,  3919,  3920,  3921,
16190     3922,  3923,  3924,  3925,    -1,    -1,    -1,    -1,    -1,    -1,
16191       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16192       -1,    -1,    -1,    -1,    -1,  3947,    -1,    -1,  3950,    -1,
16193     3952,    -1,    -1,  3955,  3956,    -1,    -1,    -1,    -1,    -1,
16194       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3971,
16195     3972,  3973,  3974,    -1,  3976,    -1,    -1,    -1,    -1,    -1,
16196       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16197       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16198       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4540,
16199     4541,  4542,  4543,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16200       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16201       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  3882,  4041,
16202       -1,    -1,    -1,    -1,    -1,    -1,    -1,  3891,    -1,    -1,
16203       -1,    -1,    -1,    -1,    -1,  3899,    -1,  3901,    -1,    -1,
16204       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16205       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16206       -1,    -1,    -1,    -1,  3928,  3929,  3930,    -1,  4090,    -1,
16207       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16208       -1,    -1,  3946,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16209     3954,    -1,    -1,  3957,    -1,  3959,    -1,    -1,    -1,    -1,
16210       -1,    -1,    -1,    -1,    -1,  3969,    -1,    -1,    -1,    -1,
16211       -1,    -1,    -1,  3977,  3978,    -1,    -1,    -1,    -1,    -1,
16212       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16213       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16214       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16215       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16216       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16217       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16218       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16219       -1,    -1,    -1,    -1,    -1,  4059,    -1,    -1,    -1,    -1,
16220       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16221       -1,  4075,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16222       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16223       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16224       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16225       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16226       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16227       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4301,
16228       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16229       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16230       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16231       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16232       -1,  4343,    -1,    -1,    -1,  4876,    -1,    -1,    -1,    -1,
16233       -1,    -1,    -1,    -1,    -1,    -1,  4887,    -1,    -1,    -1,
16234       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16235       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16236       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16237       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16238       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16239       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16240       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16241       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16242       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16243       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4460,    -1,
16244       -1,    -1,  4464,    -1,  4466,  4467,    -1,    -1,    -1,    -1,
16245     4472,  4473,  4474,  4475,    -1,    -1,    -1,  4479,  4480,  4481,
16246     4482,  4483,  4484,  4485,  4486,  4487,  4488,  4489,  4490,  4491,
16247       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16248       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16249       -1,    -1,    -1,  4515,    -1,    -1,  4518,    -1,  4520,    -1,
16250       -1,  4523,    -1,    -1,  4526,  4527,    -1,    -1,  4530,  4531,
16251       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4383,
16252     4384,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16253     4394,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16254       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16255       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16256       -1,    -1,    -1,    -1,    -1,    -1,    -1,  4589,    -1,    -1,
16257       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16258     4602,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16259       -1,    -1,    -1,  5144,    -1,  4459,    -1,    -1,  5149,    -1,
16260       -1,    -1,    -1,    -1,    -1,    -1,  4470,    -1,    -1,    -1,
16261       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5168,    -1,    -1,
16262       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16263       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16264       -1,    -1,    -1,    -1,    -1,  4509,  4510,    -1,    -1,    -1,
16265       -1,    -1,  4516,  4517,    -1,    -1,    -1,  4521,    -1,    -1,
16266       -1,  4525,    -1,    -1,  4528,  4529,    -1,    -1,    -1,  4533,
16267       -1,    -1,    -1,    -1,    -1,  4539,    -1,    -1,    -1,    -1,
16268       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16269       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16270       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16271       -1,    -1,    -1,    -1,    -1,  4579,    -1,    -1,    -1,    -1,
16272       -1,    -1,    -1,    -1,    -1,    -1,  4590,    -1,    -1,    -1,
16273       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16274       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5298,    -1,    -1,
16275       -1,    -1,    -1,  4617,    -1,    -1,    -1,    -1,    -1,    -1,
16276       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4791,
16277       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16278       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16279       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16280       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16281       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16282       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16283       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16284       -1,    -1,    -1,    -1,    -1,    -1,  5397,    -1,    -1,    -1,
16285       -1,    -1,    -1,    -1,  4718,    -1,  4878,  4879,    -1,    -1,
16286       -1,    -1,    -1,    -1,  4886,    -1,    -1,    -1,    -1,    -1,
16287       -1,    -1,    -1,    -1,  5425,    -1,    -1,    -1,    -1,    -1,
16288       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16289       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16290       -1,    -1,    -1,    -1,    -1,    -1,  4928,    -1,    -1,    -1,
16291       -1,    -1,  4934,  4935,    -1,    -1,    -1,    -1,    -1,    -1,
16292       -1,    -1,    -1,    -1,  4788,    -1,    -1,    -1,    -1,    -1,
16293       -1,  4953,    -1,  4955,    -1,    -1,    -1,  4959,  4960,  4961,
16294     4962,    -1,    -1,  4965,  4966,    -1,    -1,    -1,  4970,    -1,
16295       -1,    -1,  4974,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16296       -1,    -1,    -1,    -1,    -1,  4987,    -1,    -1,    -1,    -1,
16297       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16298       -1,    -1,    -1,  5005,    -1,    -1,    -1,    -1,    -1,    -1,
16299       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16300       -1,    -1,    -1,    -1,    -1,    -1,  5028,    -1,    -1,    -1,
16301       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16302       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16303       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16304       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16305       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16306       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4932,    -1,
16307       -1,  5093,    -1,    -1,  4938,  4939,  4940,    -1,    -1,    -1,
16308       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16309       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4963,
16310     4964,    -1,    -1,  4967,    -1,    -1,    -1,  5129,    -1,    -1,
16311       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16312       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  4993,
16313       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16314     5004,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16315       -1,    -1,    -1,    -1,    -1,  5019,    -1,    -1,    -1,    -1,
16316       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16317       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16318       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16319       -1,    -1,    -1,    -1,    -1,  5217,    -1,  5219,  5220,  5221,
16320     5222,  5223,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16321       -1,    -1,  5234,  5235,  5236,    -1,    -1,    -1,    -1,    -1,
16322       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5249,    -1,    -1,
16323     5252,    -1,    -1,    -1,  5256,    -1,    -1,    -1,    -1,    -1,
16324       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16325       -1,    -1,  5274,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16326       -1,    -1,    -1,    -1,  5286,    -1,    -1,    -1,    -1,    -1,
16327       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16328       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16329       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16330       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16331       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16332       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16333       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16334       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16335       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16336     5224,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16337       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16338       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16339       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16340       -1,    -1,    -1,  5267,    -1,    -1,    -1,    -1,    -1,    -1,
16341       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16342       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16343       -1,    -1,  5454,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16344       -1,    -1,    -1,    -1,    -1,    -1,  5468,    -1,  5470,    -1,
16345       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16346     5324,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16347       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16348       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16349       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5519,    -1,    -1,
16350       -1,  5365,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16351       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16352       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16353       -1,    -1,    -1,  5555,    -1,    -1,    -1,    -1,    -1,    -1,
16354       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16355       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16356       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16357       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16358       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5453,
16359       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5621,
16360       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16361       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5483,
16362       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16363       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16364       -1,    -1,    -1,  5665,  5508,    -1,    -1,    -1,    -1,    -1,
16365       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16366       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16367       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16368       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16369       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16370       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16371       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16372       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,  5750,    -1,
16373       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16374       -1,  5763,  5764,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16375       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16376       -1,    -1,  5626,  5627,  5628,    -1,    -1,    -1,    -1,    -1,
16377       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16378     5644,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16379       -1,  5813,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16380       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16381       -1,    -1,    -1,    -1,    -1,  5837,    -1,    -1,    -1,    -1,
16382       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16383       -1,  5853,  5854,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16384       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16385       -1,    -1,    -1,    -1,    -1,    -1,    -1,  5721,    -1,    -1,
16386       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16387       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16388       -1,  5745,    -1,  5747,    -1,    -1,  5908,  5909,    -1,    -1,
16389       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16390       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16391       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16392       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16393       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16394       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16395       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16396       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16397       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16398       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16399       -1,    -1,    -1,    -1,  5858,    -1,    -1,    -1,  5862,    -1,
16400       -1,    -1,    -1,     3,    -1,     5,     6,    -1,     8,     9,
16401       10,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16402       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
16403       30,    31,    -1,    -1,  5898,    -1,    36,    -1,    -1,    39,
16404       40,    41,    -1,    43,    44,    45,    46,    47,    48,    49,
16405       50,    51,    52,    53,    54,    55,    -1,    57,    58,    59,
16406       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
16407       70,    -1,    72,    73,    74,    75,    76,    -1,    78,    -1,
16408       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
16409     5954,    91,    92,    93,    94,    95,    96,    -1,    98,    99,
16410      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
16411      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
16412       -1,   121,   122,   123,   124,   125,   126,   127,    -1,   129,
16413      130,   131,   132,   133,    -1,   135,   136,   137,   138,   139,
16414       -1,   141,   142,   143,    -1,   145,   146,   147,    -1,   149,
16415      150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
16416      160,    -1,   162,   163,   164,   165,   166,    -1,   168,    -1,
16417      170,   171,    -1,   173,   174,   175,   176,   177,    -1,   179,
16418      180,    -1,   182,   183,   184,    -1,   186,   187,   188,   189,
16419      190,   191,   192,   193,   194,   195,    -1,   197,   198,   199,
16420      200,   201,   202,   203,    -1,   205,   206,   207,   208,   209,
16421      210,   211,   212,   213,    -1,   215,    -1,   217,   218,   219,
16422      220,   221,   222,   223,   224,   225,   226,    -1,    -1,   229,
16423      230,   231,   232,   233,    -1,   235,   236,   237,   238,   239,
16424      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
16425      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
16426      260,   261,   262,   263,   264,   265,   266,   267,   268,   269,
16427      270,   271,   272,   273,   274,   275,   276,   277,   278,   279,
16428      280,    -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,
16429       -1,   291,   292,   293,   294,   295,   296,   297,   298,   299,
16430      300,   301,   302,   303,   304,   305,   306,    -1,   308,   309,
16431      310,   311,   312,   313,   314,   315,    -1,   317,   318,   319,
16432      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
16433      330,   331,    -1,   333,   334,   335,   336,   337,   338,   339,
16434      340,   341,   342,   343,   344,   345,    -1,   347,   348,   349,
16435      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
16436      360,   361,   362,   363,   364,    -1,   366,   367,   368,   369,
16437      370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
16438      380,   381,    -1,   383,   384,   385,   386,   387,   388,   389,
16439      390,   391,   392,   393,   394,   395,   396,   397,    -1,   399,
16440      400,    -1,   402,   403,   404,   405,   406,   407,   408,    -1,
16441      410,   411,   412,    -1,    -1,   415,   416,   417,   418,   419,
16442      420,   421,   422,   423,   424,   425,   426,   427,   428,    -1,
16443      430,   431,   432,   433,   434,   435,   436,    -1,   438,   439,
16444      440,   441,   442,   443,   444,   445,   446,   447,   448,   449,
16445      450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,
16446      460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
16447      470,   471,   472,   473,   474,   475,   476,   477,    -1,    -1,
16448       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   488,   489,
16449      490,    -1,    -1,    -1,    -1,    -1,    -1,   497,   498,     3,
16450       -1,     5,     6,    -1,     8,     9,    10,    11,    12,    -1,
16451       -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,
16452       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
16453       -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,    43,
16454       44,    45,    46,    47,    48,    49,    50,    51,    52,    53,
16455       54,    55,    -1,    57,    58,    59,    60,    61,    62,    63,
16456       64,    65,    66,    67,    68,    69,    70,    -1,    72,    73,
16457       74,    75,    76,    -1,    78,    -1,    80,    81,    82,    83,
16458       84,    85,    86,    87,    88,    89,    -1,    91,    92,    93,
16459       94,    95,    96,    -1,    98,    99,   100,   101,   102,   103,
16460      104,   105,   106,   107,   108,   109,   110,   111,   112,   113,
16461      114,   115,   116,   117,   118,   119,    -1,   121,   122,   123,
16462      124,   125,   126,   127,    -1,   129,   130,   131,   132,    -1,
16463       -1,   135,   136,   137,   138,   139,    -1,   141,   142,   143,
16464       -1,   145,   146,   147,    -1,   149,   150,   151,   152,   153,
16465      154,   155,   156,   157,   158,   159,   160,    -1,   162,   163,
16466      164,   165,   166,    -1,   168,    -1,   170,   171,    -1,   173,
16467      174,   175,   176,   177,    -1,   179,   180,    -1,   182,   183,
16468      184,    -1,   186,   187,   188,   189,   190,   191,   192,   193,
16469      194,   195,    -1,   197,   198,   199,   200,   201,   202,   203,
16470       -1,   205,   206,   207,   208,   209,   210,   211,   212,   213,
16471       -1,   215,    -1,   217,   218,   219,   220,   221,   222,   223,
16472      224,   225,   226,    -1,    -1,   229,   230,   231,   232,   233,
16473       -1,   235,   236,   237,   238,   239,   240,   241,   242,   243,
16474      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
16475      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
16476      264,   265,   266,   267,   268,   269,   270,   271,   272,   273,
16477      274,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
16478       -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,   293,
16479      294,   295,   296,   297,   298,   299,   300,   301,   302,   303,
16480      304,   305,   306,    -1,   308,   309,   310,   311,   312,   313,
16481      314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
16482      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
16483      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
16484      344,   345,    -1,   347,   348,   349,   350,   351,   352,   353,
16485      354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
16486      364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
16487      374,   375,   376,   377,   378,   379,   380,   381,    -1,   383,
16488      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
16489      394,   395,   396,   397,    -1,   399,   400,   401,   402,   403,
16490      404,   405,   406,   407,   408,    -1,   410,   411,   412,    -1,
16491       -1,   415,   416,   417,   418,   419,   420,   421,   422,   423,
16492      424,   425,   426,   427,   428,    -1,   430,   431,   432,   433,
16493      434,   435,   436,    -1,   438,   439,   440,   441,   442,   443,
16494      444,    -1,   446,   447,   448,   449,   450,   451,    -1,    -1,
16495      454,    -1,   456,   457,   458,   459,   460,   461,   462,   463,
16496      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
16497      474,   475,   476,   477,    -1,   479,    -1,    -1,    -1,    -1,
16498       -1,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,    -1,
16499       -1,    -1,    -1,   497,   498,     3,    -1,     5,     6,    -1,
16500        8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,
16501       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
16502       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
16503       -1,    39,    40,    41,    -1,    43,    44,    45,    46,    47,
16504       48,    49,    50,    51,    52,    53,    54,    55,    -1,    57,
16505       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
16506       68,    69,    70,    -1,    72,    73,    74,    75,    76,    -1,
16507       78,    -1,    80,    81,    82,    83,    84,    85,    86,    87,
16508       88,    89,    -1,    91,    92,    93,    94,    95,    96,    -1,
16509       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
16510      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
16511      118,   119,    -1,   121,   122,   123,   124,   125,   126,   127,
16512       -1,   129,   130,   131,   132,    -1,    -1,   135,   136,   137,
16513      138,   139,    -1,   141,   142,   143,    -1,   145,   146,   147,
16514       -1,   149,   150,   151,   152,   153,   154,   155,   156,   157,
16515      158,   159,   160,    -1,   162,   163,   164,   165,   166,    -1,
16516      168,    -1,   170,   171,    -1,   173,   174,   175,   176,   177,
16517       -1,   179,   180,    -1,   182,   183,   184,    -1,   186,   187,
16518      188,   189,   190,   191,   192,   193,   194,   195,    -1,   197,
16519      198,   199,   200,   201,   202,   203,    -1,   205,   206,   207,
16520      208,   209,   210,   211,   212,   213,    -1,   215,    -1,   217,
16521      218,   219,   220,   221,   222,   223,   224,   225,   226,    -1,
16522       -1,   229,   230,   231,   232,   233,    -1,   235,   236,   237,
16523      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
16524      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
16525      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
16526      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
16527      278,   279,   280,    -1,   282,   283,    -1,    -1,   286,   287,
16528      288,    -1,    -1,   291,   292,   293,   294,   295,   296,   297,
16529      298,   299,   300,   301,   302,   303,   304,   305,   306,    -1,
16530      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
16531      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
16532      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
16533      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
16534      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
16535      358,   359,   360,   361,   362,   363,   364,    -1,   366,   367,
16536      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
16537      378,   379,   380,   381,    -1,   383,   384,   385,   386,   387,
16538      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
16539       -1,   399,   400,    -1,   402,   403,   404,   405,   406,   407,
16540      408,    -1,   410,   411,   412,    -1,    -1,   415,   416,   417,
16541      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
16542      428,    -1,   430,   431,   432,   433,   434,   435,   436,    -1,
16543      438,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
16544      448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,
16545      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
16546      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
16547       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16548      488,   489,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   497,
16549      498,     3,    -1,     5,     6,    -1,     8,     9,    10,    11,
16550       12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,
16551       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
16552       -1,    -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,
16553       -1,    43,    44,    45,    46,    47,    48,    49,    50,    51,
16554       52,    53,    54,    55,    -1,    57,    58,    59,    60,    61,
16555       62,    63,    64,    65,    66,    67,    68,    69,    70,    -1,
16556       72,    73,    74,    75,    76,    -1,    78,    -1,    80,    81,
16557       82,    83,    84,    85,    86,    87,    88,    89,    -1,    91,
16558       92,    93,    94,    95,    96,    -1,    98,    99,   100,   101,
16559      102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
16560      112,   113,   114,   115,   116,   117,   118,   119,    -1,   121,
16561      122,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
16562      132,    -1,    -1,   135,   136,   137,   138,   139,    -1,   141,
16563      142,   143,    -1,   145,   146,   147,    -1,   149,   150,   151,
16564      152,   153,   154,   155,   156,   157,   158,   159,   160,    -1,
16565      162,   163,   164,   165,   166,    -1,   168,    -1,   170,   171,
16566       -1,   173,   174,   175,   176,   177,    -1,   179,   180,    -1,
16567      182,   183,   184,    -1,   186,   187,   188,   189,   190,   191,
16568      192,   193,   194,   195,    -1,   197,   198,   199,   200,   201,
16569      202,   203,    -1,   205,   206,   207,   208,   209,   210,   211,
16570      212,   213,    -1,   215,    -1,   217,   218,   219,   220,   221,
16571      222,   223,   224,   225,   226,    -1,    -1,   229,   230,   231,
16572      232,   233,    -1,   235,   236,   237,   238,   239,   240,   241,
16573      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
16574      252,   253,   254,   255,   256,   257,   258,   259,   260,   261,
16575      262,   263,   264,   265,   266,   267,   268,   269,   270,   271,
16576      272,   273,   274,   275,   276,   277,   278,   279,   280,    -1,
16577      282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,
16578      292,   293,   294,   295,   296,   297,   298,   299,   300,   301,
16579      302,   303,   304,   305,   306,    -1,   308,   309,   310,   311,
16580      312,   313,   314,   315,    -1,   317,   318,   319,   320,   321,
16581      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
16582       -1,   333,   334,   335,   336,   337,   338,   339,   340,   341,
16583      342,   343,   344,   345,    -1,   347,   348,   349,   350,   351,
16584      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
16585      362,   363,   364,    -1,   366,   367,   368,   369,   370,   371,
16586      372,   373,   374,   375,   376,   377,   378,   379,   380,   381,
16587       -1,   383,   384,   385,   386,   387,   388,   389,   390,   391,
16588      392,   393,   394,   395,   396,   397,    -1,   399,   400,    -1,
16589      402,   403,   404,   405,   406,   407,   408,    -1,   410,   411,
16590      412,    -1,    -1,   415,   416,   417,   418,   419,   420,   421,
16591      422,   423,   424,   425,   426,   427,   428,    -1,   430,   431,
16592      432,   433,   434,   435,   436,    -1,   438,   439,   440,   441,
16593      442,   443,   444,    -1,   446,   447,   448,   449,   450,   451,
16594       -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,   461,
16595      462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
16596      472,   473,   474,   475,   476,   477,    -1,    -1,    -1,    -1,
16597       -1,    -1,    -1,    -1,    -1,    -1,   488,   489,    -1,    -1,
16598       -1,    -1,    -1,    -1,    -1,   497,   498,     3,    -1,     5,
16599        6,    -1,     8,     9,    10,    11,    12,    -1,    -1,    -1,
16600       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
16601       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
16602       36,    -1,    -1,    39,    40,    41,    -1,    43,    44,    45,
16603       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
16604       -1,    57,    58,    59,    60,    61,    62,    63,    64,    65,
16605       66,    67,    68,    69,    70,    -1,    72,    73,    74,    75,
16606       76,    -1,    78,    -1,    80,    81,    82,    83,    84,    85,
16607       86,    87,    88,    89,    -1,    91,    92,    93,    94,    95,
16608       96,    -1,    98,    99,   100,   101,   102,   103,   104,   105,
16609      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
16610      116,   117,   118,   119,    -1,   121,   122,   123,   124,   125,
16611      126,   127,    -1,   129,   130,   131,   132,    -1,    -1,   135,
16612      136,   137,   138,   139,    -1,   141,   142,   143,    -1,   145,
16613      146,   147,    -1,   149,   150,   151,   152,   153,   154,   155,
16614      156,   157,   158,   159,   160,    -1,   162,   163,   164,   165,
16615      166,    -1,   168,    -1,   170,   171,    -1,   173,   174,   175,
16616      176,   177,    -1,   179,   180,    -1,   182,   183,   184,    -1,
16617      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
16618       -1,   197,   198,   199,   200,   201,   202,   203,    -1,   205,
16619      206,   207,   208,   209,   210,   211,   212,   213,    -1,   215,
16620       -1,   217,   218,   219,   220,   221,   222,   223,   224,   225,
16621      226,    -1,    -1,   229,   230,   231,   232,   233,    -1,   235,
16622      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
16623      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
16624      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
16625      266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
16626      276,   277,   278,   279,   280,    -1,   282,   283,    -1,    -1,
16627      286,   287,   288,    -1,    -1,   291,   292,   293,   294,   295,
16628      296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
16629      306,    -1,   308,   309,   310,   311,   312,   313,   314,   315,
16630       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
16631      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
16632      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
16633       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
16634      356,   357,   358,   359,   360,   361,   362,   363,   364,    -1,
16635      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
16636      376,   377,   378,   379,   380,   381,    -1,   383,   384,   385,
16637      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
16638      396,   397,    -1,   399,   400,    -1,   402,   403,   404,   405,
16639      406,   407,   408,    -1,   410,   411,   412,    -1,    -1,   415,
16640      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
16641      426,   427,   428,    -1,   430,   431,   432,   433,   434,   435,
16642      436,    -1,   438,   439,   440,   441,   442,   443,   444,    -1,
16643      446,   447,   448,   449,   450,   451,    -1,    -1,   454,    -1,
16644       -1,   457,   458,   459,   460,   461,   462,   463,   464,   465,
16645      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
16646      476,   477,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,
16647       -1,    -1,   488,   489,    -1,    -1,    -1,    -1,    -1,    -1,
16648       -1,   497,   498,    20,    21,    22,    23,    24,    25,    26,
16649       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
16650       37,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
16651       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
16652       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
16653       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
16654       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
16655       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
16656       -1,    98,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
16657       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
16658      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
16659      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
16660      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
16661      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
16662      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
16663       -1,   168,    -1,   170,    -1,    -1,   173,   174,   175,   176,
16664      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
16665      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
16666      197,   198,   199,   200,   201,   202,   203,    -1,   205,   206,
16667      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
16668      217,    -1,    -1,   220,   221,   222,   223,   224,   225,   226,
16669       -1,    -1,   229,   230,   231,   232,    -1,    -1,   235,   236,
16670      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
16671      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
16672      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
16673      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
16674      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
16675      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
16676      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
16677       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
16678      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
16679      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
16680      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
16681      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
16682      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
16683      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
16684       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
16685      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
16686      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
16687      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
16688      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
16689      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
16690       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
16691       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
16692      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
16693      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
16694       -1,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,
16695       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16696       -1,   498,    20,    21,    22,    23,    24,    25,    26,    27,
16697       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
16698       -1,    39,    40,    41,    -1,    43,    44,    45,    46,    47,
16699       48,    49,    50,    -1,    52,    53,    54,    55,    -1,    57,
16700       58,    59,    60,    61,    62,    63,    -1,    -1,    66,    67,
16701       68,    69,    70,    -1,    72,    73,    74,    75,    -1,    -1,
16702       78,    -1,    80,    81,    82,    83,    84,    85,    86,    87,
16703       88,    89,    -1,    91,    92,    93,    94,    95,    96,    -1,
16704       98,    99,   100,   101,    -1,    -1,    -1,   105,    -1,    -1,
16705       -1,   109,   110,   111,   112,   113,   114,   115,   116,   117,
16706       -1,   119,    -1,   121,   122,   123,   124,   125,   126,   127,
16707       -1,   129,   130,   131,   132,    -1,    -1,   135,   136,   137,
16708      138,   139,    -1,   141,   142,   143,    -1,   145,   146,   147,
16709       -1,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
16710       -1,    -1,   160,    -1,   162,   163,   164,   165,   166,    -1,
16711      168,    -1,   170,   171,    -1,   173,   174,   175,   176,   177,
16712       -1,   179,    -1,    -1,    -1,   183,   184,    -1,   186,   187,
16713      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
16714      198,   199,   200,   201,   202,   203,    -1,   205,   206,   207,
16715      208,   209,   210,   211,   212,   213,    -1,   215,    -1,   217,
16716      218,   219,   220,   221,   222,   223,   224,   225,   226,    -1,
16717       -1,   229,    -1,   231,   232,   233,    -1,   235,   236,   237,
16718       -1,    -1,   240,   241,   242,   243,   244,   245,   246,   247,
16719      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
16720      258,   259,   260,   261,   262,   263,   264,   265,    -1,    -1,
16721      268,    -1,   270,   271,   272,   273,    -1,    -1,   276,   277,
16722      278,   279,   280,    -1,   282,   283,    -1,    -1,   286,   287,
16723      288,    -1,    -1,   291,   292,   293,   294,   295,   296,    -1,
16724      298,   299,   300,   301,   302,   303,   304,   305,   306,    -1,
16725      308,   309,    -1,   311,    -1,   313,   314,   315,    -1,   317,
16726      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
16727      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
16728      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
16729      348,   349,   350,   351,   352,   353,   354,    -1,   356,   357,
16730      358,   359,   360,   361,   362,   363,   364,    -1,   366,   367,
16731      368,   369,   370,    -1,   372,   373,   374,   375,   376,   377,
16732      378,   379,   380,   381,    -1,   383,   384,   385,   386,   387,
16733      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
16734       -1,   399,   400,    -1,   402,   403,   404,   405,   406,   407,
16735      408,    -1,   410,   411,   412,    -1,    -1,   415,   416,    -1,
16736      418,    -1,    -1,   421,   422,   423,   424,   425,   426,   427,
16737      428,    -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,
16738      438,   439,   440,   441,   442,    -1,   444,   445,   446,   447,
16739      448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,
16740      458,   459,   460,   461,   462,     3,    -1,    -1,    -1,    -1,
16741       -1,    -1,    -1,    -1,    -1,    -1,   474,   475,   476,    -1,
16742       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
16743       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,
16744      498,    39,    40,    41,    -1,    43,    44,    45,    46,    47,
16745       48,    49,    50,    -1,    52,    53,    54,    55,    -1,    57,
16746       58,    59,    60,    61,    62,    63,    -1,    -1,    66,    67,
16747       68,    69,    70,    -1,    72,    73,    74,    75,    -1,    -1,
16748       78,    -1,    80,    81,    82,    83,    84,    85,    86,    87,
16749       88,    89,    -1,    91,    92,    93,    94,    95,    96,    -1,
16750       98,    99,   100,   101,    -1,    -1,    -1,   105,    -1,    -1,
16751       -1,   109,   110,   111,   112,   113,   114,   115,   116,   117,
16752       -1,   119,    -1,   121,   122,   123,   124,   125,   126,   127,
16753       -1,   129,   130,   131,   132,    -1,    -1,   135,   136,   137,
16754      138,   139,    -1,   141,   142,   143,    -1,   145,   146,   147,
16755       -1,   149,   150,   151,   152,    -1,   154,   155,   156,   157,
16756       -1,    -1,   160,    -1,   162,   163,   164,   165,   166,    -1,
16757      168,    -1,   170,   171,    -1,   173,   174,   175,   176,   177,
16758       -1,   179,    -1,    -1,    -1,   183,   184,    -1,   186,   187,
16759      188,   189,   190,   191,   192,   193,   194,   195,   196,   197,
16760      198,   199,   200,   201,   202,   203,    -1,   205,   206,   207,
16761      208,   209,   210,   211,   212,   213,    -1,   215,    -1,   217,
16762      218,   219,   220,   221,   222,   223,   224,   225,   226,    -1,
16763       -1,   229,    -1,   231,   232,   233,    -1,   235,   236,   237,
16764       -1,    -1,   240,   241,   242,   243,   244,   245,   246,   247,
16765      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
16766      258,   259,   260,   261,   262,   263,   264,   265,    -1,    -1,
16767      268,    -1,   270,   271,   272,   273,    -1,    -1,   276,   277,
16768      278,   279,   280,    -1,   282,   283,    -1,    -1,   286,   287,
16769      288,    -1,    -1,   291,   292,   293,   294,   295,   296,    -1,
16770      298,   299,   300,   301,   302,   303,   304,   305,   306,    -1,
16771      308,   309,    -1,   311,    -1,   313,   314,   315,    -1,   317,
16772      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
16773      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
16774      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
16775      348,   349,   350,   351,   352,   353,   354,    -1,   356,   357,
16776      358,   359,   360,   361,   362,   363,   364,    -1,   366,   367,
16777      368,   369,   370,    -1,   372,   373,   374,   375,   376,   377,
16778      378,   379,   380,   381,    -1,   383,   384,   385,   386,   387,
16779      388,   389,   390,   391,   392,   393,   394,   395,    -1,   397,
16780       -1,   399,   400,    -1,   402,   403,   404,   405,   406,   407,
16781      408,    -1,   410,   411,   412,    -1,    -1,   415,   416,    -1,
16782      418,    -1,    -1,   421,   422,   423,   424,   425,   426,   427,
16783      428,    -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,
16784      438,   439,   440,   441,   442,    -1,   444,   445,   446,   447,
16785      448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,
16786      458,   459,   460,   461,   462,     3,    -1,     5,     6,    -1,
16787        8,     9,    10,    11,    12,    -1,   474,   475,   476,    -1,
16788       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
16789       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
16790      498,    39,    40,    41,    -1,    43,    44,    45,    46,    47,
16791       48,    49,    50,    51,    52,    53,    54,    55,    -1,    57,
16792       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
16793       68,    69,    70,    -1,    72,    73,    74,    75,    76,    -1,
16794       78,    -1,    80,    81,    82,    83,    84,    85,    86,    87,
16795       88,    89,    -1,    91,    92,    93,    94,    95,    96,    -1,
16796       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
16797      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
16798      118,   119,    -1,   121,   122,   123,   124,   125,   126,   127,
16799       -1,   129,   130,   131,   132,    -1,    -1,   135,   136,   137,
16800      138,   139,    -1,   141,   142,   143,    -1,   145,   146,   147,
16801       -1,   149,   150,   151,   152,   153,   154,   155,   156,   157,
16802      158,   159,   160,    -1,   162,   163,   164,   165,   166,    -1,
16803      168,    -1,   170,   171,    -1,   173,   174,   175,   176,   177,
16804       -1,   179,   180,    -1,   182,   183,   184,    -1,   186,   187,
16805      188,   189,   190,   191,   192,   193,   194,   195,    -1,   197,
16806      198,   199,   200,   201,   202,   203,    -1,   205,   206,   207,
16807      208,   209,   210,   211,   212,   213,    -1,   215,    -1,   217,
16808      218,   219,   220,   221,   222,   223,   224,   225,   226,    -1,
16809       -1,   229,   230,   231,   232,   233,    -1,   235,   236,   237,
16810      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
16811      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
16812      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
16813      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
16814      278,   279,   280,    -1,   282,   283,    -1,    -1,   286,   287,
16815      288,    -1,    -1,   291,   292,   293,   294,   295,   296,   297,
16816      298,   299,   300,   301,   302,   303,   304,   305,   306,    -1,
16817      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
16818      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
16819      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
16820      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
16821      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
16822      358,   359,   360,   361,   362,   363,   364,   365,   366,   367,
16823      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
16824      378,   379,   380,   381,    -1,   383,   384,   385,   386,   387,
16825      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
16826       -1,   399,   400,   401,   402,   403,   404,   405,   406,   407,
16827      408,    -1,   410,   411,   412,    -1,    -1,   415,   416,   417,
16828      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
16829      428,    -1,   430,   431,   432,   433,   434,   435,   436,    -1,
16830      438,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
16831      448,   449,   450,   451,    -1,    -1,   454,    -1,   456,   457,
16832      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
16833      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
16834       -1,   479,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16835      488,   489,    -1,    -1,    -1,     3,    -1,     5,     6,   497,
16836        8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,
16837       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
16838       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
16839       -1,    39,    40,    41,    -1,    43,    44,    45,    46,    47,
16840       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
16841       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
16842       68,    69,    70,    -1,    72,    73,    74,    75,    76,    -1,
16843       78,    -1,    80,    81,    82,    83,    84,    85,    86,    87,
16844       88,    89,    -1,    91,    92,    93,    94,    95,    96,    -1,
16845       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
16846      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
16847      118,   119,    -1,   121,   122,   123,   124,   125,   126,   127,
16848       -1,   129,   130,   131,   132,    -1,    -1,   135,   136,   137,
16849      138,   139,    -1,   141,   142,   143,    -1,   145,   146,   147,
16850       -1,   149,   150,   151,   152,   153,   154,   155,   156,   157,
16851      158,   159,   160,    -1,   162,   163,   164,   165,   166,    -1,
16852      168,    -1,   170,   171,   172,   173,   174,   175,   176,   177,
16853       -1,   179,   180,    -1,   182,   183,   184,    -1,   186,   187,
16854      188,   189,   190,   191,   192,   193,   194,   195,    -1,   197,
16855      198,   199,   200,   201,   202,   203,    -1,   205,   206,   207,
16856      208,   209,   210,   211,   212,   213,    -1,   215,    -1,   217,
16857      218,   219,   220,   221,   222,   223,   224,   225,   226,    -1,
16858      228,   229,   230,   231,   232,   233,    -1,   235,   236,   237,
16859      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
16860      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
16861      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
16862      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
16863      278,   279,   280,    -1,   282,   283,    -1,    -1,   286,   287,
16864      288,    -1,    -1,   291,   292,   293,   294,   295,   296,   297,
16865      298,   299,   300,   301,   302,   303,   304,   305,   306,    -1,
16866      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
16867      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
16868      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
16869      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
16870      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
16871      358,   359,   360,   361,   362,   363,   364,    -1,   366,   367,
16872      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
16873      378,   379,   380,   381,    -1,   383,   384,   385,   386,   387,
16874      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
16875       -1,   399,   400,    -1,   402,   403,   404,   405,   406,   407,
16876      408,    -1,   410,   411,   412,    -1,   414,   415,   416,   417,
16877      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
16878      428,    -1,   430,   431,   432,   433,   434,   435,   436,    -1,
16879      438,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
16880      448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,
16881      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
16882      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
16883       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16884      488,   489,    -1,    -1,    -1,     3,    -1,     5,     6,   497,
16885        8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,
16886       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
16887       28,    29,    30,    31,    -1,    -1,    -1,    35,    36,    -1,
16888       -1,    39,    40,    41,    -1,    43,    44,    45,    46,    47,
16889       48,    49,    50,    51,    52,    53,    54,    55,    -1,    57,
16890       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
16891       68,    69,    70,    -1,    72,    73,    74,    75,    76,    -1,
16892       78,    -1,    80,    81,    82,    83,    84,    85,    86,    87,
16893       88,    89,    -1,    91,    92,    93,    94,    95,    96,    -1,
16894       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
16895      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
16896      118,   119,    -1,   121,   122,   123,   124,   125,   126,   127,
16897       -1,   129,   130,   131,   132,    -1,    -1,   135,   136,   137,
16898      138,   139,    -1,   141,   142,   143,    -1,   145,   146,   147,
16899       -1,   149,   150,   151,   152,   153,   154,   155,   156,   157,
16900      158,   159,   160,    -1,   162,   163,   164,   165,   166,    -1,
16901      168,    -1,   170,   171,    -1,   173,   174,   175,   176,   177,
16902       -1,   179,   180,    -1,   182,   183,   184,    -1,   186,   187,
16903      188,   189,   190,   191,   192,   193,   194,   195,    -1,   197,
16904      198,   199,   200,   201,   202,   203,    -1,   205,   206,   207,
16905      208,   209,   210,   211,   212,   213,    -1,   215,    -1,   217,
16906      218,   219,   220,   221,   222,   223,   224,   225,   226,    -1,
16907       -1,   229,   230,   231,   232,   233,    -1,   235,   236,   237,
16908      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
16909      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
16910      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
16911      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
16912      278,   279,   280,    -1,   282,   283,    -1,    -1,   286,   287,
16913      288,    -1,    -1,   291,   292,   293,   294,   295,   296,   297,
16914      298,   299,   300,   301,   302,   303,   304,   305,   306,    -1,
16915      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
16916      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
16917      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
16918      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
16919      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
16920      358,   359,   360,   361,   362,   363,   364,    -1,   366,   367,
16921      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
16922      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
16923      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
16924       -1,   399,   400,    -1,   402,   403,   404,   405,   406,   407,
16925      408,    -1,   410,   411,   412,    -1,    -1,   415,   416,   417,
16926      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
16927      428,    -1,   430,   431,   432,   433,   434,   435,   436,    -1,
16928      438,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
16929      448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,
16930      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
16931      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
16932       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16933      488,   489,    -1,    -1,    -1,     3,    -1,     5,     6,   497,
16934        8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,
16935       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
16936       28,    29,    30,    31,    -1,    -1,    -1,    35,    36,    -1,
16937       -1,    39,    40,    41,    -1,    43,    44,    45,    46,    47,
16938       48,    49,    50,    51,    52,    53,    54,    55,    -1,    57,
16939       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
16940       68,    69,    70,    -1,    72,    73,    74,    75,    76,    -1,
16941       78,    -1,    80,    81,    82,    83,    84,    85,    86,    87,
16942       88,    89,    -1,    91,    92,    93,    94,    95,    96,    -1,
16943       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
16944      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
16945      118,   119,    -1,   121,   122,   123,   124,   125,   126,   127,
16946       -1,   129,   130,   131,   132,    -1,    -1,   135,   136,   137,
16947      138,   139,    -1,   141,   142,   143,    -1,   145,   146,   147,
16948       -1,   149,   150,   151,   152,   153,   154,   155,   156,   157,
16949      158,   159,   160,    -1,   162,   163,   164,   165,   166,    -1,
16950      168,    -1,   170,   171,    -1,   173,   174,   175,   176,   177,
16951       -1,   179,   180,    -1,   182,   183,   184,    -1,   186,   187,
16952      188,   189,   190,   191,   192,   193,   194,   195,    -1,   197,
16953      198,   199,   200,   201,   202,   203,    -1,   205,   206,   207,
16954      208,   209,   210,   211,   212,   213,    -1,   215,    -1,   217,
16955      218,   219,   220,   221,   222,   223,   224,   225,   226,    -1,
16956       -1,   229,   230,   231,   232,   233,    -1,   235,   236,   237,
16957      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
16958      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
16959      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
16960      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
16961      278,   279,   280,    -1,   282,   283,    -1,    -1,   286,   287,
16962      288,    -1,    -1,   291,   292,   293,   294,   295,   296,   297,
16963      298,   299,   300,   301,   302,   303,   304,   305,   306,    -1,
16964      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
16965      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
16966      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
16967      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
16968      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
16969      358,   359,   360,   361,   362,   363,   364,    -1,   366,   367,
16970      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
16971      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
16972      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
16973       -1,   399,   400,    -1,   402,   403,   404,   405,   406,   407,
16974      408,    -1,   410,   411,   412,    -1,    -1,   415,   416,   417,
16975      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
16976      428,    -1,   430,   431,   432,   433,   434,   435,   436,    -1,
16977      438,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
16978      448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,
16979      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
16980      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
16981       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
16982      488,   489,    -1,    -1,    -1,     3,    -1,     5,     6,   497,
16983        8,     9,    10,    11,    12,    -1,    -1,    -1,    -1,    -1,
16984       -1,    -1,    20,    21,    22,    23,    24,    25,    26,    27,
16985       -1,    29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,
16986       -1,    39,    40,    41,    -1,    43,    44,    45,    46,    47,
16987       48,    49,    50,    51,    52,    53,    54,    55,    -1,    57,
16988       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
16989       68,    69,    70,    -1,    72,    73,    74,    75,    76,    -1,
16990       78,    -1,    80,    81,    82,    83,    84,    85,    86,    87,
16991       88,    89,    -1,    91,    92,    93,    94,    95,    96,    -1,
16992       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
16993      108,   109,   110,   111,   112,   113,   114,   115,   116,   117,
16994      118,   119,    -1,   121,   122,   123,   124,   125,   126,   127,
16995       -1,   129,   130,   131,   132,    -1,    -1,   135,   136,   137,
16996      138,   139,    -1,   141,   142,   143,    -1,   145,   146,   147,
16997       -1,   149,   150,   151,   152,   153,   154,   155,   156,   157,
16998      158,   159,   160,    -1,   162,   163,   164,   165,   166,    -1,
16999      168,    -1,   170,   171,    -1,   173,   174,   175,   176,   177,
17000       -1,   179,   180,    -1,   182,   183,   184,    -1,   186,   187,
17001      188,   189,   190,   191,   192,   193,   194,   195,    -1,   197,
17002      198,   199,   200,   201,   202,   203,    -1,   205,   206,   207,
17003      208,   209,   210,   211,   212,   213,    -1,   215,    -1,   217,
17004      218,   219,   220,   221,   222,   223,   224,   225,   226,    -1,
17005       -1,   229,   230,   231,   232,   233,    -1,   235,   236,   237,
17006      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
17007      248,   249,   250,   251,   252,   253,   254,   255,   256,   257,
17008      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
17009      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
17010      278,   279,   280,    -1,   282,   283,    -1,    -1,   286,   287,
17011      288,    -1,    -1,   291,   292,   293,   294,   295,   296,   297,
17012      298,   299,   300,   301,   302,   303,   304,   305,   306,    -1,
17013      308,   309,   310,   311,   312,   313,   314,   315,    -1,   317,
17014      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
17015      328,   329,   330,   331,    -1,   333,   334,   335,   336,   337,
17016      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
17017      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
17018      358,   359,   360,   361,   362,   363,   364,    -1,   366,   367,
17019      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
17020      378,   379,   380,   381,    -1,   383,   384,   385,   386,   387,
17021      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
17022       -1,   399,   400,    -1,   402,   403,   404,   405,   406,   407,
17023      408,    -1,   410,   411,   412,    -1,    -1,   415,   416,   417,
17024      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
17025      428,    -1,   430,   431,   432,   433,   434,   435,   436,    -1,
17026      438,   439,   440,   441,   442,   443,   444,    -1,   446,   447,
17027      448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,
17028      458,   459,   460,   461,   462,   463,   464,   465,   466,   467,
17029      468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
17030       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17031      488,   489,    -1,    -1,    -1,    -1,    -1,   495,   496,   497,
17032        3,    -1,     5,     6,    -1,     8,     9,    10,    11,    12,
17033       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17034       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17035       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17036       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17037       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17038       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17039       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17040       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17041       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17042      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17043      113,   114,   115,   116,   117,   118,   119,    -1,   121,   122,
17044      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17045       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17046      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17047      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17048      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
17049      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17050      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17051      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17052      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17053      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
17054      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17055      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17056      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17057      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17058      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
17059      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17060      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17061      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17062      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17063      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17064      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17065      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17066      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17067      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17068      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17069      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17070      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17071      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17072      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17073       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17074      423,   424,   425,   426,   427,   428,    -1,   430,   431,   432,
17075      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17076      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
17077       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17078      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17079      473,   474,   475,   476,   477,    -1,    -1,    -1,    -1,    -1,
17080       -1,    -1,    -1,    -1,    -1,   488,   489,   490,    -1,    -1,
17081        3,    -1,     5,     6,   497,     8,     9,    10,    11,    12,
17082       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17083       23,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
17084       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17085       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17086       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17087       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17088       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17089       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17090       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17091      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17092      113,   114,   115,   116,   117,   118,   119,    -1,   121,   122,
17093      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17094       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17095      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17096      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17097      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
17098      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17099      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17100      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17101      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17102      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
17103      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17104      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17105      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17106      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17107      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
17108      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17109      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17110      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17111      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17112      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17113      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17114      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17115      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17116      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17117      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17118      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17119      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17120      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17121      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17122       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17123      423,   424,   425,   426,   427,   428,    -1,   430,   431,   432,
17124      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17125      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
17126       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17127      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17128      473,   474,   475,   476,   477,    -1,    -1,    -1,    -1,    -1,
17129       -1,    -1,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,
17130        3,    -1,     5,     6,   497,     8,     9,    10,    11,    12,
17131       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17132       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17133       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17134       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17135       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17136       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17137       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17138       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17139       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17140      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17141      113,   114,   115,   116,   117,   118,   119,    -1,   121,   122,
17142      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17143       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17144      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17145      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17146      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
17147      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17148      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17149      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17150      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17151      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
17152      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17153      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17154      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17155      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17156      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
17157      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17158      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17159      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17160      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17161      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17162      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17163      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17164      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17165      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17166      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17167      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17168      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17169      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17170      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17171       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17172      423,   424,   425,   426,   427,   428,    -1,   430,   431,   432,
17173      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17174      443,   444,   445,   446,   447,   448,   449,   450,   451,    -1,
17175       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17176      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17177      473,   474,   475,   476,   477,    -1,    -1,    -1,    -1,    -1,
17178       -1,    -1,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,
17179        3,    -1,     5,     6,   497,     8,     9,    10,    11,    12,
17180       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17181       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17182       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17183       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17184       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17185       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17186       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17187       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17188       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17189      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17190      113,   114,   115,   116,   117,   118,   119,    -1,   121,   122,
17191      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17192       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17193      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17194      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17195      163,   164,   165,   166,    -1,   168,    -1,   170,   171,   172,
17196      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17197      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17198      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17199      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17200      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
17201      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17202      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17203      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17204      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17205      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
17206      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17207      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17208      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17209      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17210      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17211      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17212      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17213      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17214      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17215      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17216      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17217      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17218      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17219      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17220       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17221      423,   424,   425,   426,   427,   428,    -1,   430,   431,   432,
17222      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17223      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
17224       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17225      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17226      473,   474,   475,   476,   477,    -1,    -1,    -1,    -1,    -1,
17227       -1,    -1,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,
17228        3,    -1,     5,     6,   497,     8,     9,    10,    11,    12,
17229       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17230       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17231       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17232       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17233       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17234       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17235       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17236       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17237       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17238      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17239      113,   114,   115,   116,   117,   118,   119,    -1,   121,   122,
17240      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17241       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17242      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17243      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17244      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
17245      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17246      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17247      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17248      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17249      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
17250      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17251      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17252      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17253      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17254      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
17255      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17256      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17257      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17258      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17259      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17260      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17261      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17262      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17263      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17264      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17265      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17266      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17267      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17268      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17269      413,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17270      423,   424,   425,   426,   427,   428,    -1,   430,   431,   432,
17271      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17272      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
17273       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17274      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17275      473,   474,   475,   476,   477,    -1,    -1,    -1,    -1,    -1,
17276       -1,    -1,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,
17277        3,    -1,     5,     6,   497,     8,     9,    10,    11,    12,
17278       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17279       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17280       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17281       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17282       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17283       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17284       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17285       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17286       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17287      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17288      113,   114,   115,   116,   117,   118,   119,    -1,   121,   122,
17289      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17290       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17291      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17292      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17293      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
17294      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17295      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17296      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17297      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17298      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
17299      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17300      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17301      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17302      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17303      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
17304      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17305      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17306      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17307      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17308      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17309      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17310      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17311      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17312      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17313      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17314      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17315      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17316      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17317      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17318       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17319      423,   424,   425,   426,   427,   428,    -1,   430,   431,   432,
17320      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17321      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
17322       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17323      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17324      473,   474,   475,   476,   477,    -1,    -1,    -1,    -1,    -1,
17325       -1,    -1,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,
17326        3,    -1,     5,     6,   497,     8,     9,    10,    11,    12,
17327       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17328       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17329       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17330       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17331       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17332       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17333       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17334       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17335       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17336      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17337      113,   114,   115,   116,   117,   118,   119,    -1,   121,   122,
17338      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17339       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17340      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17341      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17342      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
17343      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17344      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17345      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17346      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17347      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
17348      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17349      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17350      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17351      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17352      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
17353      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17354      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17355      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17356      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17357      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17358      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17359      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17360      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17361      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17362      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17363      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17364      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17365      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17366      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17367       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17368      423,   424,   425,   426,   427,   428,    -1,   430,   431,   432,
17369      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17370      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
17371       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17372      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17373      473,   474,   475,   476,   477,    -1,    -1,    -1,    -1,    -1,
17374       -1,    -1,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,
17375        3,    -1,     5,     6,   497,     8,     9,    10,    11,    12,
17376       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17377       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17378       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17379       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17380       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17381       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17382       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17383       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17384       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17385      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17386      113,   114,   115,   116,   117,   118,   119,    -1,   121,   122,
17387      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17388       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17389      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17390      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17391      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
17392      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17393      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17394      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17395      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17396      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
17397      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17398      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17399      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17400      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17401      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
17402      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17403      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17404      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17405      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17406      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17407      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17408      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17409      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17410      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17411      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17412      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17413      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17414      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17415      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17416       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17417      423,   424,   425,   426,   427,   428,    -1,   430,   431,   432,
17418      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17419      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
17420       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17421      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17422      473,   474,   475,   476,   477,    -1,    -1,    -1,    -1,    -1,
17423       -1,    -1,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,
17424        3,    -1,     5,     6,   497,     8,     9,    10,    11,    12,
17425       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17426       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17427       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17428       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17429       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17430       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17431       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17432       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17433       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17434      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17435      113,   114,   115,   116,   117,   118,   119,    -1,   121,   122,
17436      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17437       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17438      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17439      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17440      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
17441      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17442      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17443      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17444      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17445      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
17446      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17447      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17448      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17449      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17450      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
17451      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17452      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17453      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17454      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17455      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17456      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17457      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17458      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17459      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17460      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17461      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17462      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17463      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17464      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17465       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17466      423,   424,   425,   426,   427,   428,    -1,   430,   431,   432,
17467      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17468      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
17469       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17470      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17471      473,   474,   475,   476,   477,    -1,    -1,    -1,    -1,    -1,
17472       -1,    -1,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,
17473        3,    -1,     5,     6,   497,     8,     9,    10,    11,    12,
17474       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17475       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17476       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17477       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17478       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17479       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17480       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17481       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17482       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17483      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17484      113,   114,   115,   116,   117,   118,   119,    -1,   121,   122,
17485      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17486       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17487      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17488      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17489      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
17490      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17491      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17492      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17493      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17494      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
17495      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17496      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17497      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17498      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17499      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
17500      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17501      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17502      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17503      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17504      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17505      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17506      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17507      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17508      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17509      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17510      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17511      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17512      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17513      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17514       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17515      423,   424,   425,   426,   427,   428,    -1,   430,   431,   432,
17516      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17517      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
17518       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17519      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17520      473,   474,   475,   476,   477,    -1,    -1,    -1,    -1,    -1,
17521       -1,    -1,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,
17522        3,    -1,     5,     6,   497,     8,     9,    10,    11,    12,
17523       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17524       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17525       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17526       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17527       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17528       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17529       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17530       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17531       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17532      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17533      113,   114,   115,   116,   117,   118,   119,    -1,   121,   122,
17534      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17535       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17536      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17537      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17538      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
17539      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17540      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17541      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17542      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17543      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
17544      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17545      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17546      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17547      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17548      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
17549      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17550      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17551      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17552      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17553      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17554      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17555      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17556      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17557      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17558      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17559      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17560      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17561      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17562      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17563       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17564      423,   424,   425,   426,   427,   428,    -1,   430,   431,   432,
17565      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17566      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
17567       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17568      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17569      473,   474,   475,   476,   477,    -1,    -1,    -1,    -1,    -1,
17570       -1,    -1,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,
17571        3,    -1,     5,     6,   497,     8,     9,    10,    11,    12,
17572       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17573       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17574       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17575       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17576       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17577       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17578       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17579       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17580       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17581      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17582      113,   114,   115,   116,   117,   118,   119,    -1,   121,   122,
17583      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17584       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17585      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17586      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17587      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
17588      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17589      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17590      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17591      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17592      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
17593      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17594      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17595      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17596      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17597      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
17598      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17599      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17600      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17601      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17602      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17603      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17604      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17605      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17606      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17607      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17608      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17609      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17610      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17611      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17612       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17613      423,   424,   425,   426,   427,   428,    -1,   430,   431,   432,
17614      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17615      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
17616       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17617      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17618      473,   474,   475,   476,   477,    -1,    -1,    -1,    -1,    -1,
17619       -1,    -1,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,
17620        3,    -1,     5,     6,   497,     8,     9,    10,    11,    12,
17621       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17622       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17623       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17624       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17625       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17626       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17627       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17628       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17629       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17630      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17631      113,   114,   115,   116,   117,   118,   119,    -1,   121,   122,
17632      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17633       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17634      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17635      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17636      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
17637      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17638      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17639      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17640      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17641      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
17642      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17643      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17644      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17645      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17646      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
17647      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17648      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17649      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17650      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17651      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17652      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17653      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17654      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17655      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17656      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17657      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17658      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17659      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17660      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17661       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17662      423,   424,   425,   426,   427,   428,    -1,   430,   431,   432,
17663      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17664      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
17665       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17666      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17667      473,   474,   475,   476,   477,    -1,    -1,    -1,    -1,    -1,
17668       -1,    -1,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,
17669        3,    -1,     5,     6,   497,     8,     9,    10,    11,    12,
17670       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17671       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17672       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17673       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17674       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17675       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17676       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17677       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17678       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17679      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17680      113,   114,   115,   116,   117,   118,   119,    -1,   121,   122,
17681      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17682       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17683      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17684      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17685      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
17686      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17687      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17688      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17689      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17690      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
17691      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17692      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17693      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17694      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17695      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
17696      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17697      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17698      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17699      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17700      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17701      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17702      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17703      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17704      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17705      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17706      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17707      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17708      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17709      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17710       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17711      423,   424,   425,   426,   427,   428,    -1,   430,   431,   432,
17712      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17713      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
17714       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17715      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17716      473,   474,   475,   476,   477,    -1,    -1,    -1,    -1,    -1,
17717       -1,    -1,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,
17718        3,    -1,     5,     6,   497,     8,     9,    10,    11,    12,
17719       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17720       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17721       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17722       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17723       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17724       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17725       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17726       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17727       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17728      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17729      113,   114,   115,   116,   117,   118,   119,    -1,   121,   122,
17730      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17731       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17732      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17733      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17734      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
17735      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17736      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17737      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17738      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17739      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
17740      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17741      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17742      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17743      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17744      263,   264,   265,   266,   267,   268,    -1,   270,   271,   272,
17745      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17746      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17747      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17748      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17749      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17750      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17751      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17752      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17753      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17754      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17755      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17756      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17757      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17758      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17759       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17760      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
17761      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17762      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
17763       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17764      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17765      473,   474,   475,   476,    -1,    -1,    -1,    -1,    -1,    -1,
17766       -1,    -1,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,
17767        3,    -1,     5,     6,   497,     8,     9,    10,    11,    12,
17768       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17769       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17770       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17771       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17772       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17773       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17774       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17775       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17776       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17777      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17778      113,   114,   115,   116,   117,   118,   119,    -1,   121,   122,
17779      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17780       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17781      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17782      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17783      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
17784      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17785      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17786      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17787      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17788      213,    -1,   215,    -1,   217,    -1,    -1,   220,   221,   222,
17789      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17790      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17791      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17792      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17793      263,   264,   265,   266,   267,   268,   269,   270,   271,    -1,
17794      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17795      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17796      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17797      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17798      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17799      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17800      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17801      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17802      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17803      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17804      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17805      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17806      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17807      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17808       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17809      423,   424,   425,   426,   427,   428,    -1,   430,   431,   432,
17810      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17811      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
17812       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17813      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17814      473,   474,   475,   476,   477,    -1,    -1,    -1,    -1,    -1,
17815       -1,    -1,    -1,    -1,    -1,   488,   489,    -1,    -1,    -1,
17816        3,    -1,     5,     6,   497,     8,     9,    10,    11,    12,
17817       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
17818       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
17819       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
17820       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
17821       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
17822       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
17823       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
17824       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
17825       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
17826      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
17827      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
17828      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
17829       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
17830      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
17831      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
17832      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
17833      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
17834      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
17835      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
17836      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
17837      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
17838      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
17839      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
17840      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
17841      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
17842      263,   264,   265,   266,   267,   268,    -1,   270,   271,   272,
17843      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
17844      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
17845      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
17846      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
17847      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
17848      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
17849      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
17850      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
17851      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
17852      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
17853      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
17854      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
17855      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
17856      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
17857       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
17858      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
17859      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
17860      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
17861       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
17862      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
17863      473,   474,   475,   476,    -1,    -1,    -1,    -1,    -1,    -1,
17864       -1,    -1,    -1,    -1,    -1,   488,   489,     3,    -1,     5,
17865        6,    -1,     8,     9,   497,    11,    12,    -1,    -1,    -1,
17866       -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,
17867       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
17868       36,    -1,    -1,    39,    40,    41,    -1,    43,    44,    45,
17869       46,    47,    48,    49,    50,    51,    52,    53,    54,    55,
17870       -1,    57,    58,    59,    60,    61,    62,    63,    64,    65,
17871       66,    67,    68,    69,    70,    -1,    72,    73,    74,    75,
17872       76,    -1,    78,    -1,    80,    81,    82,    83,    84,    85,
17873       86,    87,    88,    89,    -1,    91,    92,    93,    94,    95,
17874       96,    -1,    98,    99,   100,   101,   102,   103,   104,   105,
17875      106,   107,   108,   109,   110,   111,   112,   113,   114,   115,
17876      116,   117,    -1,   119,    -1,   121,   122,   123,   124,   125,
17877      126,   127,    -1,   129,   130,   131,   132,    -1,    -1,   135,
17878      136,   137,   138,   139,    -1,   141,   142,   143,    -1,   145,
17879      146,   147,    -1,   149,   150,   151,   152,   153,   154,   155,
17880      156,   157,   158,   159,   160,    -1,   162,   163,   164,   165,
17881      166,    -1,   168,    -1,   170,   171,    -1,   173,   174,   175,
17882      176,   177,    -1,   179,   180,    -1,   182,   183,   184,    -1,
17883      186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
17884       -1,   197,   198,   199,   200,   201,   202,   203,    -1,   205,
17885      206,   207,   208,   209,   210,   211,   212,   213,    -1,   215,
17886       -1,   217,   218,   219,   220,   221,   222,   223,   224,   225,
17887      226,    -1,    -1,   229,   230,   231,   232,   233,    -1,   235,
17888      236,   237,   238,   239,   240,   241,   242,   243,   244,   245,
17889      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
17890      256,   257,   258,   259,   260,   261,   262,   263,   264,   265,
17891      266,   267,   268,    -1,   270,   271,   272,   273,   274,   275,
17892      276,   277,   278,   279,   280,    -1,   282,   283,    -1,    -1,
17893      286,   287,   288,    -1,    -1,   291,   292,   293,   294,   295,
17894      296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
17895      306,    -1,   308,   309,   310,   311,   312,   313,   314,   315,
17896       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
17897      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
17898      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
17899       -1,   347,   348,   349,   350,   351,   352,   353,   354,   355,
17900      356,   357,   358,   359,   360,   361,   362,   363,   364,    -1,
17901      366,   367,   368,   369,   370,   371,   372,   373,   374,   375,
17902      376,   377,   378,   379,   380,   381,    -1,   383,   384,   385,
17903      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
17904      396,   397,    -1,   399,   400,    -1,   402,   403,   404,   405,
17905      406,   407,   408,    -1,   410,   411,   412,    -1,    -1,   415,
17906      416,   417,   418,   419,   420,   421,   422,   423,   424,   425,
17907      426,   427,   428,    -1,    -1,   431,   432,   433,   434,   435,
17908      436,    -1,   438,   439,   440,   441,   442,   443,   444,    -1,
17909      446,   447,   448,   449,   450,   451,    -1,    -1,   454,    -1,
17910       -1,   457,   458,   459,   460,   461,   462,   463,   464,   465,
17911      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
17912      476,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
17913       -1,    -1,   488,   489,     3,    -1,     5,     6,    -1,     8,
17914        9,   497,    11,    12,    -1,    -1,    -1,    -1,    -1,    -1,
17915       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
17916       29,    30,    31,    -1,    -1,    -1,    -1,    36,    -1,    -1,
17917       39,    40,    41,    -1,    43,    44,    45,    46,    47,    48,
17918       49,    50,    51,    52,    53,    54,    55,    -1,    57,    58,
17919       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
17920       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    78,
17921       -1,    80,    81,    82,    83,    84,    85,    86,    87,    88,
17922       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    98,
17923       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
17924      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
17925      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
17926      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
17927      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
17928      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
17929      159,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
17930       -1,   170,   171,    -1,   173,   174,   175,   176,   177,    -1,
17931      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
17932      189,   190,   191,   192,   193,   194,   195,    -1,   197,   198,
17933      199,   200,   201,   202,   203,    -1,   205,   206,   207,   208,
17934      209,   210,   211,   212,   213,    -1,   215,    -1,   217,   218,
17935      219,   220,   221,   222,   223,   224,   225,   226,    -1,    -1,
17936      229,   230,   231,   232,   233,    -1,   235,   236,   237,   238,
17937      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
17938      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
17939      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
17940       -1,   270,   271,   272,   273,   274,   275,   276,   277,   278,
17941      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
17942       -1,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
17943      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
17944      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
17945      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
17946      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
17947      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
17948      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
17949      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
17950      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
17951      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
17952      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
17953      399,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
17954       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
17955      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
17956       -1,    -1,   431,   432,   433,   434,   435,   436,    -1,   438,
17957      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
17958      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
17959      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
17960      469,   470,   471,   472,   473,   474,   475,   476,    -1,    -1,
17961       -1,    -1,     3,    -1,     5,     6,    -1,     8,     9,    -1,
17962       11,    12,    -1,    -1,    -1,    -1,    -1,    -1,   497,    20,
17963       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
17964       31,    -1,    -1,    -1,    -1,    36,    -1,    -1,    39,    40,
17965       41,    -1,    43,    44,    45,    46,    47,    48,    49,    50,
17966       51,    52,    53,    54,    55,    -1,    57,    58,    59,    60,
17967       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
17968       -1,    72,    73,    74,    75,    76,    -1,    78,    -1,    80,
17969       81,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
17970       91,    92,    93,    94,    95,    96,    -1,    98,    99,   100,
17971      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
17972      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
17973      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
17974      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
17975      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
17976      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
17977       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
17978      171,    -1,   173,   174,   175,   176,   177,    -1,   179,   180,
17979       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
17980      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
17981      201,   202,   203,    -1,   205,   206,   207,   208,   209,   210,
17982      211,   212,   213,    -1,   215,    -1,   217,   218,   219,   220,
17983      221,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
17984      231,   232,   233,    -1,   235,   236,   237,   238,   239,   240,
17985      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
17986      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
17987      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
17988      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
17989       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
17990      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
17991      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
17992      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
17993      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
17994      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
17995      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
17996      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
17997      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
17998      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
17999      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
18000      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
18001       -1,   402,   403,   404,   405,   406,   407,   408,    -1,   410,
18002      411,   412,    -1,    -1,   415,   416,   417,   418,   419,   420,
18003      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
18004      431,   432,   433,   434,   435,   436,    -1,   438,   439,   440,
18005      441,   442,   443,   444,    -1,   446,   447,   448,   449,   450,
18006      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
18007      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
18008      471,   472,   473,   474,   475,   476,    -1,    -1,    -1,    -1,
18009        3,    -1,     5,     6,    -1,     8,     9,    -1,    11,    12,
18010       -1,    -1,    -1,    -1,    -1,    -1,   497,    20,    21,    22,
18011       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
18012       -1,    -1,    -1,    36,    -1,    -1,    39,    40,    41,    -1,
18013       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
18014       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
18015       63,    64,    65,    66,    67,    68,    69,    70,    -1,    72,
18016       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
18017       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
18018       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
18019      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
18020      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
18021      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
18022       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
18023      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
18024      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
18025      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
18026      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
18027      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
18028      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
18029      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
18030      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
18031      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
18032      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
18033      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
18034      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
18035      263,   264,   265,   266,   267,   268,    -1,   270,   271,   272,
18036      273,   274,   275,   276,   277,   278,   279,   280,    -1,   282,
18037      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
18038      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
18039      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
18040      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
18041      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
18042      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
18043      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
18044      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
18045      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
18046      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
18047      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
18048      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
18049      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
18050       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
18051      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
18052      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
18053      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
18054       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
18055      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
18056      473,   474,   475,   476,    -1,    -1,    -1,    -1,     3,    -1,
18057       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18058       -1,    -1,    -1,    -1,   497,    20,    21,    22,    23,    24,
18059       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
18060       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
18061       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
18062       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
18063       65,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
18064       75,    76,    -1,    78,    -1,    80,    81,    82,    83,    84,
18065       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
18066       95,    96,    -1,    98,    99,   100,   101,   102,   103,   104,
18067      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
18068      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
18069      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
18070      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
18071      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
18072      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
18073      165,   166,    -1,   168,    -1,   170,   171,    -1,   173,   174,
18074      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
18075       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
18076      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
18077      205,   206,   207,   208,   209,   210,   211,   212,   213,    -1,
18078      215,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
18079      225,   226,   227,    -1,   229,   230,   231,   232,   233,    -1,
18080      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
18081      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
18082      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
18083      265,   266,   267,   268,    -1,   270,   271,   272,   273,    -1,
18084      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
18085      285,   286,   287,   288,    -1,    -1,   291,   292,   293,   294,
18086      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
18087      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
18088      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
18089      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
18090      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
18091      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
18092      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
18093      365,   366,   367,   368,   369,   370,   371,   372,   373,   374,
18094      375,   376,   377,   378,   379,   380,   381,    -1,   383,   384,
18095      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
18096      395,   396,   397,    -1,   399,   400,   401,   402,   403,   404,
18097      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
18098      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
18099      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
18100      435,   436,    -1,   438,   439,   440,   441,   442,   443,   444,
18101       -1,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
18102       -1,   456,   457,   458,   459,   460,   461,   462,   463,   464,
18103      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
18104      475,   476,    -1,    -1,   479,    -1,     3,    -1,    -1,    -1,
18105       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18106       -1,    -1,   497,    20,    21,    22,    23,    24,    25,    26,
18107       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
18108       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
18109       47,    48,    49,    50,    51,    52,    53,    54,    55,    -1,
18110       57,    58,    59,    60,    61,    62,    63,    -1,    65,    66,
18111       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
18112       -1,    78,    -1,    80,    81,    82,    83,    84,    85,    86,
18113       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
18114       -1,    98,    99,   100,   101,   102,   103,   104,   105,   106,
18115      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
18116      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
18117      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
18118      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
18119      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
18120      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
18121       -1,   168,    -1,   170,   171,    -1,   173,   174,   175,   176,
18122      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
18123      187,   188,   189,   190,   191,   192,   193,   194,   195,    -1,
18124      197,   198,   199,   200,   201,   202,   203,    -1,   205,   206,
18125      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
18126      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
18127      227,    -1,   229,   230,   231,   232,   233,    -1,   235,   236,
18128      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
18129      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
18130      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
18131      267,   268,    -1,   270,   271,   272,   273,    -1,   275,   276,
18132      277,   278,   279,   280,    -1,   282,   283,    -1,   285,   286,
18133      287,   288,    -1,    -1,   291,   292,   293,   294,   295,   296,
18134      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
18135       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
18136      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
18137      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
18138      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
18139      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
18140      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
18141      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
18142      377,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
18143      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
18144      397,    -1,   399,   400,    -1,   402,   403,   404,   405,   406,
18145      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
18146      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
18147      427,   428,    -1,    -1,   431,   432,   433,   434,   435,   436,
18148       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
18149      447,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
18150      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
18151      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
18152       -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
18153       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18154      497,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
18155       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18156       39,    40,    41,    -1,    43,    44,    45,    46,    47,    48,
18157       49,    50,    51,    52,    53,    54,    55,    -1,    57,    58,
18158       59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
18159       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    78,
18160       -1,    80,    81,    82,    83,    84,    85,    86,    87,    88,
18161       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    98,
18162       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
18163      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
18164      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
18165      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
18166      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
18167      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
18168       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
18169       -1,   170,   171,    -1,   173,   174,   175,   176,   177,    -1,
18170      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
18171      189,   190,   191,   192,   193,   194,   195,    -1,   197,   198,
18172      199,   200,   201,   202,   203,    -1,   205,   206,   207,   208,
18173      209,   210,   211,   212,   213,    -1,   215,    -1,   217,   218,
18174      219,   220,   221,   222,   223,   224,   225,   226,    -1,    -1,
18175      229,   230,   231,   232,   233,    -1,   235,   236,   237,   238,
18176      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
18177      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
18178      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
18179       -1,   270,   271,   272,   273,    -1,   275,   276,   277,   278,
18180      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
18181       -1,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
18182      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
18183      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
18184      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
18185      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
18186      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
18187      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
18188      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
18189      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
18190      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
18191      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
18192      399,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
18193       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
18194      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
18195       -1,    -1,   431,   432,   433,   434,   435,   436,    -1,   438,
18196      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
18197      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
18198      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
18199      469,   470,   471,   472,   473,   474,   475,   476,    -1,    -1,
18200       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18201       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   497,    20,
18202       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
18203       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
18204       41,    -1,    43,    44,    45,    46,    47,    48,    49,    50,
18205       51,    52,    53,    54,    55,    -1,    57,    58,    59,    60,
18206       61,    62,    63,    -1,    65,    66,    67,    68,    69,    70,
18207       -1,    72,    73,    74,    75,    76,    -1,    78,    -1,    80,
18208       81,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
18209       91,    92,    93,    94,    95,    96,    -1,    98,    99,   100,
18210      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
18211      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
18212      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
18213      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
18214      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
18215      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
18216       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
18217      171,    -1,   173,   174,   175,   176,   177,    -1,   179,   180,
18218       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
18219      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
18220      201,   202,   203,    -1,   205,   206,   207,   208,   209,   210,
18221      211,   212,   213,    -1,   215,    -1,   217,   218,   219,   220,
18222      221,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
18223      231,   232,   233,    -1,   235,   236,   237,   238,   239,   240,
18224      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18225      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
18226      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
18227      271,   272,   273,    -1,   275,   276,   277,   278,   279,   280,
18228       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
18229      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
18230      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
18231      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
18232      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
18233      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
18234      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
18235      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
18236      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
18237      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
18238      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
18239      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
18240       -1,   402,   403,   404,   405,   406,   407,   408,    -1,   410,
18241      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
18242      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
18243      431,   432,   433,   434,   435,   436,    -1,   438,   439,   440,
18244      441,   442,   443,   444,    -1,   446,   447,   448,   449,   450,
18245      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
18246      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
18247      471,   472,   473,   474,   475,   476,    -1,    -1,    -1,    -1,
18248        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18249       -1,    -1,    -1,    -1,    -1,    -1,   497,    20,    21,    22,
18250       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
18251       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
18252       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
18253       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
18254       63,    -1,    65,    66,    67,    68,    69,    70,    -1,    72,
18255       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
18256       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
18257       93,    94,    95,    96,    -1,    98,    99,   100,   101,   102,
18258      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
18259      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
18260      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
18261       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
18262      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
18263      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
18264      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
18265      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
18266      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
18267      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
18268      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
18269      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
18270      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
18271      233,    -1,   235,   236,   237,   238,   239,   240,   241,   242,
18272      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
18273      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
18274      263,   264,   265,   266,   267,   268,    -1,   270,   271,   272,
18275      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
18276      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
18277      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
18278      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
18279      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
18280      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
18281      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
18282      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
18283      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
18284      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
18285      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
18286      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
18287      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
18288      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
18289       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
18290      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
18291      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
18292      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
18293       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
18294      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
18295      473,   474,   475,   476,    -1,    -1,    -1,    -1,     3,    -1,
18296       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18297       -1,    -1,    -1,    -1,   497,    20,    21,    22,    23,    24,
18298       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
18299       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
18300       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
18301       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
18302       65,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
18303       75,    76,    -1,    78,    -1,    80,    81,    82,    83,    84,
18304       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
18305       95,    96,    -1,    98,    99,   100,   101,   102,   103,   104,
18306      105,   106,   107,   108,   109,   110,   111,   112,   113,   114,
18307      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
18308      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
18309      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
18310      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
18311      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
18312      165,   166,    -1,   168,    -1,   170,   171,    -1,   173,   174,
18313      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
18314       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
18315      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
18316      205,   206,   207,   208,   209,   210,   211,   212,   213,    -1,
18317      215,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
18318      225,   226,    -1,    -1,   229,   230,   231,   232,   233,    -1,
18319      235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
18320      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
18321      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
18322      265,   266,   267,   268,    -1,   270,   271,   272,   273,    -1,
18323      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
18324       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,   294,
18325      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
18326      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
18327      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
18328      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
18329      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
18330      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
18331      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
18332       -1,   366,   367,   368,   369,   370,   371,   372,   373,   374,
18333      375,   376,   377,   378,   379,   380,   381,    -1,   383,   384,
18334      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
18335      395,   396,   397,    -1,   399,   400,    -1,   402,   403,   404,
18336      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
18337      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
18338      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
18339      435,   436,    -1,   438,   439,   440,   441,   442,   443,   444,
18340       -1,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
18341       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
18342      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
18343      475,   476,    -1,    -1,    -1,    -1,     3,    -1,     5,     6,
18344       -1,    -1,    -1,    -1,    11,    -1,    -1,    -1,    -1,    -1,
18345       -1,    -1,   497,    20,    21,    22,    23,    24,    25,    26,
18346       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
18347       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
18348       47,    48,    49,    50,    51,    52,    53,    54,    55,    -1,
18349       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
18350       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
18351       -1,    78,    -1,    80,    81,    82,    83,    84,    85,    86,
18352       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
18353       -1,    98,    99,   100,   101,    -1,    -1,    -1,   105,    -1,
18354       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
18355      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
18356      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
18357      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
18358      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
18359      157,   158,   159,   160,    -1,   162,   163,   164,   165,   166,
18360       -1,   168,    -1,   170,   171,    -1,   173,   174,   175,   176,
18361      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
18362      187,   188,   189,   190,   191,   192,   193,   194,   195,    -1,
18363      197,   198,   199,   200,   201,   202,   203,    -1,   205,   206,
18364      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
18365      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
18366       -1,    -1,   229,   230,   231,   232,   233,    -1,   235,   236,
18367      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
18368      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
18369      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
18370      267,   268,    -1,   270,   271,   272,   273,    -1,   275,   276,
18371      277,   278,   279,   280,    -1,   282,   283,   284,    -1,   286,
18372      287,   288,    -1,    -1,   291,   292,   293,   294,   295,   296,
18373      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
18374       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
18375      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
18376      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
18377      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
18378      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
18379      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
18380      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
18381      377,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
18382      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
18383      397,    -1,   399,   400,    -1,   402,   403,   404,   405,   406,
18384      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
18385      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
18386      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
18387       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
18388      447,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
18389      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
18390      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
18391       -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
18392       -1,   488,   489,   490,    -1,    -1,    -1,    -1,    -1,    -1,
18393      497,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
18394       29,    30,    31,    32,    33,    -1,    -1,    -1,    -1,    -1,
18395       39,    40,    41,    -1,    43,    44,    45,    46,    47,    48,
18396       49,    50,    51,    52,    53,    54,    55,    -1,    57,    58,
18397       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
18398       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    78,
18399       -1,    80,    81,    82,    83,    84,    85,    86,    87,    88,
18400       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    98,
18401       99,   100,   101,    -1,    -1,    -1,   105,    -1,    -1,    -1,
18402      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
18403      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
18404      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
18405      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
18406      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
18407       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
18408       -1,   170,   171,    -1,   173,   174,   175,   176,   177,    -1,
18409      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
18410      189,   190,   191,   192,   193,   194,   195,    -1,   197,   198,
18411      199,   200,   201,   202,   203,    -1,   205,   206,   207,   208,
18412      209,   210,   211,   212,   213,    -1,   215,    -1,   217,   218,
18413      219,   220,   221,   222,   223,   224,   225,   226,    -1,    -1,
18414      229,   230,   231,   232,   233,    -1,   235,   236,   237,    -1,
18415       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
18416      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
18417      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
18418       -1,   270,   271,   272,   273,    -1,   275,   276,   277,   278,
18419      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
18420       -1,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
18421      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
18422      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
18423      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
18424      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
18425      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
18426      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
18427      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
18428      369,   370,    -1,   372,   373,   374,   375,   376,   377,   378,
18429      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
18430      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
18431      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
18432       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
18433      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
18434       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
18435      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
18436      449,   450,   451,    -1,    -1,   454,    -1,   456,   457,   458,
18437      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
18438      469,   470,   471,   472,   473,   474,   475,   476,    -1,    -1,
18439      479,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18440       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   497,    20,
18441       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
18442       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
18443       41,    -1,    43,    44,    45,    46,    47,    48,    49,    50,
18444       51,    52,    53,    54,    55,    -1,    57,    58,    59,    60,
18445       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
18446       -1,    72,    73,    74,    75,    76,    -1,    78,    -1,    80,
18447       81,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
18448       91,    92,    93,    94,    95,    96,    -1,    98,    99,   100,
18449      101,    -1,    -1,    -1,   105,    -1,    -1,    -1,   109,   110,
18450      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
18451      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
18452      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
18453      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
18454      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
18455       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
18456      171,    -1,   173,   174,   175,   176,   177,    -1,   179,   180,
18457       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
18458      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
18459      201,   202,   203,    -1,   205,   206,   207,   208,   209,   210,
18460      211,   212,   213,    -1,   215,    -1,   217,   218,   219,   220,
18461      221,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
18462      231,   232,   233,    -1,   235,   236,   237,    -1,    -1,   240,
18463      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18464      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
18465      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
18466      271,   272,   273,    -1,   275,   276,   277,   278,   279,   280,
18467       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
18468      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
18469      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
18470      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
18471      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
18472      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
18473      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
18474      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
18475      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
18476       -1,   372,   373,   374,   375,   376,   377,   378,   379,   380,
18477      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
18478      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
18479       -1,   402,   403,   404,   405,   406,   407,   408,    -1,   410,
18480      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
18481      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
18482      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
18483      441,   442,   443,   444,    -1,   446,   447,   448,   449,   450,
18484      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
18485      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
18486      471,   472,   473,   474,   475,   476,    -1,    -1,    -1,    -1,
18487        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18488       -1,    -1,    -1,    -1,    -1,    -1,   497,    20,    21,    22,
18489       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
18490       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
18491       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
18492       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
18493       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
18494       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
18495       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
18496       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
18497       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
18498      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
18499      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
18500       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
18501      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
18502      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
18503      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
18504       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
18505      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
18506      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
18507      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
18508      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
18509      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
18510       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
18511      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
18512      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
18513      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
18514      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
18515      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
18516      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
18517      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
18518      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
18519      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
18520      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
18521      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
18522      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
18523      363,   364,   365,   366,   367,   368,   369,   370,    -1,   372,
18524      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
18525      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
18526      393,   394,   395,   396,   397,    -1,   399,   400,   401,   402,
18527       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
18528       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
18529      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
18530      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
18531      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
18532       -1,   454,    -1,   456,   457,   458,   459,   460,   461,   462,
18533      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
18534      473,   474,   475,   476,    -1,    -1,   479,    -1,     3,    -1,
18535       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18536       -1,    -1,    -1,    -1,   497,    20,    21,    22,    23,    24,
18537       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
18538       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
18539       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
18540       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
18541       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
18542       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
18543       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
18544       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
18545       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
18546      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
18547      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
18548      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
18549      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
18550      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
18551      165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,
18552      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
18553       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
18554      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
18555      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
18556      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
18557      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
18558      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
18559      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
18560      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
18561      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
18562      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
18563       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
18564      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
18565      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
18566      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
18567      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
18568      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
18569      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
18570      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
18571       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
18572      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
18573      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
18574      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
18575      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
18576      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
18577      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
18578      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
18579       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
18580       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
18581      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
18582      475,   476,    -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,
18583       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18584       -1,    -1,   497,    20,    21,    22,    23,    24,    25,    26,
18585       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
18586       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
18587       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
18588       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
18589       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
18590       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
18591       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
18592       -1,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
18593       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
18594      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
18595      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
18596      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
18597      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
18598      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
18599       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
18600      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
18601      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
18602      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
18603      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
18604      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
18605       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
18606      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
18607      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
18608       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
18609      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
18610      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
18611      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
18612      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
18613       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
18614      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
18615      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
18616      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
18617      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
18618      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
18619      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
18620       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
18621      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
18622      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
18623      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
18624      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
18625      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
18626       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
18627       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
18628      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
18629      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
18630       -1,    -1,    -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,
18631       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18632      497,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
18633       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18634       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
18635       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
18636       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
18637       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    -1,
18638       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
18639       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    -1,
18640       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18641      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
18642      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
18643      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
18644      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
18645      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
18646       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
18647       -1,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
18648      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
18649      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
18650      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
18651      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
18652       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
18653      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
18654       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
18655      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
18656      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
18657       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
18658      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
18659       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
18660      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
18661      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
18662      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
18663      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
18664      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
18665       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
18666      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
18667      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
18668      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
18669      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
18670      399,   400,    -1,   402,    -1,   404,   405,   406,   407,   408,
18671       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
18672      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
18673       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
18674      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
18675      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
18676      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
18677      469,   470,   471,   472,   473,   474,   475,   476,    -1,    -1,
18678       -1,    -1,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18679       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   497,    20,
18680       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
18681       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
18682       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
18683       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
18684       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
18685       -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
18686       81,    82,    83,    84,    85,    -1,    87,    88,    89,    -1,
18687       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
18688      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
18689      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
18690      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
18691      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
18692      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
18693      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
18694       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
18695       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
18696       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
18697       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
18698      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
18699      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
18700       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
18701       -1,   232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,
18702      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
18703      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
18704      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
18705      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
18706       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
18707      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
18708      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
18709      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
18710      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
18711      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
18712      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
18713      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
18714      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
18715       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
18716      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
18717      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
18718       -1,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
18719      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
18720      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
18721      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
18722      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
18723      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
18724      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
18725      471,   472,   473,   474,   475,   476,    -1,    -1,    -1,    -1,
18726       -1,    -1,    -1,     3,    -1,     5,     6,    -1,    -1,    -1,
18727       10,    11,    -1,    -1,    -1,    -1,   497,    17,    18,    19,
18728       20,    21,    22,    23,    24,    25,    26,    27,    28,    29,
18729       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
18730       40,    41,    42,    43,    44,    45,    46,    47,    48,    49,
18731       50,    -1,    52,    53,    54,    55,    56,    57,    58,    59,
18732       60,    61,    62,    63,    64,    65,    66,    67,    68,    69,
18733       70,    71,    72,    73,    74,    75,    -1,    77,    78,    79,
18734       80,    81,    82,    83,    84,    85,    86,    87,    88,    89,
18735       90,    91,    92,    93,    94,    95,    96,    97,    98,    99,
18736      100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
18737      110,   111,   112,   113,   114,   115,   116,   117,   118,   119,
18738      120,   121,   122,   123,   124,   125,   126,   127,   128,   129,
18739      130,   131,   132,   133,   134,   135,   136,   137,   138,   139,
18740      140,   141,   142,   143,   144,   145,   146,   147,   148,   149,
18741      150,   151,   152,    -1,   154,   155,   156,   157,    -1,   159,
18742      160,   161,   162,   163,   164,   165,   166,   167,   168,   169,
18743      170,   171,   172,   173,   174,   175,   176,   177,   178,   179,
18744       -1,   181,    -1,   183,   184,   185,   186,   187,   188,   189,
18745      190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
18746      200,   201,   202,   203,   204,   205,   206,    -1,   208,   209,
18747      210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
18748      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
18749       -1,   231,   232,   233,   234,   235,   236,   237,   238,   239,
18750      240,   241,   242,   243,   244,   245,   246,   247,   248,   249,
18751      250,   251,   252,   253,   254,   255,   256,   257,   258,   259,
18752      260,   261,   262,   263,   264,   265,   266,    -1,   268,   269,
18753      270,   271,   272,   273,   274,    -1,   276,   277,   278,   279,
18754      280,   281,   282,   283,   284,   285,   286,   287,   288,   289,
18755      290,   291,   292,    -1,   294,   295,   296,    -1,   298,   299,
18756      300,   301,   302,   303,   304,   305,   306,   307,   308,   309,
18757       -1,   311,    -1,   313,   314,   315,   316,   317,   318,   319,
18758      320,   321,   322,   323,   324,   325,   326,   327,   328,   329,
18759      330,   331,   332,   333,   334,   335,   336,   337,   338,   339,
18760      340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
18761      350,   351,   352,   353,   354,    -1,   356,   357,   358,   359,
18762      360,   361,   362,   363,   364,   365,   366,   367,   368,   369,
18763      370,   371,   372,   373,   374,   375,   376,   377,   378,   379,
18764      380,   381,   382,   383,   384,   385,   386,   387,   388,   389,
18765      390,   391,   392,   393,   394,   395,    -1,   397,   398,   399,
18766      400,   401,   402,   403,   404,   405,   406,   407,   408,   409,
18767      410,   411,   412,   413,   414,   415,   416,    -1,   418,    -1,
18768      420,   421,   422,   423,   424,   425,   426,   427,   428,   429,
18769      430,   431,   432,   433,   434,   435,   436,   437,   438,   439,
18770      440,   441,   442,    -1,   444,   445,   446,   447,   448,   449,
18771      450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
18772      460,   461,   462,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
18773       -1,    -1,    -1,    -1,   474,   475,   476,    -1,    -1,    -1,
18774       -1,    -1,    -1,    -1,    -1,   485,   486,   487,   488,   489,
18775      490,   491,   492,   493,     3,    -1,     5,     6,    -1,    -1,
18776       -1,    10,    11,    -1,    -1,    -1,    -1,    -1,    17,    18,
18777       19,    20,    21,    22,    23,    24,    25,    26,    27,    28,
18778       29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
18779       39,    40,    41,    42,    43,    44,    45,    46,    47,    48,
18780       49,    50,    -1,    52,    53,    54,    55,    56,    57,    58,
18781       59,    60,    61,    62,    63,    64,    65,    66,    67,    68,
18782       69,    70,    71,    72,    73,    74,    75,    -1,    77,    78,
18783       79,    80,    81,    82,    83,    84,    85,    86,    87,    88,
18784       89,    90,    91,    92,    93,    94,    95,    96,    97,    98,
18785       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
18786      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
18787      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
18788      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
18789      139,   140,   141,   142,   143,   144,   145,   146,   147,   148,
18790      149,   150,   151,   152,    -1,   154,   155,   156,   157,    -1,
18791      159,   160,   161,   162,   163,   164,   165,   166,   167,   168,
18792      169,   170,   171,   172,   173,   174,   175,   176,   177,   178,
18793      179,    -1,   181,    -1,   183,   184,   185,   186,   187,   188,
18794      189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
18795      199,   200,   201,   202,   203,   204,   205,   206,    -1,   208,
18796      209,   210,   211,   212,   213,   214,   215,   216,   217,   218,
18797      219,   220,   221,   222,   223,   224,   225,   226,   227,   228,
18798      229,    -1,   231,   232,   233,   234,   235,   236,   237,   238,
18799      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
18800      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
18801      259,   260,   261,   262,   263,   264,   265,   266,    -1,   268,
18802      269,   270,   271,   272,   273,   274,    -1,   276,   277,   278,
18803      279,   280,   281,   282,   283,   284,   285,   286,   287,   288,
18804      289,   290,   291,   292,    -1,   294,   295,   296,    -1,   298,
18805      299,   300,   301,   302,   303,   304,   305,   306,   307,   308,
18806      309,    -1,   311,    -1,   313,   314,   315,   316,   317,   318,
18807      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
18808      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
18809      339,   340,   341,   342,   343,   344,   345,   346,   347,   348,
18810      349,   350,   351,   352,   353,   354,    -1,   356,   357,   358,
18811      359,   360,   361,   362,   363,   364,   365,   366,   367,   368,
18812      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
18813      379,   380,   381,   382,   383,   384,   385,   386,   387,   388,
18814      389,   390,   391,   392,   393,   394,   395,    -1,   397,   398,
18815      399,   400,   401,   402,   403,   404,   405,   406,   407,   408,
18816      409,   410,   411,   412,   413,   414,   415,   416,    -1,   418,
18817       -1,   420,   421,   422,   423,   424,   425,   426,   427,   428,
18818      429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
18819      439,   440,   441,   442,    -1,   444,   445,   446,   447,   448,
18820      449,   450,   451,   452,   453,   454,   455,   456,   457,   458,
18821      459,   460,   461,   462,    -1,    -1,    -1,    -1,    -1,    -1,
18822       -1,    -1,    -1,    -1,    -1,   474,   475,   476,    -1,    -1,
18823       -1,    -1,    -1,    -1,    -1,    -1,   485,   486,   487,   488,
18824      489,   490,   491,   492,   493,     3,    -1,    -1,    -1,    -1,
18825       -1,    -1,    10,    -1,    -1,    13,    -1,    -1,    -1,    17,
18826       18,    19,    20,    21,    22,    23,    24,    25,    26,    27,
18827       28,    29,    30,    31,    32,    33,    34,    35,    -1,    37,
18828       38,    39,    40,    41,    42,    43,    44,    45,    46,    47,
18829       48,    49,    50,    51,    52,    53,    54,    55,    56,    57,
18830       58,    59,    60,    61,    62,    63,    64,    65,    66,    67,
18831       -1,    -1,    70,    71,    72,    73,    74,    75,    76,    77,
18832       78,    79,    80,    81,    82,    83,    84,    85,    86,    87,
18833       88,    89,    90,    91,    92,    93,    94,    95,    96,    -1,
18834       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
18835      108,   109,   110,   111,   112,    -1,   114,   115,   116,   117,
18836      118,   119,   120,   121,   122,   123,   124,   125,   126,   127,
18837      128,   129,   130,   131,   132,   133,   134,   135,   136,   137,
18838      138,   139,   140,   141,   142,   143,   144,   145,   146,   147,
18839       -1,   149,   150,   151,   152,   153,   154,   155,   156,   157,
18840      158,   159,   160,    -1,    -1,   163,   164,   165,   166,    -1,
18841      168,   169,   170,   171,    -1,   173,   174,   175,   176,   177,
18842       -1,   179,   180,    -1,   182,   183,   184,    -1,   186,   187,
18843       -1,   189,   190,   191,   192,   193,   194,   195,   196,   197,
18844      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
18845      208,   209,   210,   211,   212,   213,    -1,   215,    -1,   217,
18846      218,   219,   220,   221,   222,   223,   224,   225,   226,   227,
18847      228,   229,   230,   231,   232,   233,    -1,   235,   236,   237,
18848      238,   239,   240,   241,   242,   243,   244,   245,   246,   247,
18849      248,    -1,   250,   251,    -1,   253,   254,   255,   256,   257,
18850      258,   259,   260,   261,   262,   263,   264,   265,   266,   267,
18851      268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
18852      278,   279,   280,    -1,   282,   283,    -1,   285,   286,   287,
18853      288,   289,    -1,   291,   292,   293,   294,    -1,    -1,   297,
18854      298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
18855      308,   309,   310,   311,    -1,   313,   314,   315,   316,   317,
18856      318,   319,   320,   321,   322,   323,   324,   325,   326,   327,
18857      328,   329,   330,   331,   332,   333,   334,   335,   336,   337,
18858      338,   339,   340,   341,   342,   343,   344,   345,    -1,   347,
18859      348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
18860      358,   359,   360,   361,   362,    -1,   364,   365,   366,   367,
18861      368,   369,   370,   371,   372,   373,   374,   375,   376,   377,
18862      378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
18863      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
18864      398,   399,   400,   401,   402,   403,   404,   405,   406,   407,
18865      408,   409,   410,   411,   412,    -1,   414,   415,   416,   417,
18866      418,   419,   420,   421,   422,   423,   424,   425,   426,   427,
18867      428,    -1,   430,   431,   432,   433,   434,   435,   436,   437,
18868      438,   439,   440,   441,   442,   443,   444,   445,    -1,   447,
18869      448,   449,   450,   451,   452,    -1,   454,    -1,    -1,    -1,
18870       -1,   459,   460,   461,   462,   463,   464,   465,   466,   467,
18871      468,   469,   470,   471,   472,   473,    -1,   475,   476,   477,
18872       -1,    -1,    -1,    -1,    -1,    -1,    -1,   485,   486,   487,
18873      488,   489,   490,   491,   492,   493,     3,    -1,    -1,    -1,
18874       -1,    -1,    -1,    10,    -1,    -1,    -1,    -1,    -1,    -1,
18875       17,    18,    19,    20,    21,    22,    23,    24,    25,    26,
18876       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
18877       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
18878       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
18879       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
18880       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
18881       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
18882       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
18883       -1,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
18884       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
18885      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
18886      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
18887      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
18888      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
18889      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
18890       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
18891      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
18892      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
18893      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
18894      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
18895      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
18896       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
18897      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
18898      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
18899       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
18900      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
18901      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
18902      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
18903      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
18904       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
18905      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
18906      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
18907      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
18908      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
18909      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
18910      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
18911       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
18912      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
18913      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
18914      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
18915      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
18916      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
18917       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
18918       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
18919      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
18920      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
18921       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   485,   486,
18922      487,   488,   489,   490,   491,   492,   493,     3,    -1,    -1,
18923       -1,    -1,    -1,    -1,    10,    -1,    -1,    -1,    -1,    -1,
18924       -1,    17,    18,    19,    20,    21,    22,    23,    24,    25,
18925       26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,
18926       -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,    45,
18927       46,    -1,    48,    49,    50,    51,    52,    -1,    54,    55,
18928       -1,    57,    58,    59,    60,    61,    62,    63,    -1,    -1,
18929       66,    67,    68,    69,    70,    -1,    72,    73,    74,    75,
18930       76,    -1,    -1,    -1,    80,    81,    82,    83,    84,    85,
18931       -1,    87,    88,    89,    -1,    91,    92,    93,    94,    95,
18932       96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,
18933       -1,    -1,    -1,   109,   110,   111,   112,   113,   114,   115,
18934      116,   117,    -1,   119,    -1,   121,   122,   123,   124,   125,
18935      126,   127,    -1,   129,   130,   131,   132,    -1,    -1,   135,
18936      136,   137,   138,   139,    -1,   141,   142,   143,    -1,   145,
18937      146,   147,    -1,   149,   150,   151,   152,   153,   154,   155,
18938      156,   157,   158,    -1,   160,    -1,   162,   163,   164,   165,
18939      166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,
18940      176,   177,    -1,   179,   180,    -1,   182,   183,   184,    -1,
18941      186,   187,   188,   189,   190,    -1,   192,   193,   194,   195,
18942       -1,   197,   198,   199,   200,   201,   202,   203,    -1,   205,
18943       -1,   207,   208,   209,   210,   211,   212,   213,    -1,   215,
18944       -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,   225,
18945      226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,
18946      236,   237,    -1,    -1,   240,   241,   242,   243,   244,   245,
18947      246,   247,   248,   249,   250,   251,   252,   253,   254,   255,
18948      256,    -1,   258,   259,   260,   261,   262,   263,   264,   265,
18949      266,   267,   268,    -1,   270,   271,    -1,   273,    -1,   275,
18950      276,   277,   278,   279,   280,    -1,   282,   283,    -1,    -1,
18951      286,   287,   288,    -1,    -1,   291,   292,   293,    -1,   295,
18952       -1,   297,   298,   299,   300,   301,   302,   303,   304,   305,
18953      306,    -1,   308,   309,   310,   311,   312,   313,   314,   315,
18954       -1,   317,   318,   319,   320,   321,   322,   323,   324,   325,
18955      326,   327,   328,   329,   330,   331,    -1,   333,   334,   335,
18956      336,   337,   338,   339,   340,   341,   342,   343,   344,   345,
18957       -1,   347,   348,    -1,   350,   351,   352,   353,   354,   355,
18958      356,   357,   358,   359,   360,   361,   362,   363,   364,    -1,
18959      366,   367,   368,   369,   370,    -1,   372,   373,   374,   375,
18960      376,    -1,   378,   379,   380,   381,    -1,   383,   384,   385,
18961      386,   387,   388,   389,   390,   391,   392,   393,   394,   395,
18962      396,   397,    -1,   399,   400,    -1,   402,    -1,   404,   405,
18963      406,   407,   408,    -1,   410,   411,   412,    -1,    -1,   415,
18964      416,   417,   418,   419,    -1,   421,   422,   423,   424,   425,
18965      426,   427,   428,    -1,    -1,   431,   432,   433,   434,   435,
18966       -1,    -1,   438,   439,   440,   441,   442,   443,   444,    -1,
18967      446,    -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,
18968       -1,   457,   458,   459,   460,   461,   462,   463,   464,   465,
18969      466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
18970      476,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   485,
18971      486,   487,   488,   489,   490,   491,   492,   493,     3,    -1,
18972       -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    -1,    -1,
18973       -1,    -1,    17,    18,    19,    20,    21,    22,    23,    24,
18974       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
18975       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
18976       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
18977       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
18978       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
18979       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
18980       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
18981       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
18982       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
18983      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
18984      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
18985      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
18986      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
18987      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
18988      165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,
18989      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
18990       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
18991      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
18992      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
18993      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
18994      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
18995      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
18996      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
18997      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
18998      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
18999      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
19000       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
19001      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
19002      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
19003      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
19004      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
19005      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
19006      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
19007      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
19008       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
19009      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
19010      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
19011      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
19012      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
19013      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
19014      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
19015      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
19016       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
19017       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
19018      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
19019      475,   476,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19020      485,   486,   487,   488,   489,   490,   491,   492,   493,     3,
19021       -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,    -1,
19022       -1,    -1,    -1,    17,    18,    19,    20,    21,    22,    23,
19023       24,    25,    26,    27,    -1,    29,    30,    31,    -1,    -1,
19024       -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,
19025       44,    45,    46,    -1,    48,    49,    50,    51,    52,    -1,
19026       54,    55,    -1,    57,    58,    59,    60,    61,    62,    63,
19027       -1,    -1,    66,    67,    68,    69,    70,    -1,    72,    73,
19028       74,    75,    76,    -1,    -1,    -1,    80,    81,    82,    83,
19029       84,    85,    -1,    87,    88,    89,    -1,    91,    92,    93,
19030       94,    95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,
19031       -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,
19032      114,   115,   116,   117,    -1,   119,    -1,   121,   122,   123,
19033      124,   125,   126,   127,    -1,   129,   130,   131,   132,    -1,
19034       -1,   135,   136,   137,   138,   139,    -1,   141,   142,   143,
19035       -1,   145,   146,   147,    -1,   149,   150,   151,   152,   153,
19036      154,   155,   156,   157,   158,    -1,   160,    -1,   162,   163,
19037      164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,
19038      174,   175,   176,   177,    -1,   179,   180,    -1,   182,   183,
19039      184,    -1,   186,   187,   188,   189,   190,    -1,   192,   193,
19040      194,   195,    -1,   197,   198,   199,   200,   201,   202,   203,
19041       -1,   205,    -1,   207,   208,   209,   210,   211,   212,   213,
19042       -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,
19043      224,   225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,
19044       -1,   235,   236,   237,    -1,    -1,   240,   241,   242,   243,
19045      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
19046      254,   255,   256,    -1,   258,   259,   260,   261,   262,   263,
19047      264,   265,   266,   267,   268,    -1,   270,   271,    -1,   273,
19048       -1,   275,   276,   277,   278,   279,   280,    -1,   282,   283,
19049       -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,   293,
19050       -1,   295,    -1,   297,   298,   299,   300,   301,   302,   303,
19051      304,   305,   306,    -1,   308,   309,   310,   311,   312,   313,
19052      314,   315,    -1,   317,   318,   319,   320,   321,   322,   323,
19053      324,   325,   326,   327,   328,   329,   330,   331,    -1,   333,
19054      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
19055      344,   345,    -1,   347,   348,    -1,   350,   351,   352,   353,
19056      354,   355,   356,   357,   358,   359,   360,   361,   362,   363,
19057      364,    -1,   366,   367,   368,   369,   370,    -1,   372,   373,
19058      374,   375,   376,    -1,   378,   379,   380,   381,    -1,   383,
19059      384,   385,   386,   387,   388,   389,   390,   391,   392,   393,
19060      394,   395,   396,   397,    -1,   399,   400,    -1,   402,    -1,
19061      404,   405,   406,   407,   408,    -1,   410,   411,   412,    -1,
19062       -1,   415,   416,   417,   418,   419,    -1,   421,   422,   423,
19063      424,   425,   426,   427,   428,    -1,    -1,   431,   432,   433,
19064      434,   435,    -1,    -1,   438,   439,   440,   441,   442,   443,
19065      444,    -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,
19066      454,    -1,    -1,   457,   458,   459,   460,   461,   462,   463,
19067      464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
19068      474,   475,   476,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19069       -1,   485,   486,   487,   488,   489,   490,   491,   492,   493,
19070        3,    -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,    -1,
19071       -1,    -1,    -1,    -1,    17,    18,    19,    20,    21,    22,
19072       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
19073       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
19074       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
19075       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
19076       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
19077       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
19078       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
19079       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
19080       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
19081      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
19082      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
19083       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
19084      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
19085      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
19086      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
19087       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
19088      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
19089      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
19090      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
19091      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
19092      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
19093       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
19094      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
19095      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
19096      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
19097      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
19098      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
19099      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
19100      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
19101      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
19102      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
19103      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
19104      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
19105      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
19106      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
19107      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
19108      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
19109      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
19110       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
19111       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
19112      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
19113      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
19114      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
19115       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
19116      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
19117      473,   474,   475,   476,    -1,    -1,    -1,    -1,    -1,    -1,
19118       -1,    -1,   485,   486,   487,   488,   489,   490,   491,   492,
19119      493,     3,    -1,    -1,    -1,    -1,    -1,    -1,    10,    -1,
19120       -1,    -1,    -1,    -1,    -1,    17,    18,    19,    20,    21,
19121       22,    23,    24,    25,    26,    27,    -1,    29,    30,    31,
19122       -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,
19123       -1,    43,    44,    45,    46,    -1,    48,    49,    50,    51,
19124       52,    -1,    54,    55,    -1,    57,    58,    59,    60,    61,
19125       62,    63,    -1,    -1,    66,    67,    68,    69,    70,    -1,
19126       72,    73,    74,    75,    76,    -1,    -1,    -1,    80,    81,
19127       82,    83,    84,    85,    -1,    87,    88,    89,    -1,    91,
19128       92,    93,    94,    95,    96,    -1,    -1,    99,   100,   101,
19129       -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,
19130      112,   113,   114,   115,   116,   117,    -1,   119,    -1,   121,
19131      122,   123,   124,   125,   126,   127,    -1,   129,   130,   131,
19132      132,    -1,    -1,   135,   136,   137,   138,   139,    -1,   141,
19133      142,   143,    -1,   145,   146,   147,    -1,   149,   150,   151,
19134      152,   153,   154,   155,   156,   157,   158,    -1,   160,    -1,
19135      162,   163,   164,   165,   166,    -1,   168,    -1,   170,    -1,
19136       -1,    -1,   174,   175,   176,   177,    -1,   179,   180,    -1,
19137      182,   183,   184,    -1,   186,   187,   188,   189,   190,    -1,
19138      192,   193,   194,   195,    -1,   197,   198,   199,   200,   201,
19139      202,   203,    -1,   205,    -1,   207,   208,   209,   210,   211,
19140      212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,
19141      222,   223,   224,   225,   226,    -1,    -1,   229,   230,    -1,
19142      232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,
19143      242,   243,   244,   245,   246,   247,   248,   249,   250,   251,
19144      252,   253,   254,   255,   256,    -1,   258,   259,   260,   261,
19145      262,   263,   264,   265,   266,   267,   268,    -1,   270,   271,
19146       -1,   273,    -1,   275,   276,   277,   278,   279,   280,    -1,
19147      282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,
19148      292,   293,    -1,   295,    -1,   297,   298,   299,   300,   301,
19149      302,   303,   304,   305,   306,    -1,   308,   309,   310,   311,
19150      312,   313,   314,   315,    -1,   317,   318,   319,   320,   321,
19151      322,   323,   324,   325,   326,   327,   328,   329,   330,   331,
19152       -1,   333,   334,   335,   336,   337,   338,   339,   340,   341,
19153      342,   343,   344,   345,    -1,   347,   348,    -1,   350,   351,
19154      352,   353,   354,   355,   356,   357,   358,   359,   360,   361,
19155      362,   363,   364,    -1,   366,   367,   368,   369,   370,    -1,
19156      372,   373,   374,   375,   376,    -1,   378,   379,   380,   381,
19157       -1,   383,   384,   385,   386,   387,   388,   389,   390,   391,
19158      392,   393,   394,   395,   396,   397,    -1,   399,   400,    -1,
19159      402,    -1,   404,   405,   406,   407,   408,    -1,   410,   411,
19160      412,    -1,    -1,   415,   416,   417,   418,   419,    -1,   421,
19161      422,   423,   424,   425,   426,   427,   428,    -1,    -1,   431,
19162      432,   433,   434,   435,    -1,    -1,   438,   439,   440,   441,
19163      442,   443,   444,    -1,   446,    -1,   448,   449,   450,   451,
19164       -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,   461,
19165      462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
19166      472,   473,   474,   475,   476,    -1,    -1,    -1,    -1,    -1,
19167       -1,    -1,    -1,   485,   486,   487,   488,   489,   490,   491,
19168      492,   493,     3,    -1,    -1,    -1,    -1,    -1,    -1,    10,
19169       -1,    -1,    -1,    -1,    -1,    -1,    17,    18,    19,    20,
19170       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
19171       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
19172       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
19173       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
19174       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
19175       -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
19176       81,    82,    83,    84,    85,    -1,    87,    88,    89,    -1,
19177       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
19178      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
19179      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
19180      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
19181      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
19182      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
19183      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
19184       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
19185       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
19186       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
19187       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
19188      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
19189      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
19190       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
19191       -1,   232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,
19192      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19193      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
19194      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
19195      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
19196       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
19197      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
19198      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
19199      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
19200      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
19201      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
19202      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
19203      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
19204      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
19205       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
19206      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
19207      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
19208       -1,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
19209      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
19210      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
19211      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
19212      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
19213      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
19214      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
19215      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
19216       -1,    -1,    -1,    -1,   485,   486,   487,   488,   489,   490,
19217      491,   492,   493,    20,    21,    22,    23,    24,    25,    26,
19218       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
19219       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
19220       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
19221       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
19222       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
19223       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
19224       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
19225       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
19226      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
19227      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
19228      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
19229      137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
19230      147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
19231      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
19232      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
19233      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
19234      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
19235      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
19236      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
19237      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
19238      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
19239      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
19240      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
19241      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
19242      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
19243      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
19244      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
19245      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
19246      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
19247      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
19248      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
19249      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
19250      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
19251      357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
19252      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
19253      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
19254      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
19255      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
19256      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
19257      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
19258      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
19259      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
19260      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
19261      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
19262      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
19263        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19264       -1,    -1,    -1,   490,    -1,    -1,    -1,    20,    21,    22,
19265       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
19266       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
19267       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
19268       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
19269       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
19270       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
19271       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
19272       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
19273       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
19274      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
19275      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
19276       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
19277      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
19278      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
19279      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
19280       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
19281      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
19282      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
19283      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
19284      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
19285      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
19286       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
19287      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
19288      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
19289      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
19290      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
19291      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
19292      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
19293      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
19294      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
19295      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
19296      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
19297      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
19298      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
19299      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
19300      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
19301      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
19302      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
19303       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
19304       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
19305      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
19306      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
19307      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
19308       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
19309      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
19310      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
19311       -1,    -1,    -1,    -1,    -1,    -1,    -1,   490,    -1,    -1,
19312       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
19313       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19314       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
19315       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
19316       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
19317       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    -1,
19318       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
19319       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    -1,
19320       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19321      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
19322      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
19323      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
19324      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
19325      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
19326       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
19327       -1,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
19328      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
19329      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
19330      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
19331      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
19332       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
19333      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
19334       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
19335      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
19336      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
19337       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
19338      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
19339       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
19340      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
19341      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
19342      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
19343      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
19344      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
19345       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
19346      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
19347      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
19348      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
19349      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
19350      399,   400,    -1,   402,    -1,   404,   405,   406,   407,   408,
19351       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
19352      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
19353       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
19354      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
19355      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
19356      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
19357      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
19358       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19359       -1,   490,    -1,    -1,    -1,    20,    21,    22,    23,    24,
19360       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
19361       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
19362       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
19363       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
19364       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
19365       75,    -1,    -1,    78,    -1,    80,    81,    82,    83,    84,
19366       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
19367       95,    96,    -1,    98,    99,   100,   101,    -1,    -1,    -1,
19368      105,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
19369      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
19370      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
19371      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
19372      145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
19373      155,   156,   157,    -1,    -1,   160,    -1,   162,   163,   164,
19374      165,   166,    -1,   168,    -1,   170,   171,    -1,   173,   174,
19375      175,   176,   177,    -1,   179,    -1,    -1,    -1,   183,   184,
19376       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
19377      195,   196,   197,   198,   199,   200,   201,   202,   203,    -1,
19378      205,   206,   207,   208,   209,   210,   211,   212,   213,    -1,
19379      215,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
19380      225,   226,    -1,    -1,   229,    -1,   231,   232,   233,    -1,
19381      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
19382      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
19383      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
19384      265,    -1,    -1,   268,    -1,   270,   271,   272,   273,    -1,
19385       -1,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
19386       -1,   286,   287,   288,    -1,   290,   291,   292,   293,   294,
19387      295,   296,    -1,   298,   299,   300,   301,   302,   303,   304,
19388      305,   306,    -1,   308,   309,    -1,   311,    -1,   313,   314,
19389      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
19390      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
19391      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
19392      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
19393       -1,   356,   357,   358,   359,   360,   361,   362,   363,   364,
19394       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
19395      375,   376,   377,   378,   379,   380,   381,    -1,   383,   384,
19396      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
19397      395,    -1,   397,    -1,   399,   400,    -1,   402,   403,   404,
19398      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
19399      415,   416,    -1,   418,    -1,    -1,   421,   422,   423,   424,
19400      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
19401      435,    -1,    -1,   438,   439,   440,   441,   442,    -1,   444,
19402      445,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
19403       -1,    -1,   457,   458,   459,   460,   461,   462,    -1,    -1,
19404        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
19405      475,   476,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
19406       23,    24,    25,    26,    27,   490,    29,    30,    31,    -1,
19407       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
19408       43,    44,    45,    46,    47,    48,    49,    50,    -1,    52,
19409       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
19410       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
19411       73,    74,    75,    -1,    -1,    78,    -1,    80,    81,    82,
19412       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
19413       93,    94,    95,    96,    -1,    98,    99,   100,   101,    -1,
19414       -1,    -1,   105,    -1,    -1,    -1,   109,   110,   111,   112,
19415      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
19416      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
19417       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
19418      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
19419       -1,   154,   155,   156,   157,    -1,    -1,   160,    -1,   162,
19420      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
19421      173,   174,   175,   176,   177,    -1,   179,    -1,    -1,    -1,
19422      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
19423      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
19424      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
19425      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
19426      223,   224,   225,   226,    -1,    -1,   229,    -1,   231,   232,
19427      233,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
19428      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
19429      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
19430      263,   264,   265,    -1,    -1,   268,    -1,   270,   271,   272,
19431      273,    -1,    -1,   276,   277,   278,   279,   280,    -1,   282,
19432      283,    -1,    -1,   286,   287,   288,    -1,   290,   291,   292,
19433      293,   294,   295,   296,    -1,   298,   299,   300,   301,   302,
19434      303,   304,   305,   306,    -1,   308,   309,    -1,   311,    -1,
19435      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
19436      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
19437      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
19438      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
19439      353,   354,    -1,   356,   357,   358,   359,   360,   361,   362,
19440      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
19441      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
19442      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
19443      393,   394,   395,    -1,   397,    -1,   399,   400,    -1,   402,
19444      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
19445       -1,    -1,   415,   416,    -1,   418,    -1,    -1,   421,   422,
19446      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
19447      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
19448       -1,   444,   445,   446,   447,   448,   449,   450,   451,    -1,
19449       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
19450       -1,    -1,     3,    -1,     5,     6,    -1,    -1,    -1,    -1,
19451       11,   474,   475,   476,    -1,    -1,    -1,    -1,    -1,    20,
19452       21,    22,    23,    24,    25,    26,    27,   490,    29,    30,
19453       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
19454       41,    -1,    43,    44,    45,    46,    47,    48,    49,    50,
19455       51,    52,    53,    54,    55,    -1,    57,    58,    59,    60,
19456       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
19457       -1,    72,    73,    74,    75,    76,    -1,    78,    -1,    80,
19458       81,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
19459       91,    92,    93,    94,    95,    96,    -1,    98,    99,   100,
19460      101,    -1,    -1,    -1,   105,    -1,    -1,    -1,   109,   110,
19461      111,   112,   113,   114,   115,   116,   117,   118,   119,    -1,
19462      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
19463      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
19464      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
19465      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
19466       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
19467      171,    -1,   173,   174,   175,   176,   177,    -1,   179,   180,
19468       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
19469      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
19470      201,   202,   203,    -1,   205,   206,   207,   208,   209,   210,
19471      211,   212,   213,    -1,   215,    -1,   217,   218,   219,   220,
19472      221,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
19473      231,   232,   233,    -1,   235,   236,   237,    -1,    -1,   240,
19474      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19475      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
19476      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
19477      271,   272,   273,    -1,   275,   276,   277,   278,   279,   280,
19478       -1,   282,   283,   284,    -1,   286,   287,   288,    -1,    -1,
19479      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
19480      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
19481      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
19482      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
19483      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
19484      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
19485      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
19486      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
19487       -1,   372,   373,   374,   375,   376,   377,   378,   379,   380,
19488      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
19489      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
19490       -1,   402,   403,   404,   405,   406,   407,   408,    -1,   410,
19491      411,   412,    -1,    -1,   415,   416,   417,   418,   419,   420,
19492      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
19493      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
19494      441,   442,   443,   444,    -1,   446,   447,   448,   449,   450,
19495      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
19496      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
19497      471,   472,   473,   474,   475,   476,     3,    -1,     5,     6,
19498       -1,    -1,    -1,    -1,    11,    -1,    -1,   488,   489,    -1,
19499       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
19500       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
19501       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
19502       47,    48,    49,    50,    51,    52,    53,    54,    55,    -1,
19503       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
19504       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
19505       -1,    78,    -1,    80,    81,    82,    83,    84,    85,    86,
19506       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
19507       -1,    98,    99,   100,   101,    -1,    -1,    -1,   105,    -1,
19508       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
19509      117,   118,   119,    -1,   121,   122,   123,   124,   125,   126,
19510      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
19511      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
19512      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
19513      157,   158,   159,   160,    -1,   162,   163,   164,   165,   166,
19514       -1,   168,    -1,   170,   171,    -1,   173,   174,   175,   176,
19515      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
19516      187,   188,   189,   190,   191,   192,   193,   194,   195,    -1,
19517      197,   198,   199,   200,   201,   202,   203,    -1,   205,   206,
19518      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
19519      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
19520       -1,    -1,   229,   230,   231,   232,   233,    -1,   235,   236,
19521      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
19522      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
19523      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
19524      267,   268,    -1,   270,   271,   272,   273,    -1,   275,   276,
19525      277,   278,   279,   280,    -1,   282,   283,   284,    -1,   286,
19526      287,   288,    -1,    -1,   291,   292,   293,   294,   295,   296,
19527      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
19528       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
19529      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
19530      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
19531      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
19532      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
19533      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
19534      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
19535      377,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
19536      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
19537      397,    -1,   399,   400,    -1,   402,   403,   404,   405,   406,
19538      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
19539      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
19540      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
19541       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
19542      447,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
19543      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
19544      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
19545        3,    -1,     5,     6,    -1,    -1,    -1,    -1,    11,    -1,
19546       -1,   488,   489,    -1,    -1,    -1,    -1,    20,    21,    22,
19547       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
19548       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
19549       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
19550       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
19551       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
19552       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
19553       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
19554       93,    94,    95,    96,    -1,    98,    99,   100,   101,    -1,
19555       -1,    -1,   105,    -1,    -1,    -1,   109,   110,   111,   112,
19556      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
19557      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
19558       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
19559      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
19560      153,   154,   155,   156,   157,   158,   159,   160,    -1,   162,
19561      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
19562      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
19563      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
19564      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
19565      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
19566      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
19567      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
19568      233,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
19569      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
19570      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
19571      263,   264,   265,   266,   267,   268,    -1,   270,   271,   272,
19572      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
19573      283,   284,    -1,   286,   287,   288,    -1,    -1,   291,   292,
19574      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
19575      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
19576      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
19577      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
19578      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
19579      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
19580      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
19581      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
19582      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
19583      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
19584      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
19585      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
19586       -1,    -1,   415,   416,   417,   418,   419,   420,   421,   422,
19587      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
19588      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
19589      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
19590       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
19591      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
19592      473,   474,   475,   476,     3,    -1,    -1,     6,    -1,    -1,
19593       -1,    -1,    11,    -1,    -1,   488,   489,    -1,    -1,    -1,
19594       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
19595       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19596       39,    40,    41,    -1,    43,    44,    45,    46,    47,    48,
19597       49,    50,    51,    52,    53,    54,    55,    -1,    57,    58,
19598       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
19599       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    78,
19600       -1,    80,    81,    82,    83,    84,    85,    86,    87,    88,
19601       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    98,
19602       99,   100,   101,    -1,    -1,    -1,   105,    -1,    -1,    -1,
19603      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
19604      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
19605      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
19606      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
19607      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
19608      159,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
19609       -1,   170,   171,    -1,   173,   174,   175,   176,   177,    -1,
19610      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
19611      189,   190,   191,   192,   193,   194,   195,    -1,   197,   198,
19612      199,   200,   201,   202,   203,    -1,   205,   206,   207,   208,
19613      209,   210,   211,   212,   213,    -1,   215,    -1,   217,   218,
19614      219,   220,   221,   222,   223,   224,   225,   226,    -1,    -1,
19615      229,   230,   231,   232,   233,    -1,   235,   236,   237,    -1,
19616       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
19617      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
19618      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
19619       -1,   270,   271,   272,   273,    -1,   275,   276,   277,   278,
19620      279,   280,    -1,   282,   283,   284,    -1,   286,   287,   288,
19621       -1,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
19622      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
19623      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
19624      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
19625      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
19626      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
19627      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
19628      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
19629      369,   370,    -1,   372,   373,   374,   375,   376,   377,   378,
19630      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
19631      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
19632      399,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
19633       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
19634      419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
19635       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
19636      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
19637      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
19638      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
19639      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
19640       -1,    -1,    -1,    -1,    -1,    -1,    11,    -1,    -1,   488,
19641      489,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
19642       25,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
19643       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
19644       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
19645       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
19646       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
19647       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
19648       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
19649       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
19650       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
19651      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
19652      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
19653      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
19654      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
19655      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
19656      165,   166,    -1,   168,    -1,   170,    -1,   172,    -1,   174,
19657      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
19658       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
19659      195,   196,   197,   198,   199,   200,   201,   202,   203,    -1,
19660      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
19661      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
19662      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
19663      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
19664      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
19665      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
19666      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
19667      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
19668       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
19669      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
19670      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
19671      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
19672      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
19673      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
19674      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
19675      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
19676       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
19677      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
19678      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
19679      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
19680      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
19681      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
19682      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
19683      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
19684       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
19685       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
19686      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
19687      475,   476,     3,    -1,     5,     6,    -1,    -1,    -1,    -1,
19688       11,    -1,    -1,   488,   489,    -1,    -1,    -1,    -1,    20,
19689       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
19690       31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
19691       41,    42,    43,    44,    45,    46,    47,    48,    49,    50,
19692       51,    52,    53,    54,    55,    56,    57,    58,    59,    60,
19693       61,    62,    63,    64,    65,    66,    67,    68,    69,    70,
19694       71,    72,    73,    74,    75,    76,    77,    78,    79,    80,
19695       81,    82,    83,    84,    85,    86,    87,    88,    89,    90,
19696       91,    92,    93,    94,    95,    96,    97,    98,    99,   100,
19697      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
19698      111,   112,   113,   114,   115,   116,   117,   118,   119,   120,
19699      121,   122,   123,   124,   125,   126,   127,   128,   129,   130,
19700      131,   132,   133,   134,   135,   136,   137,   138,   139,   140,
19701      141,   142,   143,   144,   145,   146,   147,   148,   149,   150,
19702      151,   152,   153,   154,   155,   156,   157,   158,   159,   160,
19703      161,   162,   163,   164,   165,   166,   167,   168,   169,   170,
19704      171,   172,   173,   174,   175,   176,   177,   178,   179,   180,
19705      181,   182,   183,   184,   185,   186,   187,   188,   189,   190,
19706      191,   192,   193,   194,   195,   196,   197,   198,   199,   200,
19707      201,   202,   203,   204,   205,   206,   207,   208,   209,   210,
19708      211,   212,   213,   214,   215,   216,   217,   218,   219,   220,
19709      221,   222,   223,   224,   225,   226,   227,   228,   229,   230,
19710      231,   232,   233,   234,   235,   236,   237,   238,   239,   240,
19711      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19712      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
19713      261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
19714      271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
19715      281,   282,   283,   284,   285,   286,   287,   288,   289,   290,
19716      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
19717      301,   302,   303,   304,   305,   306,   307,   308,   309,   310,
19718      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
19719      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
19720      331,   332,   333,   334,   335,   336,   337,   338,   339,   340,
19721      341,   342,   343,   344,   345,   346,   347,   348,   349,   350,
19722      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
19723      361,   362,   363,   364,   365,   366,   367,   368,   369,   370,
19724      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
19725      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
19726      391,   392,   393,   394,   395,   396,   397,   398,   399,   400,
19727      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
19728      411,   412,   413,   414,   415,   416,   417,   418,   419,   420,
19729      421,   422,   423,   424,   425,   426,   427,   428,   429,   430,
19730      431,   432,   433,   434,   435,   436,   437,   438,   439,   440,
19731      441,   442,   443,   444,   445,   446,   447,   448,   449,   450,
19732      451,   452,   453,   454,   455,   456,   457,   458,   459,   460,
19733      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
19734      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
19735       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19736       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
19737       27,    28,    29,    30,    31,    32,    33,    34,    35,    36,
19738       37,    38,    39,    40,    41,    42,    43,    44,    45,    46,
19739       47,    48,    49,    50,    51,    52,    53,    54,    55,    56,
19740       57,    58,    59,    60,    61,    62,    63,    64,    65,    66,
19741       67,    68,    69,    70,    71,    72,    73,    74,    75,    76,
19742       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
19743       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
19744       97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
19745      107,   108,   109,   110,   111,   112,   113,   114,   115,   116,
19746      117,   118,   119,   120,   121,   122,   123,   124,   125,   126,
19747      127,   128,   129,   130,   131,   132,   133,   134,   135,   136,
19748      137,   138,   139,   140,   141,   142,   143,   144,   145,   146,
19749      147,   148,   149,   150,   151,   152,   153,   154,   155,   156,
19750      157,   158,   159,   160,   161,   162,   163,   164,   165,   166,
19751      167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
19752      177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
19753      187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
19754      197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
19755      207,   208,   209,   210,   211,   212,   213,   214,   215,   216,
19756      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
19757      227,   228,   229,   230,   231,   232,   233,   234,   235,   236,
19758      237,   238,   239,   240,   241,   242,   243,   244,   245,   246,
19759      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
19760      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
19761      267,   268,   269,   270,   271,   272,   273,   274,   275,   276,
19762      277,   278,   279,   280,   281,   282,   283,   284,   285,   286,
19763      287,   288,   289,   290,   291,   292,   293,   294,   295,   296,
19764      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
19765      307,   308,   309,   310,   311,   312,   313,   314,   315,   316,
19766      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
19767      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
19768      337,   338,   339,   340,   341,   342,   343,   344,   345,   346,
19769      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
19770      357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
19771      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
19772      377,   378,   379,   380,   381,   382,   383,   384,   385,   386,
19773      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
19774      397,   398,   399,   400,   401,   402,   403,   404,   405,   406,
19775      407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
19776      417,   418,   419,   420,   421,   422,   423,   424,   425,   426,
19777      427,   428,   429,   430,   431,   432,   433,   434,   435,   436,
19778      437,   438,   439,   440,   441,   442,   443,   444,   445,   446,
19779      447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
19780      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
19781      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
19782        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19783       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
19784       23,    24,    25,    26,    27,    28,    29,    30,    31,    32,
19785       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
19786       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
19787       53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
19788       63,    64,    65,    66,    67,    68,    69,    70,    71,    72,
19789       73,    74,    75,    76,    77,    78,    79,    80,    81,    82,
19790       83,    84,    85,    86,    87,    88,    89,    90,    91,    92,
19791       93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
19792      103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
19793      113,   114,   115,   116,   117,   118,   119,   120,   121,   122,
19794      123,   124,   125,   126,   127,   128,   129,   130,   131,   132,
19795      133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
19796      143,   144,   145,   146,   147,   148,   149,   150,   151,   152,
19797      153,   154,   155,   156,   157,   158,   159,   160,   161,   162,
19798      163,   164,   165,   166,   167,   168,   169,   170,   171,   172,
19799      173,   174,   175,   176,   177,   178,   179,   180,   181,   182,
19800      183,   184,   185,   186,   187,   188,   189,   190,   191,   192,
19801      193,   194,   195,   196,   197,   198,   199,   200,   201,   202,
19802      203,   204,   205,   206,   207,   208,   209,   210,   211,   212,
19803      213,   214,   215,   216,   217,   218,   219,   220,   221,   222,
19804      223,   224,   225,   226,   227,   228,   229,   230,   231,   232,
19805      233,   234,   235,   236,   237,   238,   239,   240,   241,   242,
19806      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
19807      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
19808      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
19809      273,   274,   275,   276,   277,   278,   279,   280,   281,   282,
19810      283,   284,   285,   286,   287,   288,   289,   290,   291,   292,
19811      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
19812      303,   304,   305,   306,   307,   308,   309,   310,   311,   312,
19813      313,   314,   315,   316,   317,   318,   319,   320,   321,   322,
19814      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
19815      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
19816      343,   344,   345,   346,   347,   348,   349,   350,   351,   352,
19817      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
19818      363,   364,   365,   366,   367,   368,   369,   370,   371,   372,
19819      373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
19820      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
19821      393,   394,   395,   396,   397,   398,   399,   400,   401,   402,
19822      403,   404,   405,   406,   407,   408,   409,   410,   411,   412,
19823      413,   414,   415,   416,   417,   418,   419,   420,   421,   422,
19824      423,   424,   425,   426,   427,   428,   429,   430,   431,   432,
19825      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
19826      443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
19827      453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
19828      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
19829      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
19830       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19831       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
19832       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19833       39,    40,    41,    -1,    43,    44,    45,    46,    47,    48,
19834       49,    50,    51,    52,    53,    54,    55,    -1,    57,    58,
19835       59,    60,    61,    62,    63,    -1,    65,    66,    67,    68,
19836       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    78,
19837       -1,    80,    81,    82,    83,    84,    85,    86,    87,    88,
19838       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    98,
19839       99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
19840      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
19841      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
19842      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
19843      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
19844      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
19845       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
19846       -1,   170,   171,    -1,   173,   174,   175,   176,   177,    -1,
19847      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
19848      189,   190,   191,   192,   193,   194,   195,    -1,   197,   198,
19849      199,   200,   201,   202,   203,    -1,   205,   206,   207,   208,
19850      209,   210,   211,   212,   213,    -1,   215,    -1,   217,   218,
19851      219,   220,   221,   222,   223,   224,   225,   226,    -1,    -1,
19852      229,   230,   231,   232,   233,    -1,   235,   236,   237,   238,
19853      239,   240,   241,   242,   243,   244,   245,   246,   247,   248,
19854      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
19855      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
19856       -1,   270,   271,   272,   273,    -1,   275,   276,   277,   278,
19857      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
19858       -1,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
19859      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
19860      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
19861      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
19862      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
19863      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
19864      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
19865      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
19866      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
19867      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
19868      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
19869      399,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
19870       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
19871      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
19872       -1,    -1,   431,   432,   433,   434,   435,   436,    -1,   438,
19873      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
19874      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
19875      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
19876      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
19877        5,     6,    -1,     8,     9,    -1,    11,    -1,    -1,    -1,
19878       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
19879       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
19880       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
19881       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
19882       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
19883       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
19884       75,    76,    -1,    78,    -1,    80,    81,    82,    83,    84,
19885       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
19886       95,    96,    -1,    98,    99,   100,   101,    -1,    -1,    -1,
19887      105,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
19888      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
19889      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
19890      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
19891      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
19892      155,   156,   157,   158,   159,   160,    -1,   162,   163,   164,
19893      165,   166,    -1,   168,    -1,   170,   171,    -1,   173,   174,
19894      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
19895       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
19896      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
19897      205,   206,   207,   208,   209,   210,   211,   212,   213,    -1,
19898      215,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
19899      225,   226,    -1,    -1,   229,   230,   231,   232,   233,    -1,
19900      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
19901      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
19902      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
19903      265,   266,   267,   268,    -1,   270,   271,   272,   273,   274,
19904      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
19905       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,   294,
19906      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
19907      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
19908      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
19909      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
19910      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
19911      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
19912      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
19913       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
19914      375,   376,   377,   378,   379,   380,   381,    -1,   383,   384,
19915      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
19916      395,   396,   397,    -1,   399,   400,    -1,   402,   403,   404,
19917      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
19918      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
19919      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
19920      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
19921       -1,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
19922       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
19923      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
19924      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19925       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
19926       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
19927       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
19928       41,    -1,    43,    44,    45,    46,    47,    48,    49,    50,
19929       51,    52,    53,    54,    55,    -1,    57,    58,    59,    60,
19930       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
19931       -1,    72,    73,    74,    75,    76,    -1,    78,    -1,    80,
19932       81,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
19933       91,    92,    93,    94,    95,    96,    -1,    98,    99,   100,
19934      101,    -1,    -1,   104,   105,    -1,    -1,   108,   109,   110,
19935      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
19936      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
19937      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
19938      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
19939      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
19940       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
19941      171,    -1,   173,   174,   175,   176,   177,    -1,   179,   180,
19942       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
19943      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
19944      201,   202,   203,    -1,   205,   206,   207,   208,   209,   210,
19945      211,   212,   213,    -1,   215,    -1,   217,   218,   219,   220,
19946      221,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
19947      231,   232,   233,    -1,   235,   236,   237,    -1,    -1,   240,
19948      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
19949      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
19950      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
19951      271,   272,   273,    -1,   275,   276,   277,   278,   279,   280,
19952       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
19953      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
19954      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
19955      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
19956      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
19957      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
19958      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
19959      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
19960      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
19961      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
19962      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
19963      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
19964       -1,   402,   403,   404,   405,   406,   407,   408,    -1,   410,
19965      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
19966      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
19967      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
19968      441,   442,   443,   444,    -1,   446,   447,   448,   449,   450,
19969      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
19970      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
19971      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
19972       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
19973       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
19974       27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
19975       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
19976       47,    48,    49,    50,    51,    52,    53,    54,    55,    -1,
19977       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
19978       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
19979       -1,    78,    -1,    80,    81,    82,    83,    84,    85,    86,
19980       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
19981       -1,    98,    99,   100,   101,    -1,    -1,   104,   105,    -1,
19982       -1,   108,   109,   110,   111,   112,   113,   114,   115,   116,
19983      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
19984      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
19985      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
19986      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
19987      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
19988       -1,   168,    -1,   170,   171,    -1,   173,   174,   175,   176,
19989      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
19990      187,   188,   189,   190,   191,   192,   193,   194,   195,    -1,
19991      197,   198,   199,   200,   201,   202,   203,    -1,   205,   206,
19992      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
19993      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
19994       -1,    -1,   229,   230,   231,   232,   233,    -1,   235,   236,
19995      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
19996      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
19997      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
19998      267,   268,    -1,   270,   271,   272,   273,    -1,   275,   276,
19999      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
20000      287,   288,    -1,    -1,   291,   292,   293,   294,   295,   296,
20001      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
20002       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
20003      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
20004      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
20005      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
20006      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
20007      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
20008      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
20009      377,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
20010      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
20011      397,    -1,   399,   400,    -1,   402,   403,   404,   405,   406,
20012      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
20013      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
20014      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
20015       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
20016      447,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
20017      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
20018      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
20019        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20020       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
20021       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
20022       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
20023       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
20024       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
20025       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
20026       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
20027       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
20028       93,    94,    95,    96,    -1,    98,    99,   100,   101,    -1,
20029       -1,   104,   105,    -1,    -1,   108,   109,   110,   111,   112,
20030      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
20031      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
20032       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
20033      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
20034      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
20035      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
20036      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
20037      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
20038      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
20039      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
20040      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
20041      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
20042      233,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
20043      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
20044      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
20045      263,   264,   265,   266,   267,   268,    -1,   270,   271,   272,
20046      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
20047      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
20048      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
20049      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
20050      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
20051      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
20052      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
20053      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
20054      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
20055      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
20056      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
20057      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
20058      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
20059      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
20060       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
20061      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
20062      433,   434,   435,   436,    -1,   438,   439,   440,   441,   442,
20063      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
20064       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
20065      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
20066      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
20067       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20068       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
20069       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20070       39,    40,    41,    -1,    43,    44,    45,    46,    47,    48,
20071       49,    50,    51,    52,    53,    54,    55,    -1,    57,    58,
20072       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
20073       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    78,
20074       -1,    80,    81,    82,    83,    84,    85,    86,    87,    88,
20075       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    98,
20076       99,   100,   101,    -1,    -1,   104,   105,    -1,    -1,   108,
20077      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
20078      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
20079      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
20080      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
20081      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
20082       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
20083       -1,   170,   171,    -1,   173,   174,   175,   176,   177,    -1,
20084      179,   180,   181,   182,   183,   184,    -1,   186,   187,   188,
20085      189,   190,   191,   192,   193,   194,   195,    -1,   197,   198,
20086      199,   200,   201,   202,   203,    -1,   205,   206,   207,   208,
20087      209,   210,   211,   212,   213,    -1,   215,    -1,   217,   218,
20088      219,   220,   221,   222,   223,   224,   225,   226,    -1,    -1,
20089      229,   230,   231,   232,   233,    -1,   235,   236,   237,    -1,
20090       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
20091      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
20092      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
20093       -1,   270,   271,   272,   273,    -1,   275,   276,   277,   278,
20094      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
20095       -1,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
20096      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
20097      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
20098      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
20099      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
20100      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
20101      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
20102      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
20103      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
20104      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
20105      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
20106      399,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
20107       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
20108      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
20109       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
20110      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
20111      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
20112      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
20113      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
20114       -1,     6,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20115       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
20116       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
20117       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
20118       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
20119       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
20120       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
20121       75,    76,    -1,    78,    -1,    80,    81,    82,    83,    84,
20122       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
20123       95,    96,    -1,    98,    99,   100,   101,    -1,    -1,    -1,
20124      105,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
20125      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
20126      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
20127      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
20128      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
20129      155,   156,   157,   158,   159,   160,    -1,   162,   163,   164,
20130      165,   166,    -1,   168,    -1,   170,   171,    -1,   173,   174,
20131      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
20132       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
20133      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
20134      205,   206,   207,   208,   209,   210,   211,   212,   213,    -1,
20135      215,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
20136      225,   226,    -1,    -1,   229,   230,   231,   232,   233,    -1,
20137      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
20138      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
20139      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
20140      265,   266,   267,   268,    -1,   270,   271,   272,   273,    -1,
20141      275,   276,   277,   278,   279,   280,    -1,   282,   283,   284,
20142       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,   294,
20143      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
20144      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
20145      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
20146      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
20147      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
20148      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
20149      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
20150       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
20151      375,   376,   377,   378,   379,   380,   381,    -1,   383,   384,
20152      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
20153      395,   396,   397,    -1,   399,   400,    -1,   402,   403,   404,
20154      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
20155      415,   416,   417,   418,   419,   420,   421,   422,   423,   424,
20156      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
20157      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
20158       -1,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
20159       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
20160      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
20161      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20162       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
20163       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
20164       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
20165       41,    -1,    43,    44,    45,    46,    47,    48,    49,    50,
20166       51,    52,    53,    54,    55,    -1,    57,    58,    59,    60,
20167       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
20168       -1,    72,    73,    74,    75,    76,    -1,    78,    -1,    80,
20169       81,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
20170       91,    92,    93,    94,    95,    96,    -1,    98,    99,   100,
20171      101,    -1,    -1,   104,   105,    -1,    -1,   108,   109,   110,
20172      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
20173      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
20174      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
20175      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
20176      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
20177       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
20178      171,    -1,   173,   174,   175,   176,   177,    -1,   179,   180,
20179       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
20180      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
20181      201,   202,   203,    -1,   205,   206,   207,   208,   209,   210,
20182      211,   212,   213,    -1,   215,    -1,   217,   218,   219,   220,
20183      221,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
20184      231,   232,   233,    -1,   235,   236,   237,    -1,    -1,   240,
20185      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
20186      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
20187      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
20188      271,   272,   273,    -1,   275,   276,   277,   278,   279,   280,
20189       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
20190      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
20191      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
20192      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
20193      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
20194      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
20195      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
20196      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
20197      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
20198      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
20199      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
20200      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
20201       -1,   402,   403,   404,   405,   406,   407,   408,    -1,   410,
20202      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
20203      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
20204      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
20205      441,   442,   443,   444,    -1,   446,   447,   448,   449,   450,
20206      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
20207      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
20208      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
20209       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20210       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
20211       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
20212       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
20213       47,    48,    49,    50,    51,    52,    53,    54,    55,    -1,
20214       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
20215       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
20216       -1,    78,    -1,    80,    81,    82,    83,    84,    85,    86,
20217       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
20218       -1,    98,    99,   100,   101,    -1,    -1,   104,   105,    -1,
20219       -1,   108,   109,   110,   111,   112,   113,   114,   115,   116,
20220      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
20221      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
20222      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
20223      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
20224      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
20225       -1,   168,    -1,   170,   171,    -1,   173,   174,   175,   176,
20226      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
20227      187,   188,   189,   190,   191,   192,   193,   194,   195,    -1,
20228      197,   198,   199,   200,   201,   202,   203,    -1,   205,   206,
20229      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
20230      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
20231       -1,    -1,   229,   230,   231,   232,   233,    -1,   235,   236,
20232      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
20233      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
20234      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
20235      267,   268,    -1,   270,   271,   272,   273,    -1,   275,   276,
20236      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
20237      287,   288,    -1,    -1,   291,   292,   293,   294,   295,   296,
20238      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
20239       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
20240      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
20241      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
20242      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
20243      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
20244      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
20245      367,   368,   369,   370,   371,   372,   373,   374,   375,   376,
20246      377,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
20247      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
20248      397,    -1,   399,   400,    -1,   402,   403,   404,   405,   406,
20249      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
20250      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
20251      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
20252       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
20253      447,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
20254      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
20255      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
20256        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20257       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
20258       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
20259       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
20260       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
20261       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
20262       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
20263       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
20264       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
20265       93,    94,    95,    96,    -1,    98,    99,   100,   101,    -1,
20266       -1,   104,   105,    -1,    -1,   108,   109,   110,   111,   112,
20267      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
20268      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
20269       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
20270      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
20271      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
20272      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
20273      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
20274      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
20275      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
20276      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
20277      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
20278      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
20279      233,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
20280      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
20281      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
20282      263,   264,   265,   266,   267,   268,    -1,   270,   271,   272,
20283      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
20284      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
20285      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
20286      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
20287      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
20288      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
20289      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
20290      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
20291      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
20292      363,   364,    -1,   366,   367,   368,   369,   370,   371,   372,
20293      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
20294      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
20295      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
20296      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
20297       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
20298      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
20299      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
20300      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
20301       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
20302      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
20303      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
20304       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20305       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
20306       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20307       39,    40,    41,    -1,    43,    44,    45,    46,    47,    48,
20308       49,    50,    51,    52,    53,    54,    55,    -1,    57,    58,
20309       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
20310       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    78,
20311       -1,    80,    81,    82,    83,    84,    85,    86,    87,    88,
20312       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    98,
20313       99,   100,   101,    -1,    -1,   104,   105,    -1,    -1,   108,
20314      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
20315      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
20316      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
20317      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
20318      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
20319       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
20320       -1,   170,   171,    -1,   173,   174,   175,   176,   177,    -1,
20321      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
20322      189,   190,   191,   192,   193,   194,   195,    -1,   197,   198,
20323      199,   200,   201,   202,   203,    -1,   205,   206,   207,   208,
20324      209,   210,   211,   212,   213,    -1,   215,    -1,   217,   218,
20325      219,   220,   221,   222,   223,   224,   225,   226,    -1,    -1,
20326      229,   230,   231,   232,   233,    -1,   235,   236,   237,    -1,
20327       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
20328      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
20329      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
20330       -1,   270,   271,   272,   273,    -1,   275,   276,   277,   278,
20331      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
20332       -1,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
20333      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
20334      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
20335      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
20336      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
20337      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
20338      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
20339      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
20340      369,   370,   371,   372,   373,   374,   375,   376,   377,   378,
20341      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
20342      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
20343      399,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
20344       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
20345      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
20346       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
20347      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
20348      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
20349      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
20350      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
20351       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20352       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
20353       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
20354       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
20355       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
20356       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
20357       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
20358       75,    76,    -1,    78,    -1,    80,    81,    82,    83,    84,
20359       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
20360       95,    96,    -1,    98,    99,   100,   101,    -1,    -1,   104,
20361      105,    -1,    -1,   108,   109,   110,   111,   112,   113,   114,
20362      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
20363      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
20364      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
20365      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
20366      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
20367      165,   166,    -1,   168,    -1,   170,   171,    -1,   173,   174,
20368      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
20369       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
20370      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
20371      205,   206,   207,   208,   209,   210,   211,   212,   213,    -1,
20372      215,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
20373      225,   226,    -1,    -1,   229,   230,   231,   232,   233,    -1,
20374      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
20375      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
20376      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
20377      265,   266,   267,   268,    -1,   270,   271,   272,   273,    -1,
20378      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
20379       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,   294,
20380      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
20381      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
20382      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
20383      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
20384      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
20385      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
20386      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
20387       -1,   366,   367,   368,   369,   370,   371,   372,   373,   374,
20388      375,   376,   377,   378,   379,   380,   381,    -1,   383,   384,
20389      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
20390      395,   396,   397,    -1,   399,   400,    -1,   402,   403,   404,
20391      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
20392      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
20393      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
20394      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
20395       -1,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
20396       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
20397      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
20398      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20399       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
20400       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
20401       31,    32,    33,    -1,    -1,    -1,    -1,    -1,    39,    40,
20402       41,    -1,    43,    44,    45,    46,    47,    48,    49,    50,
20403       51,    52,    53,    54,    55,    -1,    57,    58,    59,    60,
20404       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
20405       -1,    72,    73,    74,    75,    76,    -1,    78,    -1,    80,
20406       81,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
20407       91,    92,    93,    94,    95,    96,    -1,    98,    99,   100,
20408      101,    -1,    -1,    -1,   105,    -1,    -1,    -1,   109,   110,
20409      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
20410      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
20411      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
20412      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
20413      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
20414       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
20415      171,    -1,   173,   174,   175,   176,   177,    -1,   179,   180,
20416       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
20417      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
20418      201,   202,   203,    -1,   205,   206,   207,   208,   209,   210,
20419      211,   212,   213,    -1,   215,    -1,   217,   218,   219,   220,
20420      221,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
20421      231,   232,   233,    -1,   235,   236,   237,    -1,    -1,   240,
20422      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
20423      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
20424      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
20425      271,   272,   273,    -1,   275,   276,   277,   278,   279,   280,
20426       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
20427      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
20428      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
20429      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
20430      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
20431      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
20432      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
20433      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
20434      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
20435       -1,   372,   373,   374,   375,   376,   377,   378,   379,   380,
20436      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
20437      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
20438       -1,   402,   403,   404,   405,   406,   407,   408,    -1,   410,
20439      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
20440      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
20441      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
20442      441,   442,   443,   444,    -1,   446,   447,   448,   449,   450,
20443      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
20444      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
20445      471,   472,   473,   474,   475,   476,     3,    -1,    -1,     6,
20446       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20447       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
20448       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
20449       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
20450       47,    48,    49,    50,    51,    52,    53,    54,    55,    -1,
20451       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
20452       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
20453       -1,    78,    -1,    80,    81,    82,    83,    84,    85,    86,
20454       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
20455       -1,    98,    99,   100,   101,    -1,    -1,    -1,   105,    -1,
20456       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
20457      117,   118,   119,    -1,   121,   122,   123,   124,   125,   126,
20458      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
20459      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
20460      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
20461      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
20462       -1,   168,    -1,   170,   171,    -1,   173,   174,   175,   176,
20463      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
20464      187,   188,   189,   190,   191,   192,   193,   194,   195,    -1,
20465      197,   198,   199,   200,   201,   202,   203,    -1,   205,   206,
20466      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
20467      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
20468       -1,    -1,   229,   230,   231,   232,   233,    -1,   235,   236,
20469      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
20470      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
20471      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
20472      267,   268,    -1,   270,   271,   272,   273,    -1,   275,   276,
20473      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
20474      287,   288,    -1,    -1,   291,   292,   293,   294,   295,   296,
20475      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
20476       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
20477      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
20478      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
20479      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
20480      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
20481      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
20482      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
20483      377,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
20484      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
20485      397,    -1,   399,   400,    -1,   402,   403,   404,   405,   406,
20486      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
20487      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
20488      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
20489       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
20490      447,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
20491      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
20492      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
20493        3,    -1,    -1,     6,    -1,    -1,    -1,    -1,    -1,    -1,
20494       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
20495       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
20496       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
20497       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
20498       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
20499       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
20500       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
20501       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
20502       93,    94,    95,    96,    -1,    98,    99,   100,   101,    -1,
20503       -1,    -1,   105,    -1,    -1,    -1,   109,   110,   111,   112,
20504      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
20505      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
20506       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
20507      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
20508      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
20509      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
20510      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
20511      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
20512      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
20513      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
20514      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
20515      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
20516      233,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
20517      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
20518      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
20519      263,   264,   265,   266,   267,   268,    -1,   270,   271,   272,
20520      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
20521      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
20522      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
20523      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
20524      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
20525      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
20526      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
20527      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
20528      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
20529      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
20530      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
20531      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
20532      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
20533      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
20534       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
20535      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
20536      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
20537      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
20538       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
20539      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
20540      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
20541       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20542       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
20543       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20544       39,    40,    41,    -1,    43,    44,    45,    46,    47,    48,
20545       49,    50,    51,    52,    53,    54,    55,    -1,    57,    58,
20546       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
20547       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    78,
20548       -1,    80,    81,    82,    83,    84,    85,    86,    87,    88,
20549       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    98,
20550       99,   100,   101,    -1,    -1,    -1,   105,    -1,    -1,    -1,
20551      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
20552      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
20553      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
20554      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
20555      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
20556       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
20557       -1,   170,   171,    -1,   173,   174,   175,   176,   177,    -1,
20558      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
20559      189,   190,   191,   192,   193,   194,   195,    -1,   197,   198,
20560      199,   200,   201,   202,   203,    -1,   205,   206,   207,   208,
20561      209,   210,   211,   212,   213,    -1,   215,    -1,   217,   218,
20562      219,   220,   221,   222,   223,   224,   225,   226,    -1,    -1,
20563      229,   230,   231,   232,   233,    -1,   235,   236,   237,    -1,
20564       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
20565      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
20566      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
20567       -1,   270,   271,   272,   273,    -1,   275,   276,   277,   278,
20568      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
20569       -1,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
20570      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
20571      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
20572      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
20573      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
20574      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
20575      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
20576      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
20577      369,   370,    -1,   372,   373,   374,   375,   376,   377,   378,
20578      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
20579      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
20580      399,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
20581       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
20582      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
20583       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
20584      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
20585      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
20586      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
20587      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
20588       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20589       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
20590       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
20591       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
20592       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
20593       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
20594       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
20595       75,    76,    -1,    78,    -1,    80,    81,    82,    83,    84,
20596       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
20597       95,    96,    -1,    98,    99,   100,   101,    -1,    -1,    -1,
20598      105,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
20599      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
20600      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
20601      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
20602      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
20603      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
20604      165,   166,    -1,   168,    -1,   170,   171,    -1,   173,   174,
20605      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
20606       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
20607      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
20608      205,   206,   207,   208,   209,   210,   211,   212,   213,    -1,
20609      215,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
20610      225,   226,    -1,    -1,   229,   230,   231,   232,   233,    -1,
20611      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
20612      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
20613      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
20614      265,   266,   267,   268,    -1,   270,   271,   272,   273,    -1,
20615      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
20616       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,   294,
20617      295,   296,   297,   298,   299,   300,   301,   302,   303,   304,
20618      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
20619      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
20620      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
20621      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
20622      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
20623      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
20624       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
20625      375,   376,   377,   378,   379,   380,   381,    -1,   383,   384,
20626      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
20627      395,   396,   397,    -1,   399,   400,    -1,   402,   403,   404,
20628      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
20629      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
20630      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
20631      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
20632       -1,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
20633       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
20634      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
20635      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20636       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
20637       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
20638       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
20639       41,    -1,    43,    44,    45,    46,    47,    48,    49,    50,
20640       51,    52,    53,    54,    55,    -1,    57,    58,    59,    60,
20641       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
20642       -1,    72,    73,    74,    75,    76,    -1,    78,    -1,    80,
20643       81,    82,    83,    84,    85,    86,    87,    88,    89,    -1,
20644       91,    92,    93,    94,    95,    96,    -1,    98,    99,   100,
20645      101,    -1,    -1,    -1,   105,    -1,    -1,    -1,   109,   110,
20646      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
20647      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
20648      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
20649      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
20650      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
20651       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
20652      171,    -1,   173,   174,   175,   176,   177,    -1,   179,   180,
20653       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
20654      191,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
20655      201,   202,   203,    -1,   205,   206,   207,   208,   209,   210,
20656      211,   212,   213,    -1,   215,    -1,   217,   218,   219,   220,
20657      221,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
20658      231,   232,   233,    -1,   235,   236,   237,    -1,    -1,   240,
20659      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
20660      251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
20661      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
20662      271,   272,   273,    -1,   275,   276,   277,   278,   279,   280,
20663       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
20664      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
20665      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
20666      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
20667      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
20668      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
20669      341,   342,   343,   344,   345,    -1,   347,   348,   349,   350,
20670      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
20671      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
20672       -1,   372,   373,   374,   375,   376,   377,   378,   379,   380,
20673      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
20674      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
20675       -1,   402,   403,   404,   405,   406,   407,   408,    -1,   410,
20676      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
20677      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
20678      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
20679      441,   442,   443,   444,    -1,   446,   447,   448,   449,   450,
20680      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
20681      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
20682      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
20683       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20684       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
20685       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
20686       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
20687       47,    48,    49,    50,    51,    52,    53,    54,    55,    -1,
20688       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
20689       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
20690       -1,    78,    -1,    80,    81,    82,    83,    84,    85,    86,
20691       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
20692       -1,    98,    99,   100,   101,    -1,    -1,    -1,   105,    -1,
20693       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
20694      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
20695      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
20696      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
20697      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
20698      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
20699       -1,   168,    -1,   170,   171,    -1,   173,   174,   175,   176,
20700      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
20701      187,   188,   189,   190,   191,   192,   193,   194,   195,    -1,
20702      197,   198,   199,   200,   201,   202,   203,    -1,   205,   206,
20703      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
20704      217,   218,   219,   220,   221,   222,   223,   224,   225,   226,
20705       -1,    -1,   229,   230,   231,   232,   233,    -1,   235,   236,
20706      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
20707      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
20708      257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
20709      267,   268,    -1,   270,   271,   272,   273,    -1,   275,   276,
20710      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
20711      287,   288,    -1,    -1,   291,   292,   293,   294,   295,   296,
20712      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
20713       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
20714      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
20715      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
20716      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
20717      347,   348,   349,   350,   351,   352,   353,   354,   355,   356,
20718      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
20719      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
20720      377,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
20721      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
20722      397,    -1,   399,   400,    -1,   402,   403,   404,   405,   406,
20723      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
20724      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
20725      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
20726       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
20727      447,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
20728      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
20729      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
20730        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20731       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
20732       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
20733       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
20734       43,    44,    45,    46,    47,    48,    49,    50,    51,    52,
20735       53,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
20736       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
20737       73,    74,    75,    76,    -1,    78,    -1,    80,    81,    82,
20738       83,    84,    85,    86,    87,    88,    89,    -1,    91,    92,
20739       93,    94,    95,    96,    -1,    98,    99,   100,   101,    -1,
20740       -1,    -1,   105,    -1,    -1,    -1,   109,   110,   111,   112,
20741      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
20742      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
20743       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
20744      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
20745      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
20746      163,   164,   165,   166,    -1,   168,    -1,   170,   171,    -1,
20747      173,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
20748      183,   184,    -1,   186,   187,   188,   189,   190,   191,   192,
20749      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
20750      203,    -1,   205,   206,   207,   208,   209,   210,   211,   212,
20751      213,    -1,   215,    -1,   217,   218,   219,   220,   221,   222,
20752      223,   224,   225,   226,    -1,    -1,   229,   230,   231,   232,
20753      233,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
20754      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
20755      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
20756      263,   264,   265,   266,   267,   268,    -1,   270,   271,   272,
20757      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
20758      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
20759      293,   294,   295,   296,   297,   298,   299,   300,   301,   302,
20760      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
20761      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
20762      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
20763      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
20764      343,   344,   345,    -1,   347,   348,   349,   350,   351,   352,
20765      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
20766      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
20767      373,   374,   375,   376,   377,   378,   379,   380,   381,    -1,
20768      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
20769      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
20770      403,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
20771       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
20772      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
20773      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
20774      443,   444,    -1,   446,   447,   448,   449,   450,   451,    -1,
20775       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
20776      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
20777      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
20778       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20779       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
20780       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20781       39,    40,    41,    -1,    43,    44,    45,    46,    47,    48,
20782       49,    50,    51,    52,    53,    54,    55,    -1,    57,    58,
20783       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
20784       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    78,
20785       -1,    80,    81,    82,    83,    84,    85,    86,    87,    88,
20786       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    98,
20787       99,   100,   101,    -1,    -1,    -1,   105,    -1,    -1,    -1,
20788      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
20789      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
20790      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
20791      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
20792      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
20793       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
20794       -1,   170,   171,    -1,   173,   174,   175,   176,   177,    -1,
20795      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
20796      189,   190,   191,   192,   193,   194,   195,    -1,   197,   198,
20797      199,   200,   201,   202,   203,    -1,   205,   206,   207,   208,
20798      209,   210,   211,   212,   213,    -1,   215,    -1,   217,   218,
20799      219,   220,   221,   222,   223,   224,   225,   226,    -1,    -1,
20800      229,   230,   231,   232,   233,    -1,   235,   236,   237,    -1,
20801       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
20802      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
20803      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
20804       -1,   270,   271,   272,   273,    -1,   275,   276,   277,   278,
20805      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
20806       -1,    -1,   291,   292,   293,   294,   295,   296,   297,   298,
20807      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
20808      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
20809      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
20810      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
20811      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
20812      349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
20813      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
20814      369,   370,    -1,   372,   373,   374,   375,   376,   377,   378,
20815      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
20816      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
20817      399,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
20818       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
20819      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
20820       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
20821      439,   440,   441,   442,   443,   444,    -1,   446,   447,   448,
20822      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
20823      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
20824      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
20825       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20826       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
20827       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
20828       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
20829       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
20830       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
20831       -1,    66,    67,    68,    69,    70,    71,    72,    73,    74,
20832       75,    76,    -1,    -1,    79,    80,    81,    82,    83,    84,
20833       85,    -1,    87,    88,    89,    90,    91,    92,    93,    94,
20834       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
20835       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
20836      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
20837      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
20838      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
20839      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
20840      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
20841      165,   166,    -1,   168,   169,   170,    -1,    -1,    -1,   174,
20842      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
20843       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
20844      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
20845      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
20846      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
20847      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
20848      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
20849      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
20850      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
20851      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
20852      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
20853       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
20854      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
20855      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
20856      315,   316,   317,   318,   319,   320,   321,   322,   323,   324,
20857      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
20858      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
20859      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
20860      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
20861       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
20862      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
20863      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
20864      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
20865      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
20866      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
20867      425,   426,   427,   428,    -1,   430,   431,   432,   433,   434,
20868      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
20869       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
20870       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
20871      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
20872      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20873       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
20874       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
20875       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
20876       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
20877       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
20878       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
20879       71,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
20880       81,    82,    83,    84,    85,    -1,    87,    88,    89,    90,
20881       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
20882      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
20883      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
20884      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
20885      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
20886      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
20887      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
20888       -1,   162,   163,   164,   165,   166,    -1,   168,   169,   170,
20889       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
20890       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
20891       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
20892      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
20893      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
20894       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
20895       -1,   232,   233,    -1,   235,   236,   237,    -1,    -1,   240,
20896      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
20897      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
20898      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
20899      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
20900       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
20901      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
20902      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
20903      311,   312,   313,   314,   315,   316,   317,   318,   319,   320,
20904      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
20905      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
20906      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
20907      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
20908      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
20909       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
20910      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
20911      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
20912       -1,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
20913      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
20914      421,   422,   423,   424,   425,   426,   427,   428,    -1,   430,
20915      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
20916      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
20917      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
20918      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
20919      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
20920       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20921       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
20922       27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
20923       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
20924       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
20925       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
20926       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
20927       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
20928       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
20929       97,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
20930       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
20931      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
20932      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
20933      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
20934      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
20935      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
20936       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
20937      177,   178,   179,   180,    -1,   182,   183,   184,    -1,   186,
20938      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
20939      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
20940      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
20941      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
20942       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
20943      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
20944      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
20945       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
20946      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
20947      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
20948      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
20949      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
20950       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
20951      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
20952      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
20953      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
20954      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
20955      357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
20956      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
20957       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
20958      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
20959      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
20960      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
20961      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
20962      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
20963       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
20964       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
20965      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
20966      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
20967        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
20968       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
20969       23,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
20970       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
20971       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
20972       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
20973       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
20974       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
20975       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
20976       93,    94,    95,    96,    97,    -1,    99,   100,   101,    -1,
20977       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
20978      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
20979      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
20980       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
20981      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
20982      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
20983      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
20984       -1,   174,   175,   176,   177,   178,   179,   180,    -1,   182,
20985      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
20986      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
20987      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
20988      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
20989      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
20990       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
20991      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
20992      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
20993      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
20994      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
20995      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
20996      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
20997      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
20998      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
20999      323,   324,   325,   326,   327,   328,   329,   330,   331,   332,
21000      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
21001      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
21002      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
21003      363,   364,   365,   366,   367,   368,   369,   370,    -1,   372,
21004      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
21005      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
21006      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
21007       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
21008       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
21009      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
21010      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
21011      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
21012       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
21013      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
21014      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
21015       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21016       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
21017       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21018       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
21019       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
21020       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
21021       69,    70,    71,    72,    73,    74,    75,    76,    -1,    -1,
21022       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
21023       89,    90,    91,    92,    93,    94,    95,    96,    -1,    -1,
21024       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21025      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
21026      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
21027      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
21028      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
21029      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
21030       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
21031      169,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
21032      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
21033      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
21034      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
21035      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
21036       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
21037      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
21038       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
21039      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
21040      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
21041       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
21042      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
21043       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
21044      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
21045      309,   310,   311,   312,   313,   314,   315,   316,   317,   318,
21046      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
21047      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
21048      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
21049       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
21050      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
21051      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
21052      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
21053      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
21054      399,   400,    -1,   402,    -1,   404,   405,   406,   407,   408,
21055       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
21056      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
21057       -1,   430,   431,   432,   433,   434,   435,    -1,    -1,   438,
21058      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
21059      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
21060      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
21061      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
21062       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21063       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
21064       25,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
21065       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
21066       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
21067       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
21068       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
21069       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
21070       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
21071       95,    96,    97,    -1,    99,   100,   101,    -1,    -1,    -1,
21072       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
21073      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
21074      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
21075      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
21076      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
21077      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
21078      165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,
21079      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
21080       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
21081      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
21082      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
21083      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
21084      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
21085      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
21086      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
21087      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
21088      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
21089      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
21090       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
21091      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
21092      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
21093      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
21094      325,   326,   327,   328,   329,   330,   331,   332,   333,   334,
21095      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
21096      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
21097      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
21098      365,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
21099      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
21100      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
21101      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
21102      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
21103      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
21104      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
21105      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
21106       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
21107       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
21108      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
21109      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21110       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
21111       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
21112       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
21113       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
21114       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
21115       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
21116       -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
21117       81,    82,    83,    84,    85,    -1,    87,    88,    89,    -1,
21118       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
21119      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
21120      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
21121      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
21122      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
21123      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
21124      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
21125       -1,   162,   163,   164,   165,   166,    -1,   168,   169,   170,
21126       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
21127       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
21128       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
21129      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
21130      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
21131       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
21132       -1,   232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,
21133      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
21134      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
21135      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
21136      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
21137       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
21138      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
21139      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
21140      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
21141      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
21142      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
21143      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
21144      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
21145      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
21146       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
21147      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
21148      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
21149      401,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
21150      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
21151      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
21152      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
21153      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
21154      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
21155      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
21156      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
21157       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21158       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
21159       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
21160       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
21161       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
21162       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
21163       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
21164       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
21165       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
21166       97,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
21167       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
21168      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
21169      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
21170      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
21171      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
21172      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
21173       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
21174      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
21175      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
21176      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
21177      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
21178      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
21179       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
21180      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
21181      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
21182       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
21183      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
21184      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
21185      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
21186      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
21187       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
21188      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
21189      327,   328,   329,   330,   331,   332,   333,   334,   335,   336,
21190      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
21191      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
21192      357,   358,   359,   360,   361,   362,   363,   364,   365,   366,
21193      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
21194       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
21195      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
21196      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
21197      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
21198      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
21199      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
21200       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
21201       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
21202      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
21203      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
21204        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21205       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
21206       23,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
21207       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
21208       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
21209       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
21210       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
21211       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
21212       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
21213       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
21214       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
21215      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
21216      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
21217       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
21218      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
21219      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
21220      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
21221       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
21222      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
21223      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
21224      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
21225      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
21226      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
21227       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
21228      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
21229      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
21230      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
21231      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
21232      283,    -1,   285,   286,   287,   288,    -1,    -1,   291,   292,
21233      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
21234      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
21235      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
21236      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
21237      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
21238      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
21239      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
21240      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
21241      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
21242      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
21243      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
21244       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
21245       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
21246      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
21247      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
21248      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
21249       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
21250      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
21251      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
21252       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21253       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
21254       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21255       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
21256       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
21257       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
21258       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    -1,
21259       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
21260       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    -1,
21261       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21262      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
21263      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
21264      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
21265      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
21266      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
21267       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
21268       -1,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
21269      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
21270      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
21271      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
21272      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
21273       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
21274      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
21275       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
21276      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
21277      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
21278       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
21279      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
21280       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
21281      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
21282      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
21283      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
21284      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
21285      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
21286       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
21287      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
21288      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
21289      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
21290      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
21291      399,   400,    -1,   402,    -1,   404,   405,   406,   407,   408,
21292       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
21293      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
21294       -1,    -1,   431,   432,   433,   434,   435,   436,    -1,   438,
21295      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
21296      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
21297      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
21298      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
21299       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21300       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
21301       25,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1,
21302       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
21303       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
21304       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
21305       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
21306       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
21307       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
21308       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
21309       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
21310      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
21311      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
21312      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
21313      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
21314      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
21315      165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,
21316      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
21317       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
21318      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
21319      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
21320      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
21321      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
21322      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
21323      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
21324      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
21325      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
21326      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
21327       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
21328      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
21329      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
21330      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
21331      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
21332      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
21333      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
21334      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
21335       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
21336      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
21337      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
21338      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
21339      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
21340      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
21341      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
21342      435,   436,    -1,   438,   439,   440,   441,   442,   443,   444,
21343       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
21344       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
21345      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
21346      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21347       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
21348       21,    22,    23,    24,    25,    26,    27,    28,    29,    30,
21349       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
21350       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
21351       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
21352       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
21353       -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
21354       81,    82,    83,    84,    85,    -1,    87,    88,    89,    -1,
21355       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
21356      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
21357      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
21358      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
21359      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
21360      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
21361      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
21362       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
21363       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
21364       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
21365       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
21366      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
21367      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
21368       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
21369       -1,   232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,
21370      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
21371      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
21372      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
21373      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
21374       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
21375      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
21376      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
21377      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
21378      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
21379      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
21380      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
21381      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
21382      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
21383       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
21384      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
21385      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
21386       -1,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
21387      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
21388      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
21389      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
21390      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
21391      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
21392      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
21393      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
21394       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21395       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
21396       27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
21397       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
21398       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
21399       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
21400       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
21401       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
21402       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
21403       -1,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
21404       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
21405      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
21406      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
21407      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
21408      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
21409      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
21410       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
21411      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
21412      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
21413      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
21414      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
21415      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
21416       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
21417      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
21418      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
21419       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
21420      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
21421      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
21422      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
21423      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
21424       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
21425      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
21426      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
21427      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
21428      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
21429      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
21430      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
21431       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
21432      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
21433      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
21434      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
21435      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
21436      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
21437       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
21438       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
21439      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
21440      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
21441        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21442       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
21443       23,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
21444       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
21445       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
21446       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
21447       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
21448       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
21449       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
21450       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
21451       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
21452      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
21453      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
21454       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
21455      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
21456      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
21457      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
21458       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
21459      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
21460      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
21461      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
21462      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
21463      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
21464       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
21465      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
21466      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
21467      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
21468      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
21469      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
21470      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
21471      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
21472      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
21473      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
21474      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
21475      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
21476      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
21477      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
21478      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
21479      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
21480      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
21481       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
21482       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
21483      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
21484      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
21485      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
21486       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
21487      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
21488      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
21489       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21490       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
21491       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21492       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
21493       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
21494       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
21495       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    -1,
21496       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
21497       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    -1,
21498       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21499      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
21500      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
21501      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
21502      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
21503      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
21504       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
21505       -1,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
21506      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
21507      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
21508      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
21509      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
21510       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
21511      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
21512       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
21513      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
21514      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
21515       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
21516      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
21517       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
21518      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
21519      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
21520      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
21521      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
21522      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
21523       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
21524      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
21525      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
21526      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
21527      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
21528      399,   400,    -1,   402,    -1,   404,   405,   406,   407,   408,
21529       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
21530      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
21531       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
21532      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
21533      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
21534      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
21535      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
21536       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21537       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
21538       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
21539       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
21540       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
21541       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
21542       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
21543       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
21544       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
21545       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
21546       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
21547      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
21548      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
21549      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
21550      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
21551      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
21552      165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,
21553      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
21554       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
21555      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
21556      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
21557      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
21558      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
21559      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
21560      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
21561      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
21562      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
21563      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
21564      285,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
21565      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
21566      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
21567      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
21568      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
21569      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
21570      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
21571      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
21572       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
21573      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
21574      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
21575      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
21576      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
21577      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
21578      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
21579      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
21580       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
21581       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
21582      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
21583      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21584       -1,    12,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
21585       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
21586       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
21587       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
21588       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
21589       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
21590       -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
21591       81,    82,    83,    84,    85,    -1,    87,    88,    89,    -1,
21592       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
21593      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
21594      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
21595      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
21596      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
21597      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
21598      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
21599       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
21600       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
21601       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
21602       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
21603      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
21604      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
21605       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
21606       -1,   232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,
21607      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
21608      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
21609      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
21610      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
21611       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
21612      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
21613      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
21614      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
21615      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
21616      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
21617      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
21618      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
21619      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
21620       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
21621      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
21622      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
21623       -1,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
21624      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
21625      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
21626      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
21627      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
21628      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
21629      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
21630      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
21631       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21632       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
21633       27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
21634       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
21635       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
21636       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
21637       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
21638       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
21639       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
21640       -1,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
21641       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
21642      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
21643      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
21644      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
21645      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
21646      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
21647       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
21648      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
21649      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
21650      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
21651      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
21652      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
21653       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
21654      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
21655      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
21656       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
21657      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
21658      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
21659      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
21660      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
21661       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
21662      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
21663      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
21664      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
21665      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
21666      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
21667      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
21668       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
21669      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
21670      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
21671      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
21672      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
21673      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
21674       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
21675       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
21676      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
21677      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
21678        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21679       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
21680       23,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
21681       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
21682       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
21683       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
21684       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
21685       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
21686       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
21687       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
21688       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
21689      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
21690      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
21691       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
21692      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
21693      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
21694      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
21695       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
21696      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
21697      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
21698      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
21699      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
21700      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
21701       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
21702      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
21703      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
21704      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
21705      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
21706      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
21707      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
21708      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
21709      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
21710      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
21711      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
21712      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
21713      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
21714      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
21715      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
21716      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
21717      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
21718       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
21719       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
21720      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
21721      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
21722      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
21723       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
21724      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
21725      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
21726       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21727       -1,    20,    21,    22,    23,    24,    25,    26,    27,    28,
21728       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21729       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
21730       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
21731       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
21732       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    -1,
21733       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
21734       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    -1,
21735       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21736      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
21737      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
21738      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
21739      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
21740      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
21741       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
21742       -1,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
21743      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
21744      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
21745      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
21746      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
21747       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
21748      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
21749       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
21750      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
21751      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
21752       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
21753      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
21754       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
21755      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
21756      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
21757      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
21758      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
21759      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
21760       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
21761      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
21762      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
21763      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
21764      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
21765      399,   400,    -1,   402,    -1,   404,   405,   406,   407,   408,
21766       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
21767      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
21768       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
21769      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
21770      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
21771      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
21772      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
21773       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21774       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
21775       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
21776       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
21777       45,    46,    47,    48,    49,    50,    51,    52,    -1,    54,
21778       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
21779       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
21780       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
21781       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
21782       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
21783       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
21784      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
21785      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
21786      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
21787      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
21788      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
21789      165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,
21790      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
21791       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
21792      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
21793      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
21794      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
21795      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
21796      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
21797      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
21798      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
21799      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
21800      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
21801       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
21802      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
21803      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
21804      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
21805      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
21806      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
21807      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
21808      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
21809       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
21810      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
21811      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
21812      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
21813      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
21814      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
21815      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
21816      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
21817       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
21818       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
21819      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
21820      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21821       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
21822       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
21823       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
21824       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
21825       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
21826       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
21827       -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
21828       81,    82,    83,    84,    85,    -1,    87,    88,    89,    -1,
21829       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
21830      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
21831      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
21832      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
21833      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
21834      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
21835      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
21836       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
21837       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
21838       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
21839       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
21840      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
21841      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
21842       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
21843       -1,   232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,
21844      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
21845      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
21846      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
21847      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
21848       -1,   282,   283,    -1,   285,   286,   287,   288,    -1,    -1,
21849      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
21850      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
21851      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
21852      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
21853      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
21854      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
21855      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
21856      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
21857       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
21858      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
21859      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
21860       -1,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
21861      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
21862      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
21863      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
21864      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
21865      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
21866      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
21867      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
21868       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21869       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
21870       27,    28,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
21871       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
21872       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
21873       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
21874       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
21875       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
21876       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
21877       -1,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
21878       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
21879      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
21880      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
21881      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
21882      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
21883      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
21884       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
21885      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
21886      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
21887      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
21888      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
21889      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
21890       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
21891      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
21892      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
21893       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
21894      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
21895      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
21896      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
21897      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
21898       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
21899      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
21900      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
21901      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
21902      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
21903      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
21904      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
21905       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
21906      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
21907      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
21908      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
21909      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
21910      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
21911       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
21912       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
21913      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
21914      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
21915        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21916       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
21917       23,    24,    25,    26,    27,    28,    29,    30,    31,    -1,
21918       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
21919       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
21920       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
21921       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
21922       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
21923       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
21924       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
21925       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
21926      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
21927      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
21928       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
21929      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
21930      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
21931      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
21932       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
21933      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
21934      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
21935      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
21936      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
21937      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
21938       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
21939      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
21940      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
21941      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
21942      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
21943      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
21944      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
21945      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
21946      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
21947      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
21948      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
21949      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
21950      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
21951      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
21952      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
21953      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
21954      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
21955       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
21956       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
21957      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
21958      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
21959      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
21960       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
21961      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
21962      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
21963       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21964       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
21965       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21966       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
21967       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
21968       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
21969       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    -1,
21970       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
21971       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    -1,
21972       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
21973      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
21974      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
21975      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
21976      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
21977      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
21978       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
21979       -1,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
21980      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
21981      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
21982      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
21983      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
21984       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
21985      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
21986       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
21987      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
21988      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
21989       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
21990      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
21991       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
21992      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
21993      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
21994      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
21995      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
21996      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
21997       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
21998      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
21999      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
22000      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
22001      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
22002      399,   400,   401,   402,    -1,   404,   405,   406,   407,   408,
22003       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
22004      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
22005       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
22006      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
22007      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
22008      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
22009      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
22010       -1,     6,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22011       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
22012       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
22013       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
22014       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
22015       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
22016       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
22017       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
22018       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
22019       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
22020       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
22021      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
22022      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
22023      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
22024      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
22025      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
22026      165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,
22027      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
22028       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
22029      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
22030      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
22031      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
22032      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
22033      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
22034      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
22035      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
22036      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
22037      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
22038       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
22039      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
22040      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
22041      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
22042      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
22043      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
22044      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
22045      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
22046       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
22047      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
22048      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
22049      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
22050      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
22051      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
22052      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
22053      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
22054       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
22055       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
22056      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
22057      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22058       11,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
22059       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
22060       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
22061       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
22062       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
22063       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
22064       -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
22065       81,    82,    83,    84,    85,    -1,    87,    88,    89,    -1,
22066       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
22067      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
22068      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
22069      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
22070      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
22071      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
22072      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
22073       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
22074       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
22075       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
22076       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
22077      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
22078      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
22079       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
22080       -1,   232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,
22081      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
22082      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
22083      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
22084      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
22085       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
22086      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
22087      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
22088      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
22089      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
22090      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
22091      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
22092      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
22093      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
22094       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
22095      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
22096      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
22097       -1,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
22098      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
22099      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
22100      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
22101      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
22102      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
22103      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
22104      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
22105       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22106       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
22107       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
22108       37,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
22109       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
22110       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
22111       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
22112       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
22113       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
22114       -1,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
22115       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
22116      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
22117      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
22118      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
22119      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
22120      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
22121       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
22122      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
22123      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
22124      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
22125      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
22126      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
22127       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
22128      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
22129      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
22130       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
22131      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
22132      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
22133      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
22134      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
22135       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
22136      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
22137      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
22138      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
22139      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
22140      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
22141      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
22142       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
22143      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
22144      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
22145      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
22146      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
22147      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
22148       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
22149       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
22150      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
22151      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
22152        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22153       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
22154       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
22155       -1,    -1,    -1,    -1,    37,    -1,    39,    40,    41,    -1,
22156       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
22157       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
22158       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
22159       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
22160       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
22161       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
22162       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
22163      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
22164      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
22165       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
22166      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
22167      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
22168      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
22169       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
22170      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
22171      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
22172      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
22173      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
22174      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
22175       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
22176      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
22177      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
22178      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
22179      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
22180      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
22181      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
22182      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
22183      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
22184      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
22185      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
22186      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
22187      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
22188      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
22189      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
22190      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
22191      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
22192       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
22193       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
22194      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
22195      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
22196      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
22197       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
22198      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
22199      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
22200       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22201       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
22202       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22203       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
22204       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
22205       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
22206       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    -1,
22207       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
22208       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    -1,
22209       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22210      109,   110,   111,   112,   113,   114,   115,   116,   117,   118,
22211      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
22212      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
22213      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
22214      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
22215       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
22216       -1,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
22217      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
22218      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
22219      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
22220      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
22221       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
22222      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
22223       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
22224      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
22225      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
22226       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
22227      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
22228       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
22229      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
22230      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
22231      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
22232      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
22233      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
22234       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
22235      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
22236      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
22237      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
22238      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
22239      399,   400,    -1,   402,    -1,   404,   405,   406,   407,   408,
22240       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
22241      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
22242       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
22243      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
22244      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
22245      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
22246      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
22247       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22248       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
22249       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
22250       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
22251       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
22252       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
22253       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
22254       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
22255       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
22256       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
22257       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
22258      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
22259      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
22260      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
22261      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
22262      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
22263      165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,
22264      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
22265       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
22266      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
22267      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
22268      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
22269      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
22270      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
22271      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
22272      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
22273      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
22274      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
22275       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
22276      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
22277      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
22278      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
22279      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
22280      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
22281      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
22282      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
22283       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
22284      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
22285      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
22286      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
22287      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
22288      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
22289      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
22290      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
22291       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
22292       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
22293      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
22294      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22295       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
22296       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
22297       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
22298       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
22299       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
22300       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
22301       -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
22302       81,    82,    83,    84,    85,    -1,    87,    88,    89,    -1,
22303       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
22304      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
22305      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
22306      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
22307      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
22308      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
22309      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
22310       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
22311       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
22312       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
22313       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
22314      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
22315      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
22316       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
22317       -1,   232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,
22318      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
22319      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
22320      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
22321      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
22322       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
22323      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
22324      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
22325      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
22326      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
22327      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
22328      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
22329      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
22330      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
22331       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
22332      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
22333      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
22334       -1,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
22335      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
22336      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
22337      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
22338      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
22339      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
22340      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
22341      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
22342       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22343       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
22344       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
22345       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
22346       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
22347       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
22348       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
22349       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
22350       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
22351       -1,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
22352       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
22353      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
22354      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
22355      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
22356      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
22357      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
22358       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
22359      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
22360      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
22361      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
22362      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
22363      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
22364       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
22365      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
22366      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
22367       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
22368      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
22369      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
22370      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
22371      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
22372       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
22373      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
22374      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
22375      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
22376      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
22377      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
22378      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
22379       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
22380      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
22381      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
22382      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
22383      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
22384      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
22385       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
22386       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
22387      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
22388      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
22389        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22390       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
22391       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
22392       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
22393       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
22394       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
22395       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
22396       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
22397       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
22398       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
22399       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
22400      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
22401      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
22402       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
22403      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
22404      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
22405      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
22406       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
22407      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
22408      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
22409      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
22410      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
22411      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
22412       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
22413      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
22414      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
22415      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
22416      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
22417      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
22418      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
22419      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
22420      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
22421      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
22422      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
22423      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
22424      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
22425      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
22426      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
22427      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
22428      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
22429       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
22430       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
22431      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
22432      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
22433      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
22434       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
22435      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
22436      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
22437       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22438       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
22439       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22440       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
22441       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
22442       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
22443       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    -1,
22444       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
22445       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    -1,
22446       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22447      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
22448      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
22449      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
22450      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
22451      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
22452       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
22453       -1,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
22454      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
22455      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
22456      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
22457      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
22458       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
22459      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
22460       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
22461      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
22462      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
22463       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
22464      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
22465       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
22466      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
22467      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
22468      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
22469      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
22470      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
22471       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
22472      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
22473      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
22474      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
22475      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
22476      399,   400,    -1,   402,    -1,   404,   405,   406,   407,   408,
22477       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
22478      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
22479       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
22480      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
22481      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
22482      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
22483      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
22484       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22485       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
22486       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
22487       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
22488       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
22489       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
22490       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
22491       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
22492       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
22493       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
22494       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
22495      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
22496      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
22497      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
22498      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
22499      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
22500      165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,
22501      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
22502       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
22503      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
22504      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
22505      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
22506      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
22507      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
22508      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
22509      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
22510      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
22511      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
22512       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
22513      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
22514      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
22515      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
22516      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
22517      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
22518      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
22519      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
22520       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
22521      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
22522      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
22523      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
22524      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
22525      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
22526      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
22527      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
22528       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
22529       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
22530      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
22531      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22532       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
22533       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
22534       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
22535       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
22536       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
22537       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
22538       -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
22539       81,    82,    83,    84,    85,    -1,    87,    88,    89,    -1,
22540       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
22541      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
22542      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
22543      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
22544      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
22545      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
22546      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
22547       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
22548       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
22549       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
22550       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
22551      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
22552      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
22553       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
22554       -1,   232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,
22555      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
22556      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
22557      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
22558      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
22559       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
22560      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
22561      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
22562      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
22563      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
22564      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
22565      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
22566      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
22567      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
22568       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
22569      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
22570      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
22571       -1,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
22572      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
22573      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
22574      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
22575      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
22576      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
22577      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
22578      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
22579       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22580       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
22581       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
22582       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
22583       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
22584       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
22585       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
22586       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
22587       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
22588       -1,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
22589       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
22590      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
22591      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
22592      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
22593      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
22594      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
22595       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
22596      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
22597      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
22598      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
22599      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
22600      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
22601       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
22602      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
22603      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
22604       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
22605      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
22606      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
22607      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
22608      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
22609       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
22610      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
22611      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
22612      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
22613      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
22614      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
22615      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
22616       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
22617      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
22618      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
22619      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
22620      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
22621      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
22622       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
22623       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
22624      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
22625      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
22626        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22627       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
22628       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
22629       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
22630       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
22631       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
22632       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
22633       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
22634       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
22635       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
22636       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
22637      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
22638      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
22639       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
22640      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
22641      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
22642      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
22643       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
22644      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
22645      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
22646      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
22647      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
22648      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
22649       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
22650      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
22651      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
22652      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
22653      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
22654      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
22655      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
22656      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
22657      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
22658      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
22659      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
22660      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
22661      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
22662      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
22663      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
22664      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
22665      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
22666       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
22667       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
22668      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
22669      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
22670      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
22671       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
22672      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
22673      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
22674       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22675       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
22676       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22677       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
22678       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
22679       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
22680       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    -1,
22681       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
22682       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    -1,
22683       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22684      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
22685      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
22686      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
22687      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
22688      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
22689       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
22690       -1,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
22691      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
22692      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
22693      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
22694      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
22695       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
22696      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
22697       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
22698      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
22699      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
22700       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
22701      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
22702       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
22703      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
22704      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
22705      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
22706      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
22707      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
22708       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
22709      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
22710      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
22711      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
22712      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
22713      399,   400,    -1,   402,    -1,   404,   405,   406,   407,   408,
22714       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
22715      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
22716       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
22717      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
22718      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
22719      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
22720      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
22721       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22722       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
22723       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
22724       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
22725       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
22726       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
22727       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
22728       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
22729       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
22730       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
22731       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
22732      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
22733      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
22734      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
22735      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
22736      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
22737      165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,
22738      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
22739       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
22740      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
22741      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
22742      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
22743      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
22744      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
22745      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
22746      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
22747      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
22748      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
22749       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
22750      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
22751      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
22752      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
22753      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
22754      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
22755      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
22756      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
22757       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
22758      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
22759      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
22760      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
22761      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
22762      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
22763      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
22764      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
22765       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
22766       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
22767      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
22768      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22769       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
22770       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
22771       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
22772       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
22773       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
22774       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
22775       -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
22776       81,    82,    83,    84,    85,    -1,    87,    88,    89,    -1,
22777       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
22778      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
22779      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
22780      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
22781      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
22782      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
22783      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
22784       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
22785       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
22786       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
22787       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
22788      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
22789      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
22790       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
22791       -1,   232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,
22792      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
22793      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
22794      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
22795      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
22796       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
22797      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
22798      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
22799      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
22800      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
22801      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
22802      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
22803      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
22804      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
22805       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
22806      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
22807      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
22808       -1,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
22809      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
22810      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
22811      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
22812      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
22813      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
22814      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
22815      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
22816       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22817       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
22818       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
22819       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
22820       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
22821       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
22822       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
22823       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
22824       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
22825       -1,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
22826       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
22827      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
22828      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
22829      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
22830      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
22831      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
22832       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
22833      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
22834      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
22835      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
22836      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
22837      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
22838       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
22839      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
22840      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
22841       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
22842      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
22843      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
22844      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
22845      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
22846       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
22847      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
22848      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
22849      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
22850      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
22851      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
22852      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
22853       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
22854      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
22855      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
22856      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
22857      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
22858      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
22859       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
22860       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
22861      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
22862      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
22863        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22864       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
22865       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
22866       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
22867       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
22868       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
22869       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
22870       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
22871       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
22872       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
22873       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
22874      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
22875      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
22876       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
22877      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
22878      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
22879      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
22880       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
22881      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
22882      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
22883      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
22884      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
22885      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
22886       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
22887      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
22888      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
22889      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
22890      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
22891      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
22892      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
22893      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
22894      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
22895      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
22896      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
22897      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
22898      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
22899      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
22900      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
22901      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
22902      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
22903       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
22904       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
22905      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
22906      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
22907      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
22908       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
22909      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
22910      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
22911       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22912       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
22913       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22914       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
22915       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
22916       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
22917       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    -1,
22918       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
22919       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    -1,
22920       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22921      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
22922      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
22923      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
22924      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
22925      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
22926       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
22927       -1,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
22928      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
22929      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
22930      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
22931      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
22932       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
22933      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
22934       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
22935      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
22936      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
22937       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
22938      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
22939       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
22940      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
22941      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
22942      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
22943      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
22944      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
22945       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
22946      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
22947      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
22948      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
22949      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
22950      399,   400,    -1,   402,    -1,   404,   405,   406,   407,   408,
22951       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
22952      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
22953       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
22954      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
22955      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
22956      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
22957      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
22958       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
22959       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
22960       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
22961       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
22962       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
22963       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
22964       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
22965       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
22966       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
22967       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
22968       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
22969      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
22970      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
22971      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
22972      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
22973      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
22974      165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,
22975      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
22976       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
22977      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
22978      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
22979      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
22980      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
22981      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
22982      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
22983      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
22984      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
22985      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
22986       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
22987      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
22988      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
22989      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
22990      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
22991      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
22992      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
22993      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
22994       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
22995      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
22996      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
22997      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
22998      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
22999      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
23000      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
23001      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
23002       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
23003       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
23004      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
23005      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23006       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
23007       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
23008       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
23009       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
23010       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
23011       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
23012       -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
23013       81,    82,    83,    84,    85,    -1,    87,    88,    89,    -1,
23014       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
23015      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
23016      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
23017      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
23018      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
23019      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
23020      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
23021       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
23022       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
23023       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
23024       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
23025      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
23026      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
23027       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
23028       -1,   232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,
23029      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
23030      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
23031      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
23032      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
23033       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
23034      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
23035      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
23036      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
23037      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
23038      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
23039      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
23040      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
23041      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
23042       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
23043      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
23044      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
23045       -1,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
23046      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
23047      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
23048      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
23049      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
23050      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
23051      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
23052      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
23053       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23054       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
23055       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
23056       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
23057       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
23058       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
23059       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
23060       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
23061       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
23062       -1,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
23063       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
23064      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
23065      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
23066      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
23067      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
23068      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
23069       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
23070      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
23071      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
23072      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
23073      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
23074      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
23075       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
23076      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
23077      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
23078       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
23079      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
23080      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
23081      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
23082      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
23083       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
23084      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
23085      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
23086      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
23087      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
23088      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
23089      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
23090       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
23091      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
23092      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
23093      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
23094      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
23095      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
23096       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
23097       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
23098      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
23099      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
23100        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23101       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
23102       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
23103       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
23104       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
23105       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
23106       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
23107       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
23108       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
23109       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
23110       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
23111      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
23112      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
23113       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
23114      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
23115      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
23116      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
23117       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
23118      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
23119      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
23120      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
23121      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
23122      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
23123       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
23124      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
23125      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
23126      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
23127      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
23128      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
23129      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
23130      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
23131      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
23132      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
23133      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
23134      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
23135      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
23136      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
23137      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
23138      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
23139      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
23140       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
23141       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
23142      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
23143      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
23144      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
23145       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
23146      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
23147      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
23148       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23149       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
23150       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23151       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
23152       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
23153       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
23154       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    -1,
23155       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
23156       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    -1,
23157       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23158      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
23159      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
23160      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
23161      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
23162      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
23163       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
23164       -1,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
23165      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
23166      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
23167      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
23168      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
23169       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
23170      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
23171       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
23172      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
23173      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
23174       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
23175      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
23176       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
23177      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
23178      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
23179      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
23180      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
23181      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
23182       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
23183      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
23184      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
23185      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
23186      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
23187      399,   400,    -1,   402,    -1,   404,   405,   406,   407,   408,
23188       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
23189      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
23190       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
23191      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
23192      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
23193      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
23194      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
23195       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23196       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
23197       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
23198       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
23199       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
23200       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
23201       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
23202       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
23203       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
23204       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
23205       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
23206      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
23207      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
23208      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
23209      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
23210      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
23211      165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,
23212      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
23213       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
23214      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
23215      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
23216      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
23217      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
23218      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
23219      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
23220      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
23221      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
23222      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
23223       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
23224      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
23225      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
23226      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
23227      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
23228      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
23229      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
23230      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
23231       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
23232      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
23233      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
23234      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
23235      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
23236      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
23237      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
23238      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
23239       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
23240       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
23241      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
23242      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23243       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
23244       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
23245       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
23246       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
23247       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
23248       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
23249       -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
23250       81,    82,    83,    84,    85,    -1,    87,    88,    89,    -1,
23251       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
23252      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
23253      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
23254      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
23255      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
23256      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
23257      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
23258       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
23259       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
23260       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
23261       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
23262      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
23263      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
23264       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
23265       -1,   232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,
23266      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
23267      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
23268      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
23269      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
23270       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
23271      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
23272      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
23273      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
23274      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
23275      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
23276      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
23277      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
23278      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
23279       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
23280      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
23281      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
23282       -1,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
23283      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
23284      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
23285      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
23286      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
23287      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
23288      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
23289      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
23290       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23291       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
23292       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
23293       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
23294       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
23295       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
23296       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
23297       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
23298       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
23299       -1,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
23300       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
23301      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
23302      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
23303      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
23304      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
23305      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
23306       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
23307      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
23308      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
23309      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
23310      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
23311      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
23312       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
23313      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
23314      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
23315       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
23316      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
23317      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
23318      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
23319      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
23320       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
23321      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
23322      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
23323      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
23324      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
23325      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
23326      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
23327       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
23328      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
23329      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
23330      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
23331      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
23332      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
23333       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
23334       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
23335      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
23336      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
23337        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23338       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
23339       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
23340       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
23341       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
23342       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
23343       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
23344       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
23345       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
23346       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
23347       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
23348      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
23349      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
23350       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
23351      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
23352      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
23353      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
23354       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
23355      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
23356      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
23357      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
23358      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
23359      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
23360       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
23361      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
23362      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
23363      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
23364      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
23365      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
23366      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
23367      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
23368      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
23369      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
23370      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
23371      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
23372      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
23373      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
23374      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
23375      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
23376      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
23377       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
23378       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
23379      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
23380      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
23381      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
23382       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
23383      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
23384      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
23385       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23386       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
23387       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23388       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
23389       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
23390       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
23391       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    -1,
23392       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
23393       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    -1,
23394       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23395      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
23396      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
23397      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
23398      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
23399      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
23400       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
23401       -1,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
23402      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
23403      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
23404      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
23405      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
23406       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
23407      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
23408       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
23409      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
23410      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
23411       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
23412      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
23413       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
23414      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
23415      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
23416      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
23417      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
23418      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
23419       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
23420      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
23421      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
23422      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
23423      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
23424      399,   400,    -1,   402,    -1,   404,   405,   406,   407,   408,
23425       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
23426      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
23427       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
23428      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
23429      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
23430      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
23431      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
23432       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23433       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
23434       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
23435       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
23436       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
23437       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
23438       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
23439       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
23440       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
23441       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
23442       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
23443      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
23444      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
23445      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
23446      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
23447      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
23448      165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,
23449      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
23450       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
23451      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
23452      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
23453      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
23454      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
23455      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
23456      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
23457      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
23458      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
23459      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
23460       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
23461      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
23462      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
23463      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
23464      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
23465      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
23466      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
23467      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
23468       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
23469      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
23470      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
23471      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
23472      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
23473      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
23474      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
23475      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
23476       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
23477       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
23478      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
23479      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23480       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
23481       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
23482       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
23483       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
23484       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
23485       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
23486       -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
23487       81,    82,    83,    84,    85,    -1,    87,    88,    89,    -1,
23488       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
23489      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
23490      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
23491      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
23492      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
23493      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
23494      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
23495       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
23496       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
23497       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
23498       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
23499      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
23500      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
23501       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
23502       -1,   232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,
23503      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
23504      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
23505      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
23506      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
23507       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
23508      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
23509      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
23510      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
23511      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
23512      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
23513      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
23514      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
23515      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
23516       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
23517      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
23518      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
23519       -1,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
23520      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
23521      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
23522      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
23523      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
23524      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
23525      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
23526      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
23527       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23528       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
23529       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
23530       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
23531       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
23532       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
23533       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
23534       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
23535       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
23536       -1,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
23537       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
23538      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
23539      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
23540      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
23541      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
23542      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
23543       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
23544      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
23545      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
23546      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
23547      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
23548      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
23549       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
23550      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
23551      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
23552       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
23553      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
23554      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
23555      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
23556      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
23557       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
23558      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
23559      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
23560      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
23561      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
23562      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
23563      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
23564       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
23565      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
23566      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
23567      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
23568      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
23569      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
23570       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
23571       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
23572      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
23573      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
23574        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23575       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
23576       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
23577       -1,    -1,    -1,    -1,    37,    -1,    39,    40,    41,    -1,
23578       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
23579       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
23580       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
23581       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
23582       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
23583       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
23584       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
23585      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
23586      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
23587       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
23588      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
23589      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
23590      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
23591       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
23592      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
23593      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
23594      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
23595      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
23596      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
23597       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
23598      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
23599      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
23600      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
23601      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
23602      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
23603      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
23604      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
23605      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
23606      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
23607      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
23608      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
23609      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
23610      363,   364,    -1,   366,   367,   368,   369,   370,    -1,    -1,
23611      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
23612      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
23613      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
23614       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
23615       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
23616      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
23617      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
23618      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
23619       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
23620      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
23621      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
23622       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23623       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
23624       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23625       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
23626       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
23627       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
23628       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    -1,
23629       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
23630       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    -1,
23631       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23632      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
23633      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
23634      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
23635      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
23636      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
23637       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
23638       -1,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
23639      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
23640      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
23641      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
23642      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
23643       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
23644      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
23645       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
23646      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
23647      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
23648       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
23649      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
23650       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
23651      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
23652      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
23653      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
23654      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
23655      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
23656       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
23657      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
23658      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
23659      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
23660      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
23661      399,   400,    -1,   402,    -1,   404,   405,   406,   407,   408,
23662       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
23663      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
23664       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
23665      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
23666      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
23667      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
23668      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
23669       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23670       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
23671       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
23672       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
23673       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
23674       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
23675       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
23676       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
23677       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
23678       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
23679       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
23680      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
23681      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
23682      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
23683      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
23684      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
23685      165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,
23686      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
23687       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
23688      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
23689      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
23690      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
23691      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
23692      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
23693      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
23694      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
23695      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
23696      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
23697       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
23698      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
23699      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
23700      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
23701      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
23702      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
23703      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
23704      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
23705       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
23706      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
23707      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
23708      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
23709      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
23710      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
23711      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
23712      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
23713       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
23714       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
23715      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
23716      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23717       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
23718       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
23719       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
23720       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
23721       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
23722       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
23723       -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
23724       81,    82,    83,    84,    85,    -1,    87,    88,    89,    -1,
23725       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
23726      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
23727      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
23728      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
23729      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
23730      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
23731      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
23732       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
23733       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
23734       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
23735       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
23736      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
23737      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
23738       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
23739       -1,   232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,
23740      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
23741      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
23742      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
23743      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
23744       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
23745      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
23746      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
23747      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
23748      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
23749      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
23750      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
23751      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
23752      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
23753       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
23754      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
23755      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
23756       -1,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
23757      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
23758      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
23759      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
23760      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
23761      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
23762      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
23763      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
23764       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23765       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
23766       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
23767       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
23768       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
23769       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
23770       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
23771       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
23772       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
23773       -1,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
23774       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
23775      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
23776      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
23777      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
23778      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
23779      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
23780       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
23781      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
23782      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
23783      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
23784      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
23785      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
23786       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
23787      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
23788      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
23789       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
23790      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
23791      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
23792      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
23793      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
23794       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
23795      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
23796      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
23797      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
23798      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
23799      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
23800      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
23801       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
23802      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
23803      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
23804      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
23805      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
23806      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
23807       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
23808       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
23809      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
23810      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
23811        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23812       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
23813       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
23814       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
23815       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
23816       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
23817       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
23818       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
23819       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
23820       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
23821       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
23822      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
23823      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
23824       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
23825      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
23826      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
23827      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
23828       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
23829      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
23830      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
23831      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
23832      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
23833      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
23834       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
23835      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
23836      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
23837      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
23838      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
23839      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
23840      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
23841      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
23842      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
23843      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
23844      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
23845      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
23846      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
23847      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
23848      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
23849      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
23850      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
23851       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
23852       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
23853      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
23854      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
23855      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
23856       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
23857      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
23858      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
23859       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23860       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
23861       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23862       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
23863       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
23864       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
23865       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    -1,
23866       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
23867       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    -1,
23868       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23869      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
23870      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
23871      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
23872      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
23873      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
23874       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
23875       -1,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
23876      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
23877      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
23878      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
23879      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
23880       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
23881      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
23882       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
23883      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
23884      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
23885       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
23886      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
23887       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
23888      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
23889      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
23890      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
23891      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
23892      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
23893       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
23894      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
23895      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
23896      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
23897      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
23898      399,   400,    -1,   402,    -1,   404,   405,   406,   407,   408,
23899       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
23900      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
23901       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
23902      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
23903      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
23904      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
23905      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
23906       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23907       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
23908       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
23909       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
23910       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
23911       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
23912       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
23913       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
23914       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
23915       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
23916       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
23917      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
23918      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
23919      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
23920      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
23921      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
23922      165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,
23923      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
23924       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
23925      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
23926      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
23927      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
23928      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
23929      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
23930      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
23931      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
23932      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
23933      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
23934       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
23935      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
23936      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
23937      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
23938      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
23939      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
23940      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
23941      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
23942       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
23943      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
23944      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
23945      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
23946      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
23947      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
23948      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
23949      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
23950       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
23951       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
23952      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
23953      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
23954       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
23955       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
23956       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
23957       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
23958       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
23959       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
23960       -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
23961       81,    82,    83,    84,    85,    -1,    87,    88,    89,    -1,
23962       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
23963      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
23964      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
23965      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
23966      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
23967      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
23968      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
23969       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
23970       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
23971       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
23972       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
23973      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
23974      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
23975       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
23976       -1,   232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,
23977      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
23978      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
23979      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
23980      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
23981       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
23982      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
23983      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
23984      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
23985      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
23986      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
23987      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
23988      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
23989      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
23990       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
23991      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
23992      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
23993       -1,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
23994      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
23995      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
23996      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
23997      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
23998      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
23999      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
24000      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
24001       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24002       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
24003       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
24004       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
24005       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
24006       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
24007       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
24008       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
24009       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
24010       -1,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
24011       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
24012      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
24013      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
24014      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
24015      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
24016      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
24017       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
24018      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
24019      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
24020      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
24021      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
24022      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
24023       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
24024      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
24025      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
24026       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
24027      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
24028      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
24029      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
24030      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
24031       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
24032      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
24033      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
24034      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
24035      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
24036      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
24037      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
24038       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
24039      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
24040      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
24041      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
24042      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
24043      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
24044       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
24045       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
24046      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
24047      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
24048        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24049       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
24050       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
24051       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
24052       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
24053       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
24054       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
24055       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
24056       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
24057       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
24058       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
24059      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
24060      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
24061       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
24062      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
24063      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
24064      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
24065       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
24066      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
24067      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
24068      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
24069      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
24070      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
24071       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
24072      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
24073      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
24074      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
24075      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
24076      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
24077      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
24078      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
24079      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
24080      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
24081      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
24082      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
24083      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
24084      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
24085      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
24086      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
24087      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
24088       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
24089       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
24090      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
24091      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
24092      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
24093       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
24094      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
24095      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
24096       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24097       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
24098       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24099       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
24100       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
24101       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
24102       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    -1,
24103       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
24104       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    -1,
24105       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24106      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
24107      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
24108      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
24109      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
24110      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
24111       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
24112       -1,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
24113      179,   180,    -1,   182,   183,   184,    -1,   186,   187,   188,
24114      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
24115      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
24116      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
24117       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
24118      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
24119       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
24120      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
24121      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
24122       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
24123      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
24124       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
24125      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
24126      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
24127      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
24128      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
24129      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
24130       -1,   350,   351,   352,   353,   354,   355,   356,   357,   358,
24131      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
24132      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
24133      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
24134      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
24135      399,   400,    -1,   402,    -1,   404,   405,   406,   407,   408,
24136       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
24137      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
24138       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
24139      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
24140      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
24141      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
24142      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
24143       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24144       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
24145       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
24146       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
24147       45,    46,    -1,    48,    49,    50,    51,    52,    -1,    54,
24148       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
24149       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
24150       75,    76,    -1,    -1,    -1,    80,    81,    82,    83,    84,
24151       85,    -1,    87,    88,    89,    -1,    91,    92,    93,    94,
24152       95,    96,    -1,    -1,    99,   100,   101,    -1,    -1,    -1,
24153       -1,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
24154      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
24155      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
24156      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
24157      145,   146,   147,    -1,   149,   150,   151,   152,   153,   154,
24158      155,   156,   157,   158,    -1,   160,    -1,   162,   163,   164,
24159      165,   166,    -1,   168,    -1,   170,    -1,    -1,    -1,   174,
24160      175,   176,   177,    -1,   179,   180,    -1,   182,   183,   184,
24161       -1,   186,   187,   188,   189,   190,    -1,   192,   193,   194,
24162      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
24163      205,    -1,   207,   208,   209,   210,   211,   212,   213,    -1,
24164      215,    -1,   217,    -1,    -1,   220,    -1,   222,   223,   224,
24165      225,   226,    -1,    -1,   229,   230,    -1,   232,    -1,    -1,
24166      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
24167      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
24168      255,   256,    -1,   258,   259,   260,   261,   262,   263,   264,
24169      265,   266,   267,   268,    -1,   270,   271,    -1,   273,    -1,
24170      275,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
24171       -1,   286,   287,   288,    -1,    -1,   291,   292,   293,    -1,
24172      295,    -1,   297,   298,   299,   300,   301,   302,   303,   304,
24173      305,   306,    -1,   308,   309,   310,   311,   312,   313,   314,
24174      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
24175      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
24176      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
24177      345,    -1,   347,   348,    -1,   350,   351,   352,   353,   354,
24178      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
24179       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
24180      375,   376,    -1,   378,   379,   380,   381,    -1,   383,   384,
24181      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
24182      395,   396,   397,    -1,   399,   400,    -1,   402,    -1,   404,
24183      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
24184      415,   416,   417,   418,   419,    -1,   421,   422,   423,   424,
24185      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
24186      435,    -1,    -1,   438,   439,   440,   441,   442,   443,   444,
24187       -1,   446,    -1,   448,   449,   450,   451,    -1,    -1,   454,
24188       -1,    -1,   457,   458,   459,   460,   461,   462,   463,   464,
24189      465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
24190      475,   476,     3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24191       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,
24192       21,    22,    23,    24,    25,    26,    27,    -1,    29,    30,
24193       31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    39,    40,
24194       41,    -1,    43,    44,    45,    46,    -1,    48,    49,    50,
24195       51,    52,    -1,    54,    55,    -1,    57,    58,    59,    60,
24196       61,    62,    63,    -1,    -1,    66,    67,    68,    69,    70,
24197       -1,    72,    73,    74,    75,    76,    -1,    -1,    -1,    80,
24198       81,    82,    83,    84,    85,    -1,    87,    88,    89,    -1,
24199       91,    92,    93,    94,    95,    96,    -1,    -1,    99,   100,
24200      101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   109,   110,
24201      111,   112,   113,   114,   115,   116,   117,    -1,   119,    -1,
24202      121,   122,   123,   124,   125,   126,   127,    -1,   129,   130,
24203      131,   132,    -1,    -1,   135,   136,   137,   138,   139,    -1,
24204      141,   142,   143,    -1,   145,   146,   147,    -1,   149,   150,
24205      151,   152,   153,   154,   155,   156,   157,   158,    -1,   160,
24206       -1,   162,   163,   164,   165,   166,    -1,   168,    -1,   170,
24207       -1,    -1,    -1,   174,   175,   176,   177,    -1,   179,   180,
24208       -1,   182,   183,   184,    -1,   186,   187,   188,   189,   190,
24209       -1,   192,   193,   194,   195,    -1,   197,   198,   199,   200,
24210      201,   202,   203,    -1,   205,    -1,   207,   208,   209,   210,
24211      211,   212,   213,    -1,   215,    -1,   217,    -1,    -1,   220,
24212       -1,   222,   223,   224,   225,   226,    -1,    -1,   229,   230,
24213       -1,   232,    -1,    -1,   235,   236,   237,    -1,    -1,   240,
24214      241,   242,   243,   244,   245,   246,   247,   248,   249,   250,
24215      251,   252,   253,   254,   255,   256,    -1,   258,   259,   260,
24216      261,   262,   263,   264,   265,   266,   267,   268,    -1,   270,
24217      271,    -1,   273,    -1,   275,   276,   277,   278,   279,   280,
24218       -1,   282,   283,    -1,    -1,   286,   287,   288,    -1,    -1,
24219      291,   292,   293,    -1,   295,    -1,   297,   298,   299,   300,
24220      301,   302,   303,   304,   305,   306,    -1,   308,   309,   310,
24221      311,   312,   313,   314,   315,    -1,   317,   318,   319,   320,
24222      321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
24223      331,    -1,   333,   334,   335,   336,   337,   338,   339,   340,
24224      341,   342,   343,   344,   345,    -1,   347,   348,    -1,   350,
24225      351,   352,   353,   354,   355,   356,   357,   358,   359,   360,
24226      361,   362,   363,   364,    -1,   366,   367,   368,   369,   370,
24227       -1,   372,   373,   374,   375,   376,    -1,   378,   379,   380,
24228      381,    -1,   383,   384,   385,   386,   387,   388,   389,   390,
24229      391,   392,   393,   394,   395,   396,   397,    -1,   399,   400,
24230       -1,   402,    -1,   404,   405,   406,   407,   408,    -1,   410,
24231      411,   412,    -1,    -1,   415,   416,   417,   418,   419,    -1,
24232      421,   422,   423,   424,   425,   426,   427,   428,    -1,    -1,
24233      431,   432,   433,   434,   435,    -1,    -1,   438,   439,   440,
24234      441,   442,   443,   444,    -1,   446,    -1,   448,   449,   450,
24235      451,    -1,    -1,   454,    -1,    -1,   457,   458,   459,   460,
24236      461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
24237      471,   472,   473,   474,   475,   476,     3,    -1,    -1,    -1,
24238       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24239       -1,    -1,    -1,    20,    21,    22,    23,    24,    25,    26,
24240       27,    -1,    29,    30,    31,    -1,    -1,    -1,    -1,    -1,
24241       -1,    -1,    39,    40,    41,    -1,    43,    44,    45,    46,
24242       -1,    48,    49,    50,    51,    52,    -1,    54,    55,    -1,
24243       57,    58,    59,    60,    61,    62,    63,    -1,    -1,    66,
24244       67,    68,    69,    70,    -1,    72,    73,    74,    75,    76,
24245       -1,    -1,    -1,    80,    81,    82,    83,    84,    85,    -1,
24246       87,    88,    89,    -1,    91,    92,    93,    94,    95,    96,
24247       -1,    -1,    99,   100,   101,    -1,    -1,    -1,    -1,    -1,
24248       -1,    -1,   109,   110,   111,   112,   113,   114,   115,   116,
24249      117,    -1,   119,    -1,   121,   122,   123,   124,   125,   126,
24250      127,    -1,   129,   130,   131,   132,    -1,    -1,   135,   136,
24251      137,   138,   139,    -1,   141,   142,   143,    -1,   145,   146,
24252      147,    -1,   149,   150,   151,   152,   153,   154,   155,   156,
24253      157,   158,    -1,   160,    -1,   162,   163,   164,   165,   166,
24254       -1,   168,    -1,   170,    -1,    -1,    -1,   174,   175,   176,
24255      177,    -1,   179,   180,    -1,   182,   183,   184,    -1,   186,
24256      187,   188,   189,   190,    -1,   192,   193,   194,   195,    -1,
24257      197,   198,   199,   200,   201,   202,   203,    -1,   205,    -1,
24258      207,   208,   209,   210,   211,   212,   213,    -1,   215,    -1,
24259      217,    -1,    -1,   220,    -1,   222,   223,   224,   225,   226,
24260       -1,    -1,   229,   230,    -1,   232,    -1,    -1,   235,   236,
24261      237,    -1,    -1,   240,   241,   242,   243,   244,   245,   246,
24262      247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
24263       -1,   258,   259,   260,   261,   262,   263,   264,   265,   266,
24264      267,   268,    -1,   270,   271,    -1,   273,    -1,   275,   276,
24265      277,   278,   279,   280,    -1,   282,   283,    -1,    -1,   286,
24266      287,   288,    -1,    -1,   291,   292,   293,    -1,   295,    -1,
24267      297,   298,   299,   300,   301,   302,   303,   304,   305,   306,
24268       -1,   308,   309,   310,   311,   312,   313,   314,   315,    -1,
24269      317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
24270      327,   328,   329,   330,   331,    -1,   333,   334,   335,   336,
24271      337,   338,   339,   340,   341,   342,   343,   344,   345,    -1,
24272      347,   348,    -1,   350,   351,   352,   353,   354,   355,   356,
24273      357,   358,   359,   360,   361,   362,   363,   364,    -1,   366,
24274      367,   368,   369,   370,    -1,   372,   373,   374,   375,   376,
24275       -1,   378,   379,   380,   381,    -1,   383,   384,   385,   386,
24276      387,   388,   389,   390,   391,   392,   393,   394,   395,   396,
24277      397,    -1,   399,   400,    -1,   402,    -1,   404,   405,   406,
24278      407,   408,    -1,   410,   411,   412,    -1,    -1,   415,   416,
24279      417,   418,   419,    -1,   421,   422,   423,   424,   425,   426,
24280      427,   428,    -1,    -1,   431,   432,   433,   434,   435,    -1,
24281       -1,   438,   439,   440,   441,   442,   443,   444,    -1,   446,
24282       -1,   448,   449,   450,   451,    -1,    -1,   454,    -1,    -1,
24283      457,   458,   459,   460,   461,   462,   463,   464,   465,   466,
24284      467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
24285        3,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24286       -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22,
24287       23,    24,    25,    26,    27,    -1,    29,    30,    31,    -1,
24288       -1,    -1,    -1,    -1,    -1,    -1,    39,    40,    41,    -1,
24289       43,    44,    45,    46,    -1,    48,    49,    50,    51,    52,
24290       -1,    54,    55,    -1,    57,    58,    59,    60,    61,    62,
24291       63,    -1,    -1,    66,    67,    68,    69,    70,    -1,    72,
24292       73,    74,    75,    76,    -1,    -1,    -1,    80,    81,    82,
24293       83,    84,    85,    -1,    87,    88,    89,    -1,    91,    92,
24294       93,    94,    95,    96,    -1,    -1,    99,   100,   101,    -1,
24295       -1,    -1,    -1,    -1,    -1,    -1,   109,   110,   111,   112,
24296      113,   114,   115,   116,   117,    -1,   119,    -1,   121,   122,
24297      123,   124,   125,   126,   127,    -1,   129,   130,   131,   132,
24298       -1,    -1,   135,   136,   137,   138,   139,    -1,   141,   142,
24299      143,    -1,   145,   146,   147,    -1,   149,   150,   151,   152,
24300      153,   154,   155,   156,   157,   158,    -1,   160,    -1,   162,
24301      163,   164,   165,   166,    -1,   168,    -1,   170,    -1,    -1,
24302       -1,   174,   175,   176,   177,    -1,   179,   180,    -1,   182,
24303      183,   184,    -1,   186,   187,   188,   189,   190,    -1,   192,
24304      193,   194,   195,    -1,   197,   198,   199,   200,   201,   202,
24305      203,    -1,   205,    -1,   207,   208,   209,   210,   211,   212,
24306      213,    -1,   215,    -1,   217,    -1,    -1,   220,    -1,   222,
24307      223,   224,   225,   226,    -1,    -1,   229,   230,    -1,   232,
24308       -1,    -1,   235,   236,   237,    -1,    -1,   240,   241,   242,
24309      243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
24310      253,   254,   255,   256,    -1,   258,   259,   260,   261,   262,
24311      263,   264,   265,   266,   267,   268,    -1,   270,   271,    -1,
24312      273,    -1,   275,   276,   277,   278,   279,   280,    -1,   282,
24313      283,    -1,    -1,   286,   287,   288,    -1,    -1,   291,   292,
24314      293,    -1,   295,    -1,   297,   298,   299,   300,   301,   302,
24315      303,   304,   305,   306,    -1,   308,   309,   310,   311,   312,
24316      313,   314,   315,    -1,   317,   318,   319,   320,   321,   322,
24317      323,   324,   325,   326,   327,   328,   329,   330,   331,    -1,
24318      333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
24319      343,   344,   345,    -1,   347,   348,    -1,   350,   351,   352,
24320      353,   354,   355,   356,   357,   358,   359,   360,   361,   362,
24321      363,   364,    -1,   366,   367,   368,   369,   370,    -1,   372,
24322      373,   374,   375,   376,    -1,   378,   379,   380,   381,    -1,
24323      383,   384,   385,   386,   387,   388,   389,   390,   391,   392,
24324      393,   394,   395,   396,   397,    -1,   399,   400,    -1,   402,
24325       -1,   404,   405,   406,   407,   408,    -1,   410,   411,   412,
24326       -1,    -1,   415,   416,   417,   418,   419,    -1,   421,   422,
24327      423,   424,   425,   426,   427,   428,    -1,    -1,   431,   432,
24328      433,   434,   435,    -1,    -1,   438,   439,   440,   441,   442,
24329      443,   444,    -1,   446,    -1,   448,   449,   450,   451,    -1,
24330       -1,   454,    -1,    -1,   457,   458,   459,   460,   461,   462,
24331      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
24332      473,   474,   475,   476,     3,    -1,    -1,    -1,    -1,    -1,
24333       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24334       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
24335       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24336       39,    40,    41,    -1,    43,    44,    45,    46,    47,    48,
24337       49,    50,    -1,    52,    53,    54,    55,    -1,    57,    58,
24338       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
24339       69,    70,    -1,    72,    73,    74,    75,    -1,    -1,    78,
24340       -1,    80,    81,    82,    83,    84,    85,    86,    87,    88,
24341       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    98,
24342       99,   100,   101,    -1,    -1,    -1,   105,    -1,    -1,    -1,
24343      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
24344      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
24345      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
24346      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
24347      149,   150,   151,   152,    -1,   154,   155,   156,   157,    -1,
24348       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
24349       -1,   170,   171,    -1,   173,   174,   175,   176,   177,    -1,
24350      179,    -1,    -1,    -1,   183,   184,    -1,   186,   187,   188,
24351      189,   190,   191,   192,   193,   194,   195,   196,   197,   198,
24352      199,   200,   201,   202,   203,    -1,   205,   206,   207,   208,
24353      209,   210,   211,   212,   213,    -1,   215,    -1,   217,   218,
24354      219,   220,   221,   222,   223,   224,   225,   226,    -1,    -1,
24355      229,    -1,   231,   232,   233,    -1,   235,   236,   237,    -1,
24356       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
24357      249,   250,   251,   252,   253,   254,   255,   256,   257,   258,
24358      259,   260,   261,   262,   263,   264,   265,    -1,    -1,   268,
24359       -1,   270,   271,   272,   273,    -1,    -1,   276,   277,   278,
24360      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
24361       -1,    -1,   291,   292,   293,   294,   295,   296,    -1,   298,
24362      299,   300,   301,   302,   303,   304,   305,   306,    -1,   308,
24363      309,    -1,   311,    -1,   313,   314,   315,    -1,   317,   318,
24364      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
24365      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
24366      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
24367      349,   350,   351,   352,   353,   354,    -1,   356,   357,   358,
24368      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
24369      369,   370,    -1,   372,   373,   374,   375,   376,   377,   378,
24370      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
24371      389,   390,   391,   392,   393,   394,   395,    -1,   397,    -1,
24372      399,   400,    -1,   402,   403,   404,   405,   406,   407,   408,
24373       -1,   410,   411,   412,    -1,    -1,   415,   416,    -1,   418,
24374       -1,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
24375       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
24376      439,   440,   441,   442,    -1,   444,   445,   446,   447,   448,
24377      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
24378      459,   460,   461,   462,     3,    -1,    -1,    -1,    -1,    -1,
24379       -1,    -1,    -1,    -1,    -1,   474,   475,   476,    -1,    -1,
24380       -1,    20,    21,    22,    23,    24,    25,    26,    27,    -1,
24381       29,    30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24382       39,    40,    41,    -1,    43,    44,    45,    46,    -1,    48,
24383       49,    50,    51,    52,    -1,    54,    55,    -1,    57,    58,
24384       59,    60,    61,    62,    63,    -1,    -1,    66,    67,    68,
24385       69,    70,    -1,    72,    73,    74,    75,    76,    -1,    -1,
24386       -1,    80,    81,    82,    83,    84,    85,    -1,    87,    88,
24387       89,    -1,    91,    92,    93,    94,    95,    96,    -1,    -1,
24388       99,   100,   101,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24389      109,   110,   111,   112,   113,   114,   115,   116,   117,    -1,
24390      119,    -1,   121,   122,   123,   124,   125,   126,   127,    -1,
24391      129,   130,   131,   132,    -1,    -1,   135,   136,   137,   138,
24392      139,    -1,   141,   142,   143,    -1,   145,   146,   147,    -1,
24393      149,   150,   151,   152,   153,   154,   155,   156,   157,   158,
24394       -1,   160,    -1,   162,   163,   164,   165,   166,    -1,   168,
24395       -1,   170,    -1,    -1,    -1,   174,   175,   176,   177,    -1,
24396      179,   180,    -1,   182,    -1,   184,    -1,   186,   187,   188,
24397      189,   190,    -1,   192,   193,   194,   195,    -1,   197,   198,
24398      199,   200,   201,   202,   203,    -1,   205,    -1,   207,   208,
24399      209,   210,   211,   212,   213,    -1,   215,    -1,   217,    -1,
24400       -1,   220,    -1,   222,   223,   224,   225,   226,    -1,    -1,
24401      229,   230,    -1,   232,    -1,    -1,   235,   236,   237,    -1,
24402       -1,   240,   241,   242,   243,   244,   245,   246,   247,   248,
24403      249,   250,   251,   252,   253,   254,   255,   256,    -1,   258,
24404      259,   260,   261,   262,   263,   264,   265,   266,   267,   268,
24405       -1,   270,   271,    -1,   273,    -1,   275,   276,   277,   278,
24406      279,   280,    -1,   282,   283,    -1,    -1,   286,   287,   288,
24407       -1,    -1,   291,   292,   293,    -1,   295,    -1,   297,   298,
24408      299,   300,   301,   302,   303,    -1,   305,   306,    -1,   308,
24409      309,   310,   311,   312,   313,   314,   315,    -1,   317,   318,
24410      319,   320,   321,   322,   323,   324,    -1,   326,   327,   328,
24411      329,   330,   331,    -1,   333,   334,   335,   336,   337,   338,
24412      339,   340,   341,   342,   343,   344,   345,    -1,   347,   348,
24413       -1,   350,   351,   352,   353,   354,   355,    -1,   357,   358,
24414      359,   360,   361,   362,   363,   364,    -1,   366,   367,   368,
24415      369,   370,    -1,   372,   373,   374,   375,   376,    -1,   378,
24416      379,   380,   381,    -1,   383,   384,   385,   386,   387,   388,
24417      389,   390,   391,   392,   393,   394,   395,   396,   397,    -1,
24418      399,   400,    -1,   402,    -1,   404,   405,   406,   407,   408,
24419       -1,   410,   411,   412,    -1,    -1,   415,   416,   417,   418,
24420      419,    -1,   421,   422,   423,   424,   425,   426,   427,   428,
24421       -1,    -1,   431,   432,   433,   434,   435,    -1,    -1,   438,
24422      439,   440,   441,   442,   443,   444,    -1,   446,    -1,   448,
24423      449,   450,   451,    -1,    -1,   454,    -1,    -1,   457,   458,
24424      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
24425      469,   470,   471,   472,   473,   474,   475,   476,     3,    -1,
24426       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
24427       -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,
24428       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
24429       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
24430       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
24431       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
24432       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
24433       75,    -1,    -1,    78,    -1,    80,    81,    82,    83,    84,
24434       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
24435       95,    96,    -1,    98,    99,   100,   101,    -1,    -1,    -1,
24436      105,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
24437      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
24438      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
24439      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
24440      145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
24441      155,   156,   157,    -1,    -1,   160,    -1,   162,   163,   164,
24442      165,   166,    -1,   168,    -1,   170,   171,    -1,   173,   174,
24443      175,   176,   177,    -1,   179,    -1,    -1,    -1,   183,   184,
24444       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
24445      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
24446      205,   206,    -1,   208,   209,   210,   211,   212,   213,    -1,
24447      215,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
24448      225,   226,    -1,    -1,   229,    -1,   231,   232,   233,    -1,
24449      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
24450      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
24451      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
24452      265,    -1,    -1,   268,    -1,   270,   271,   272,   273,   274,
24453       -1,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
24454       -1,   286,   287,   288,    -1,    -1,   291,   292,    -1,   294,
24455      295,   296,    -1,   298,   299,   300,   301,   302,   303,   304,
24456      305,   306,    -1,   308,   309,    -1,   311,    -1,   313,   314,
24457      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
24458      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
24459      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
24460      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
24461       -1,   356,   357,   358,   359,   360,   361,   362,   363,   364,
24462       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
24463      375,   376,   377,   378,   379,   380,   381,    -1,   383,   384,
24464      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
24465      395,    -1,   397,    -1,   399,   400,   401,   402,   403,   404,
24466      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
24467      415,   416,    -1,   418,    -1,    -1,   421,   422,   423,   424,
24468      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
24469      435,    -1,    -1,   438,   439,   440,   441,   442,    -1,   444,
24470       -1,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
24471       -1,    -1,   457,   458,   459,   460,   461,   462,     3,    -1,
24472       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
24473      475,   476,    -1,    -1,    -1,    20,    21,    22,    23,    24,
24474       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
24475       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
24476       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
24477       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
24478       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
24479       75,    -1,    -1,    78,    -1,    80,    81,    82,    83,    84,
24480       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
24481       95,    96,    -1,    98,    99,   100,   101,    -1,    -1,    -1,
24482      105,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
24483      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
24484      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
24485      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
24486      145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
24487      155,   156,   157,    -1,    -1,   160,    -1,   162,   163,   164,
24488      165,   166,    -1,   168,    -1,   170,   171,    -1,   173,   174,
24489      175,   176,   177,    -1,   179,    -1,    -1,    -1,   183,   184,
24490       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
24491      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
24492      205,   206,    -1,   208,   209,   210,   211,   212,   213,    -1,
24493      215,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
24494      225,   226,    -1,    -1,   229,    -1,   231,   232,   233,    -1,
24495      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
24496      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
24497      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
24498      265,   266,    -1,   268,    -1,   270,   271,   272,   273,    -1,
24499       -1,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
24500       -1,   286,   287,   288,    -1,    -1,   291,   292,    -1,   294,
24501      295,   296,    -1,   298,   299,   300,   301,   302,   303,   304,
24502      305,   306,    -1,   308,   309,    -1,   311,    -1,   313,   314,
24503      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
24504      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
24505      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
24506      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
24507       -1,   356,   357,   358,   359,   360,   361,   362,   363,   364,
24508       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
24509      375,   376,   377,   378,   379,   380,   381,    -1,   383,   384,
24510      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
24511      395,    -1,   397,    -1,   399,   400,    -1,   402,   403,   404,
24512      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
24513      415,   416,    -1,   418,    -1,    -1,   421,   422,   423,   424,
24514      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
24515      435,    -1,    -1,   438,   439,   440,   441,   442,    -1,   444,
24516       -1,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
24517       -1,    -1,   457,   458,   459,   460,   461,   462,     3,    -1,
24518       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
24519      475,   476,    -1,    -1,    -1,    20,    21,    22,    23,    24,
24520       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
24521       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
24522       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
24523       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
24524       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
24525       75,    -1,    -1,    78,    -1,    80,    81,    82,    83,    84,
24526       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
24527       95,    96,    -1,    98,    99,   100,   101,    -1,    -1,    -1,
24528      105,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
24529      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
24530      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
24531      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
24532      145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
24533      155,   156,   157,    -1,    -1,   160,    -1,   162,   163,   164,
24534      165,   166,    -1,   168,    -1,   170,   171,    -1,   173,   174,
24535      175,   176,   177,    -1,   179,    -1,    -1,    -1,   183,   184,
24536       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
24537      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
24538      205,   206,    -1,   208,   209,   210,   211,   212,   213,    -1,
24539      215,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
24540      225,   226,    -1,    -1,   229,    -1,   231,   232,   233,    -1,
24541      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
24542      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
24543      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
24544      265,   266,    -1,   268,    -1,   270,   271,   272,   273,    -1,
24545       -1,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
24546       -1,   286,   287,   288,    -1,    -1,   291,   292,    -1,   294,
24547      295,   296,    -1,   298,   299,   300,   301,   302,   303,   304,
24548      305,   306,    -1,   308,   309,    -1,   311,    -1,   313,   314,
24549      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
24550      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
24551      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
24552      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
24553       -1,   356,   357,   358,   359,   360,   361,   362,   363,   364,
24554       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
24555      375,   376,   377,   378,   379,   380,   381,    -1,   383,   384,
24556      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
24557      395,    -1,   397,    -1,   399,   400,    -1,   402,   403,   404,
24558      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
24559      415,   416,    -1,   418,    -1,    -1,   421,   422,   423,   424,
24560      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
24561      435,    -1,    -1,   438,   439,   440,   441,   442,    -1,   444,
24562       -1,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
24563       -1,    -1,   457,   458,   459,   460,   461,   462,     3,    -1,
24564       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
24565      475,   476,    -1,    -1,    -1,    20,    21,    22,    23,    24,
24566       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
24567       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
24568       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
24569       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
24570       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
24571       75,    -1,    -1,    78,    -1,    80,    81,    82,    83,    84,
24572       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
24573       95,    96,    -1,    98,    99,   100,   101,    -1,    -1,    -1,
24574      105,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
24575      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
24576      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
24577      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
24578      145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
24579      155,   156,   157,    -1,    -1,   160,    -1,   162,   163,   164,
24580      165,   166,   167,   168,    -1,   170,   171,    -1,   173,   174,
24581      175,   176,   177,    -1,   179,    -1,    -1,    -1,   183,   184,
24582       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
24583      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
24584      205,   206,    -1,   208,   209,   210,   211,   212,   213,    -1,
24585      215,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
24586      225,   226,    -1,    -1,   229,    -1,   231,   232,   233,    -1,
24587      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
24588      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
24589      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
24590      265,    -1,    -1,   268,    -1,   270,   271,   272,   273,    -1,
24591       -1,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
24592       -1,   286,   287,   288,    -1,    -1,   291,   292,    -1,   294,
24593      295,   296,    -1,   298,   299,   300,   301,   302,   303,   304,
24594      305,   306,    -1,   308,   309,    -1,   311,    -1,   313,   314,
24595      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
24596      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
24597      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
24598      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
24599       -1,   356,   357,   358,   359,   360,   361,   362,   363,   364,
24600       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
24601      375,   376,   377,   378,   379,   380,   381,    -1,   383,   384,
24602      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
24603      395,    -1,   397,    -1,   399,   400,    -1,   402,   403,   404,
24604      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
24605      415,   416,    -1,   418,    -1,    -1,   421,   422,   423,   424,
24606      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
24607      435,    -1,    -1,   438,   439,   440,   441,   442,    -1,   444,
24608       -1,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
24609       -1,    -1,   457,   458,   459,   460,   461,   462,     3,    -1,
24610       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
24611      475,   476,    -1,    -1,    -1,    20,    21,    22,    23,    24,
24612       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
24613       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
24614       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
24615       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
24616       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
24617       75,    -1,    -1,    78,    -1,    80,    81,    82,    83,    84,
24618       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
24619       95,    96,    -1,    98,    99,   100,   101,    -1,    -1,    -1,
24620      105,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
24621      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
24622      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
24623      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
24624      145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
24625      155,   156,   157,    -1,    -1,   160,    -1,   162,   163,   164,
24626      165,   166,    -1,   168,    -1,   170,   171,    -1,   173,   174,
24627      175,   176,   177,    -1,   179,    -1,    -1,    -1,   183,   184,
24628       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
24629      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
24630      205,   206,    -1,   208,   209,   210,   211,   212,   213,    -1,
24631      215,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
24632      225,   226,    -1,    -1,   229,    -1,   231,   232,   233,    -1,
24633      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
24634      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
24635      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
24636      265,    -1,    -1,   268,    -1,   270,   271,   272,   273,    -1,
24637       -1,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
24638       -1,   286,   287,   288,    -1,    -1,   291,   292,    -1,   294,
24639      295,   296,    -1,   298,   299,   300,   301,   302,   303,   304,
24640      305,   306,    -1,   308,   309,    -1,   311,    -1,   313,   314,
24641      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
24642      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
24643      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
24644      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
24645       -1,   356,   357,   358,   359,   360,   361,   362,   363,   364,
24646       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
24647      375,   376,   377,   378,   379,   380,   381,    -1,   383,   384,
24648      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
24649      395,    -1,   397,    -1,   399,   400,    -1,   402,   403,   404,
24650      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
24651      415,   416,    -1,   418,    -1,    -1,   421,   422,   423,   424,
24652      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
24653      435,    -1,    -1,   438,   439,   440,   441,   442,    -1,   444,
24654       -1,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
24655       -1,    -1,   457,   458,   459,   460,   461,   462,     3,    -1,
24656       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
24657      475,   476,    -1,    -1,    -1,    20,    21,    22,    23,    24,
24658       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
24659       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
24660       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
24661       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
24662       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
24663       75,    -1,    -1,    78,    -1,    80,    81,    82,    83,    84,
24664       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
24665       95,    96,    -1,    98,    99,   100,   101,    -1,    -1,    -1,
24666      105,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
24667      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
24668      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
24669      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
24670      145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
24671      155,   156,   157,    -1,    -1,   160,    -1,   162,   163,   164,
24672      165,   166,    -1,   168,    -1,   170,   171,    -1,   173,   174,
24673      175,   176,   177,    -1,   179,    -1,    -1,    -1,   183,   184,
24674       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
24675      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
24676      205,   206,    -1,   208,   209,   210,   211,   212,   213,    -1,
24677      215,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
24678      225,   226,    -1,    -1,   229,    -1,   231,   232,   233,    -1,
24679      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
24680      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
24681      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
24682      265,    -1,    -1,   268,    -1,   270,   271,   272,   273,    -1,
24683       -1,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
24684       -1,   286,   287,   288,    -1,    -1,   291,   292,    -1,   294,
24685      295,   296,    -1,   298,   299,   300,   301,   302,   303,   304,
24686      305,   306,    -1,   308,   309,    -1,   311,    -1,   313,   314,
24687      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
24688      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
24689      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
24690      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
24691       -1,   356,   357,   358,   359,   360,   361,   362,   363,   364,
24692       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
24693      375,   376,   377,   378,   379,   380,   381,    -1,   383,   384,
24694      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
24695      395,    -1,   397,    -1,   399,   400,    -1,   402,   403,   404,
24696      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
24697      415,   416,    -1,   418,    -1,    -1,   421,   422,   423,   424,
24698      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
24699      435,    -1,    -1,   438,   439,   440,   441,   442,    -1,   444,
24700       -1,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
24701       -1,    -1,   457,   458,   459,   460,   461,   462,     3,    -1,
24702       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
24703      475,   476,    -1,    -1,    -1,    20,    21,    22,    23,    24,
24704       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
24705       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
24706       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
24707       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
24708       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
24709       75,    -1,    -1,    78,    -1,    80,    81,    82,    83,    84,
24710       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
24711       95,    96,    -1,    98,    99,   100,   101,    -1,    -1,    -1,
24712      105,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
24713      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
24714      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
24715      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
24716      145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
24717      155,   156,   157,    -1,    -1,   160,    -1,   162,   163,   164,
24718      165,   166,    -1,   168,    -1,   170,   171,    -1,   173,   174,
24719      175,   176,   177,    -1,   179,    -1,    -1,    -1,   183,   184,
24720       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
24721      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
24722      205,   206,    -1,   208,   209,   210,   211,   212,   213,    -1,
24723      215,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
24724      225,   226,    -1,    -1,   229,    -1,   231,   232,   233,    -1,
24725      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
24726      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
24727      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
24728      265,    -1,    -1,   268,    -1,   270,   271,   272,   273,    -1,
24729       -1,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
24730       -1,   286,   287,   288,    -1,    -1,   291,   292,    -1,   294,
24731      295,   296,    -1,   298,   299,   300,   301,   302,   303,   304,
24732      305,   306,    -1,   308,   309,    -1,   311,    -1,   313,   314,
24733      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
24734      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
24735      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
24736      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
24737       -1,   356,   357,   358,   359,   360,   361,   362,   363,   364,
24738       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
24739      375,   376,   377,   378,   379,   380,   381,    -1,   383,   384,
24740      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
24741      395,    -1,   397,    -1,   399,   400,    -1,   402,   403,   404,
24742      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
24743      415,   416,    -1,   418,    -1,    -1,   421,   422,   423,   424,
24744      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
24745      435,    -1,    -1,   438,   439,   440,   441,   442,    -1,   444,
24746       -1,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
24747       -1,    -1,   457,   458,   459,   460,   461,   462,     3,    -1,
24748       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
24749      475,   476,    -1,    -1,    -1,    20,    21,    22,    23,    24,
24750       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
24751       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
24752       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
24753       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
24754       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
24755       75,    -1,    -1,    78,    -1,    80,    81,    82,    83,    84,
24756       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
24757       95,    96,    -1,    98,    99,   100,   101,    -1,    -1,    -1,
24758      105,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
24759      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
24760      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
24761      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
24762      145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
24763      155,   156,   157,    -1,    -1,   160,    -1,   162,   163,   164,
24764      165,   166,    -1,   168,    -1,   170,   171,    -1,   173,   174,
24765      175,   176,   177,    -1,   179,    -1,    -1,    -1,   183,   184,
24766       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
24767      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
24768      205,   206,    -1,   208,   209,   210,   211,   212,   213,    -1,
24769      215,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
24770      225,   226,    -1,    -1,   229,    -1,   231,   232,   233,    -1,
24771      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
24772      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
24773      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
24774      265,    -1,    -1,   268,    -1,   270,   271,   272,   273,    -1,
24775       -1,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
24776       -1,   286,   287,   288,    -1,    -1,   291,   292,    -1,   294,
24777      295,   296,    -1,   298,   299,   300,   301,   302,   303,   304,
24778      305,   306,    -1,   308,   309,    -1,   311,    -1,   313,   314,
24779      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
24780      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
24781      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
24782      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
24783       -1,   356,   357,   358,   359,   360,   361,   362,   363,   364,
24784       -1,   366,   367,   368,   369,   370,    -1,   372,   373,   374,
24785      375,   376,   377,   378,   379,   380,   381,    -1,   383,   384,
24786      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
24787      395,    -1,   397,    -1,   399,   400,    -1,   402,   403,   404,
24788      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
24789      415,   416,    -1,   418,    -1,    -1,   421,   422,   423,   424,
24790      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
24791      435,    -1,    -1,   438,   439,   440,   441,   442,    -1,   444,
24792       -1,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
24793       -1,    -1,   457,   458,   459,   460,   461,   462,     3,    -1,
24794       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
24795      475,   476,    -1,    -1,    -1,    20,    21,    22,    23,    24,
24796       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
24797       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
24798       45,    46,    47,    48,    49,    50,    -1,    52,    53,    54,
24799       55,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
24800       -1,    66,    67,    68,    69,    70,    -1,    72,    73,    74,
24801       75,    -1,    -1,    78,    -1,    80,    81,    82,    83,    84,
24802       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
24803       95,    96,    -1,    98,    99,   100,   101,    -1,    -1,    -1,
24804      105,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
24805      115,   116,   117,    -1,   119,    -1,   121,   122,   123,   124,
24806      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
24807      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
24808      145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
24809      155,   156,   157,    -1,    -1,   160,    -1,   162,   163,   164,
24810      165,   166,    -1,   168,    -1,   170,   171,    -1,   173,   174,
24811      175,   176,   177,    -1,   179,    -1,    -1,    -1,   183,   184,
24812       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
24813      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
24814      205,   206,    -1,   208,   209,   210,   211,   212,   213,    -1,
24815      215,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
24816      225,   226,    -1,    -1,   229,    -1,   231,   232,   233,    -1,
24817      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
24818      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
24819      255,   256,   257,   258,   259,   260,   261,   262,   263,   264,
24820      265,    -1,    -1,   268,    -1,   270,   271,   272,   273,    -1,
24821       -1,   276,   277,   278,   279,   280,    -1,   282,   283,    -1,
24822       -1,   286,   287,   288,    -1,    -1,   291,   292,    -1,   294,
24823      295,   296,    -1,   298,   299,   300,   301,   302,   303,   304,
24824      305,   306,    -1,   308,   309,    -1,   311,    -1,   313,   314,
24825      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
24826      325,   326,   327,   328,   329,   330,   331,    -1,   333,   334,
24827      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
24828      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
24829       -1,   356,   357,   358,   359,   360,   361,   362,   363,   364,
24830       -1,   366,   367,   368,   369,   370,    -1,   372,   373,    -1,
24831      375,   376,   377,   378,   379,   380,   381,    -1,   383,   384,
24832      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
24833      395,    -1,   397,    -1,   399,   400,    -1,   402,   403,   404,
24834      405,   406,   407,   408,    -1,   410,   411,   412,    -1,    -1,
24835      415,   416,    -1,   418,    -1,    -1,   421,   422,   423,   424,
24836      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
24837      435,    -1,    -1,   438,   439,   440,   441,   442,    -1,   444,
24838       -1,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
24839       -1,    -1,   457,   458,   459,   460,   461,   462,     3,    -1,
24840       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
24841      475,   476,    -1,    -1,    -1,    20,    21,    22,    23,    24,
24842       25,    26,    27,    -1,    29,    30,    31,    -1,    -1,    -1,
24843       -1,    -1,    -1,    -1,    39,    40,    41,    -1,    43,    44,
24844       45,    46,    47,    48,    49,    50,    -1,    -1,    53,    -1,
24845       -1,    -1,    57,    58,    59,    60,    61,    62,    63,    -1,
24846       -1,    66,    67,    -1,    -1,    70,    -1,    72,    73,    74,
24847       75,    -1,    -1,    78,    -1,    80,    81,    82,    83,    84,
24848       85,    86,    87,    88,    89,    -1,    91,    92,    93,    94,
24849       95,    96,    -1,    98,    99,   100,   101,    -1,    -1,    -1,
24850      105,    -1,    -1,    -1,   109,   110,   111,   112,   113,   114,
24851       -1,    -1,   117,    -1,   119,    -1,   121,   122,   123,   124,
24852      125,   126,   127,    -1,   129,   130,   131,   132,    -1,    -1,
24853      135,   136,   137,   138,   139,    -1,   141,   142,   143,    -1,
24854      145,   146,   147,    -1,   149,   150,   151,   152,    -1,   154,
24855      155,   156,   157,    -1,    -1,   160,    -1,   162,   163,   164,
24856       -1,   166,    -1,   168,    -1,   170,   171,    -1,   173,   174,
24857      175,   176,   177,    -1,   179,    -1,    -1,    -1,   183,   184,
24858       -1,   186,   187,   188,   189,   190,   191,   192,   193,   194,
24859      195,    -1,   197,   198,   199,   200,   201,   202,   203,    -1,
24860      205,   206,    -1,   208,   209,   210,   211,    -1,    -1,    -1,
24861       -1,    -1,   217,   218,   219,   220,   221,   222,   223,   224,
24862      225,   226,    -1,    -1,   229,    -1,   231,   232,   233,    -1,
24863      235,   236,   237,    -1,    -1,   240,   241,   242,   243,   244,
24864      245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
24865      255,    -1,   257,    -1,   259,   260,   261,   262,   263,   264,
24866      265,    -1,    -1,   268,    -1,   270,   271,   272,   273,    -1,
24867       -1,   276,    -1,   278,   279,   280,    -1,   282,   283,    -1,
24868       -1,   286,   287,   288,    -1,    -1,   291,   292,    -1,   294,
24869      295,   296,    -1,   298,   299,   300,   301,   302,   303,   304,
24870      305,   306,    -1,   308,   309,    -1,   311,    -1,   313,   314,
24871      315,    -1,   317,   318,   319,   320,   321,   322,   323,   324,
24872      325,   326,    -1,   328,   329,   330,   331,    -1,   333,   334,
24873      335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
24874      345,    -1,   347,   348,   349,   350,   351,   352,   353,   354,
24875       -1,   356,   357,   358,   359,   360,   361,   362,   363,   364,
24876       -1,   366,   367,   368,   369,   370,    -1,   372,   373,    -1,
24877      375,   376,   377,   378,   379,    -1,   381,    -1,   383,   384,
24878      385,   386,   387,   388,   389,   390,   391,   392,   393,   394,
24879      395,    -1,   397,    -1,   399,   400,    -1,   402,   403,   404,
24880      405,   406,   407,   408,    -1,   410,    -1,    -1,    -1,    -1,
24881      415,   416,    -1,   418,    -1,    -1,   421,   422,   423,   424,
24882      425,   426,   427,   428,    -1,    -1,   431,   432,   433,   434,
24883      435,    -1,    -1,   438,   439,   440,   441,   442,    -1,    -1,
24884       -1,   446,   447,   448,   449,   450,   451,    -1,    -1,   454,
24885       -1,    -1,   457,   458,   459,   460,   461,   462,    -1,    -1,
24886       -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   474,
24887      475,   476
24888 };
24889 
24890   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
24891      symbol of state STATE-NUM.  */
24892 static const yytype_uint16 yystos[] =
24893 {
24894        0,    20,    30,    32,    33,    50,    60,    72,    74,    75,
24895       81,    83,    95,    97,   114,   117,   132,   134,   138,   144,
24896      152,   154,   161,   178,   195,   235,   236,   241,   253,   271,
24897      314,   328,   334,   335,   337,   342,   348,   351,   358,   364,
24898      365,   372,   376,   386,   401,   421,   432,   438,   443,   456,
24899      479,   480,   481,   482,   483,   484,   497,   504,   505,   506,
24900      507,   508,   509,   515,   516,   518,   519,   520,   521,   523,
24901      527,   539,   544,   545,   548,   549,   550,   569,   572,   573,
24902      588,   634,   637,   638,   641,   644,   645,   646,   654,   661,
24903      663,   664,   667,   670,   671,   675,   684,   688,   689,   690,
24904      693,   695,   696,   697,   698,   706,   708,   728,   732,   734,
24905      735,   745,   747,   754,   755,   758,   759,   760,   761,   762,
24906      771,   773,   775,   778,   782,   783,   791,   792,   795,   800,
24907      814,   846,   849,   850,   851,   856,   859,   861,   863,   865,
24908      866,   869,   870,   873,   875,   876,   880,   881,   882,   885,
24909      886,   887,   888,   889,   896,   898,   899,   900,   901,   907,
24910      909,   910,   916,   917,   918,   921,   922,   923,   924,   926,
24911      927,   929,   930,   932,   933,   935,   947,   949,   952,   954,
24912      955,   964,   966,   971,   976,   980,   981,   982,   983,   984,
24913      985,   991,  1027,   415,   459,   902,    27,    78,    94,   112,
24914      118,   136,   147,   156,   169,   174,   181,   200,   225,   246,
24915      286,   309,   319,   320,   323,   350,   353,   357,   359,   366,
24916      369,   388,   395,   400,   401,   404,   408,   418,   423,   436,
24917      449,   660,   902,     3,    20,    21,    22,    23,    24,    25,
24918       26,    27,    29,    30,    31,    39,    40,    41,    43,    44,
24919       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
24920       55,    57,    58,    59,    60,    61,    62,    63,    66,    67,
24921       68,    69,    70,    72,    73,    74,    75,    76,    78,    80,
24922       81,    82,    83,    84,    85,    86,    87,    88,    89,    91,
24923       92,    93,    94,    95,    96,    98,    99,   100,   101,   105,
24924      109,   110,   111,   112,   113,   114,   115,   116,   117,   119,
24925      121,   122,   123,   124,   125,   126,   127,   129,   130,   131,
24926      132,   135,   136,   137,   138,   139,   141,   142,   143,   145,
24927      146,   147,   149,   150,   151,   152,   153,   154,   155,   156,
24928      157,   158,   160,   162,   163,   164,   165,   166,   168,   170,
24929      171,   173,   174,   175,   176,   177,   179,   180,   182,   183,
24930      184,   186,   187,   188,   189,   190,   191,   192,   193,   194,
24931      195,   197,   198,   199,   200,   201,   202,   203,   205,   206,
24932      207,   208,   209,   210,   211,   212,   213,   215,   217,   218,
24933      219,   220,   221,   222,   223,   224,   225,   226,   229,   230,
24934      231,   232,   233,   235,   236,   237,   240,   241,   242,   243,
24935      244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
24936      254,   255,   256,   257,   258,   259,   260,   261,   262,   263,
24937      264,   265,   266,   267,   268,   270,   271,   272,   273,   275,
24938      276,   277,   278,   279,   280,   282,   283,   286,   287,   288,
24939      291,   292,   293,   294,   295,   296,   297,   298,   299,   300,
24940      301,   302,   303,   304,   305,   306,   308,   309,   310,   311,
24941      312,   313,   314,   315,   317,   318,   319,   320,   321,   322,
24942      323,   324,   325,   326,   327,   328,   329,   330,   331,   333,
24943      334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
24944      344,   345,   347,   348,   349,   350,   351,   352,   353,   354,
24945      355,   356,   357,   358,   359,   360,   361,   362,   363,   364,
24946      366,   367,   368,   369,   370,   372,   373,   374,   375,   376,
24947      377,   378,   379,   380,   381,   383,   384,   385,   386,   387,
24948      388,   389,   390,   391,   392,   393,   394,   395,   396,   397,
24949      399,   400,   402,   403,   404,   405,   406,   407,   408,   410,
24950      411,   412,   415,   416,   417,   418,   419,   421,   422,   423,
24951      424,   425,   426,   427,   428,   431,   432,   433,   434,   435,
24952      438,   439,   440,   441,   442,   443,   444,   446,   447,   448,
24953      449,   450,   451,   454,   457,   458,   459,   460,   461,   462,
24954      463,   464,   465,   466,   467,   468,   469,   470,   471,   472,
24955      473,   474,   475,   476,  1087,  1157,  1169,  1170,  1174,  1175,
24956     1176,     3,    28,   977,  1154,  1169,  1174,   447,   497,   940,
24957      284,   315,   902,    53,   497,   580,    22,    40,    65,    78,
24958      112,   118,   136,   147,   156,   169,   177,   181,   237,   286,
24959      289,   309,   323,   350,   359,   369,   388,   395,   404,   405,
24960      407,   408,   423,   430,   433,   436,   589,   643,   750,   801,
24961      815,    28,   314,  1154,   977,    28,   308,   367,   405,   407,
24962        6,   224,   857,   858,  1160,    22,    27,    65,    78,    94,
24963      112,   136,   147,   156,   169,   174,   181,   200,   246,   286,
24964      299,   309,   320,   323,   350,   353,   357,   359,   366,   369,
24965      388,   395,   401,   404,   408,   416,   418,   423,   436,   449,
24966      660,   763,   765,   766,   902,  1154,    97,   447,   497,   638,
24967      641,   644,   935,   948,   952,   955,   964,   971,   976,   980,
24968       11,    21,    28,    48,   164,   170,   172,   196,   226,   260,
24969      317,   336,   488,   489,   779,   780,   977,  1159,  1161,    28,
24970       97,   332,   365,   784,   785,   786,  1169,   169,  1169,  1156,
24971     1160,   401,   994,   779,  1169,   415,  1154,   299,   246,   112,
24972      200,   359,   400,   401,   497,   867,   868,   358,  1169,    28,
24973      370,   411,   415,   531,   540,   541,  1169,    25,   178,   784,
24974      785,   315,   902,  1169,   223,    28,   133,   996,   997,    66,
24975       91,   237,   255,   350,   359,   370,   411,   415,   462,   528,
24976      529,   530,   531,    28,   370,   411,   415,   531,   415,   285,
24977     1039,  1152,  1169,   994,   490,  1169,   173,   497,   941,   497,
24978      330,   986,   987,  1154,   986,     3,    52,    54,    55,    68,
24979       69,   115,   116,   137,   165,   212,   213,   215,   256,   258,
24980      277,   327,   374,   380,   411,   412,   444,  1061,  1063,  1065,
24981     1067,  1069,  1071,  1072,  1073,  1075,  1076,  1077,  1079,  1080,
24982     1170,  1174,   996,   997,   998,  1165,    12,  1166,  1167,  1169,
24983     1166,  1166,   981,   982,   985,     0,   500,   497,   940,   148,
24984      214,   290,   429,   999,  1000,   981,   983,   984,   123,   210,
24985      435,   501,    34,   906,   831,  1157,   768,  1169,   768,  1154,
24986      318,   768,   418,  1154,   111,   401,   819,  1157,  1169,  1176,
24987        3,   104,   108,   371,  1162,  1163,  1171,  1174,  1175,  1176,
24988       28,   190,  1152,   278,   449,    10,    17,    18,    19,    73,
24989      160,   485,   486,   487,   488,   489,   490,   491,   492,   493,
24990      853,   855,  1117,  1118,  1169,   190,  1154,   819,  1154,    28,
24991     1162,  1163,   819,  1154,  1154,   190,  1152,  1154,   190,   768,
24992     1154,   342,   372,    28,   190,  1039,  1154,   362,  1154,   768,
24993       28,   244,  1162,  1163,   190,  1152,   224,   120,   220,   269,
24994      326,   903,   904,   905,   497,   495,   499,  1143,  1145,   934,
24995      935,   936,   937,  1171,  1152,  1154,  1169,    27,    65,    79,
24996       90,   112,   136,   174,   200,   225,   286,   320,   350,   353,
24997      395,   404,   416,   423,   763,   764,   765,   766,  1160,   906,
24998      951,   955,   964,   971,   980,  1152,   248,   768,   497,   190,
24999      768,  1154,   768,   418,   190,  1154,   111,   401,   405,   407,
25000     1162,  1163,   405,   407,    73,   160,   853,   340,  1154,  1154,
25001     1162,   190,   524,  1169,   190,  1154,   190,   768,  1154,  1154,
25002      362,   768,   244,  1162,   330,   366,   401,   449,   246,    94,
25003      200,    27,    90,   174,   320,   357,   416,   418,   422,   655,
25004       28,  1154,   978,   538,  1160,  1171,   858,   248,   190,   831,
25005      832,   190,   862,   190,  1154,   190,   770,  1061,   418,   111,
25006      401,   190,   818,   819,   190,  1163,  1164,    86,   449,    73,
25007      160,   190,   854,   855,    58,   190,   818,   190,  1164,   190,
25008      818,   190,  1154,   190,  1154,   362,   862,   190,   770,   190,
25009      244,  1164,   224,   190,   767,   768,   190,  1153,  1154,   190,
25010     1154,   906,   497,   953,   589,   948,   443,   934,   940,  1161,
25011      780,   781,    28,   781,  1161,   781,    28,   781,  1161,   781,
25012      781,   781,  1161,  1159,  1159,   977,   781,   318,   497,   497,
25013      611,   611,   611,   284,   413,   501,   611,   359,  1039,  1040,
25014      501,   897,  1160,   497,   950,    58,   449,   934,    86,   802,
25015      802,  1169,    47,   476,   220,   499,   287,   287,   284,   172,
25016     1160,   413,   906,   167,   776,   284,     5,     8,     9,    10,
25017       12,    36,    52,    54,    55,    64,    65,    68,    69,    76,
25018       78,   102,   103,   104,   105,   106,   107,   108,   115,   116,
25019      118,   153,   158,   159,   165,   180,   182,   212,   213,   215,
25020      230,   238,   239,   256,   258,   267,   269,   274,   275,   277,
25021      286,   297,   310,   327,   355,   371,   380,   396,   411,   412,
25022      417,   419,   420,   430,   436,   444,   464,   465,   466,   467,
25023      469,   470,   471,   472,   477,   488,   489,   490,   497,   981,
25024     1064,  1067,  1070,  1071,  1072,  1074,  1075,  1076,  1079,  1080,
25025     1084,  1086,  1087,  1088,  1090,  1113,  1114,  1115,  1119,  1137,
25026     1142,  1149,  1150,  1157,  1158,  1159,  1160,  1169,  1148,  1149,
25027     1160,    28,   546,  1151,  1152,   370,   528,   118,   537,  1160,
25028      538,  1160,    47,    70,   528,   476,   381,   904,   287,   172,
25029      413,   487,    47,   476,   220,   905,   497,  1152,   490,  1145,
25030     1040,   934,   171,   942,  1084,  1122,   986,   501,   497,   943,
25031      446,  1078,  1078,  1078,   497,  1066,  1066,   312,   497,  1068,
25032       68,    69,  1078,  1066,  1063,   458,   479,   497,  1081,   497,
25033     1081,    36,  1062,   497,   113,   188,   249,   252,   363,   474,
25034      497,  1082,  1083,   499,   769,  1066,  1148,  1146,   498,   498,
25035      506,   934,   944,   945,   946,  1152,    28,   133,   995,   995,
25036       58,   995,   161,   167,   234,   281,  1003,  1005,  1006,  1021,
25037     1023,  1024,  1025,   999,  1000,   172,   216,  1039,  1041,   497,
25038       67,   265,   300,   338,   372,   497,   829,   300,   334,   338,
25039      372,   769,   300,   338,   372,     3,    89,   142,   240,   300,
25040      338,   372,   404,   406,   456,   539,   542,   911,   912,   913,
25041      914,   796,    24,   138,   300,   338,   372,   440,   555,  1154,
25042       24,   138,   372,   435,   522,   460,   190,  1039,    61,    96,
25043      157,   193,   229,   265,   269,   300,   301,   338,   347,   356,
25044      364,   372,   384,   393,   397,   451,   539,   543,   835,   847,
25045      874,   497,   816,  1145,   338,   522,   196,   153,    24,    30,
25046       45,    75,   131,   138,   141,   168,   202,   265,   269,   279,
25047      288,   300,   338,   341,   342,   372,   440,   551,   553,   554,
25048      678,   874,     5,   488,   489,   652,  1161,    28,   190,  1152,
25049      768,   768,   497,   852,   300,   372,   499,   153,   284,   300,
25050      338,   372,   847,   874,    24,   138,   300,   338,   372,   196,
25051      517,   338,   456,   479,   510,   517,   300,   338,   372,   847,
25052      874,   284,   300,   338,   153,    37,    59,   110,   199,   247,
25053      250,   265,   299,   338,   343,   366,   372,   386,   551,   649,
25054      650,   300,   338,   448,   678,   686,   153,   300,   338,   372,
25055       24,    89,   131,   138,   141,   300,   334,   338,   372,   541,
25056      529,   531,   196,   153,    45,   129,   265,   338,   372,   551,
25057      552,   300,   338,   342,   372,    87,   130,   302,   406,   284,
25058       24,    30,   138,   300,   338,   372,   570,   571,   517,   167,
25059      338,   510,   517,   153,   338,   372,   551,  1154,   232,   120,
25060      285,   461,   501,   903,    28,   133,   445,   490,   498,   824,
25061     1084,  1123,  1124,  1170,  1084,  1144,     3,    28,    32,    33,
25062       34,    35,    36,    37,    38,    42,    56,    64,    65,    71,
25063       77,    79,    90,    97,   102,   103,   104,   106,   107,   108,
25064      118,   120,   128,   133,   134,   140,   144,   148,   159,   161,
25065      167,   169,   172,   178,   181,   185,   196,   204,   214,   216,
25066      227,   228,   234,   238,   239,   269,   274,   281,   284,   285,
25067      289,   290,   307,   316,   332,   346,   365,   371,   382,   398,
25068      401,   409,   413,   414,   420,   429,   430,   436,   437,   445,
25069      452,   453,   455,   456,   490,  1155,  1172,  1174,  1175,  1176,
25070     1177,  1143,   498,   501,   159,   284,   420,   535,   538,   652,
25071      938,   437,   931,   284,   831,   497,   768,  1154,  1061,   819,
25072      278,    73,   160,   855,   819,   819,   167,  1061,   768,  1154,
25073     1154,   498,   611,  1154,    71,  1061,   269,   172,   497,   736,
25074      510,    37,   925,  1154,   269,   510,   460,   190,  1152,   510,
25075      768,   768,   736,   433,   589,   284,   167,   883,   884,   510,
25076      269,    47,   525,   269,   423,   685,   269,   943,    89,   300,
25077      662,    87,   130,   302,   406,    37,   736,   167,   190,   510,
25078      449,   190,  1152,   190,   639,  1152,  1152,   449,   768,   802,
25079     1157,   418,  1157,  1157,  1154,   167,  1154,   660,    39,    53,
25080      109,   209,   265,   361,   153,    62,   344,   501,   556,   153,
25081      497,   153,   510,   153,   501,   556,   460,   153,   501,   556,
25082      153,   501,   190,   767,   190,   768,   190,   768,   153,   501,
25083      556,  1164,   153,   556,   153,   153,   556,   153,   556,   153,
25084       87,   130,   302,   406,   167,   153,   556,   153,   167,   190,
25085      153,   501,   556,   153,   501,   556,   153,   284,  1122,   401,
25086      498,   948,   781,   977,   781,   977,   781,   977,   781,   977,
25087      781,   977,   977,   977,   781,   977,   497,   612,   613,  1169,
25088      612,    28,   112,   136,   169,   174,   224,   225,   320,   353,
25089      359,   366,   401,   404,   423,   787,  1151,  1164,   786,  1154,
25090      196,   501,   967,  1160,  1061,  1126,    37,  1164,   802,   498,
25091     1152,  1154,   232,  1169,   167,   167,   787,  1164,   358,  1169,
25092      538,   284,   497,  1146,   495,   981,  1127,  1084,  1141,   497,
25093      497,   167,   497,   497,   981,   497,   497,   497,   497,   497,
25094      497,   497,  1084,   497,   497,   497,   497,   497,   497,   497,
25095      497,   981,   497,   497,   497,   497,   497,   497,   497,   497,
25096     1084,  1084,  1084,   981,  1084,  1122,  1145,  1160,   497,  1160,
25097        3,    10,    13,    17,    18,    19,    20,    21,    22,    23,
25098       24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
25099       34,    35,    37,    38,    39,    40,    41,    42,    43,    44,
25100       45,    46,    47,    48,    49,    50,    51,    52,    53,    54,
25101       55,    56,    57,    58,    59,    60,    61,    62,    63,    64,
25102       65,    66,    67,    70,    71,    72,    73,    74,    75,    76,
25103       77,    78,    79,    80,    81,    82,    83,    84,    85,    86,
25104       87,    88,    89,    90,    91,    92,    93,    94,    95,    96,
25105       98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
25106      108,   109,   110,   111,   112,   114,   115,   116,   117,   118,
25107      119,   120,   121,   122,   123,   124,   125,   126,   127,   128,
25108      129,   130,   131,   132,   133,   134,   135,   136,   137,   138,
25109      139,   140,   141,   142,   143,   144,   145,   146,   147,   149,
25110      150,   151,   152,   153,   154,   155,   156,   157,   158,   159,
25111      160,   163,   164,   165,   166,   168,   169,   170,   171,   173,
25112      174,   175,   176,   177,   179,   180,   182,   183,   184,   186,
25113      187,   189,   190,   191,   192,   193,   194,   195,   196,   197,
25114      198,   199,   200,   201,   202,   203,   204,   205,   206,   207,
25115      208,   209,   210,   211,   212,   213,   215,   217,   218,   219,
25116      220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
25117      230,   231,   232,   233,   235,   236,   237,   238,   239,   240,
25118      241,   242,   243,   244,   245,   246,   247,   248,   250,   251,
25119      253,   254,   255,   256,   257,   258,   259,   260,   261,   262,
25120      263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
25121      273,   274,   275,   276,   277,   278,   279,   280,   282,   283,
25122      285,   286,   287,   288,   289,   291,   292,   293,   294,   297,
25123      298,   299,   300,   301,   302,   303,   304,   305,   306,   307,
25124      308,   309,   310,   311,   313,   314,   315,   316,   317,   318,
25125      319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
25126      329,   330,   331,   332,   333,   334,   335,   336,   337,   338,
25127      339,   340,   341,   342,   343,   344,   345,   347,   348,   349,
25128      350,   351,   352,   353,   354,   355,   356,   357,   358,   359,
25129      360,   361,   362,   364,   365,   366,   367,   368,   369,   370,
25130      371,   372,   373,   374,   375,   376,   377,   378,   379,   380,
25131      381,   382,   383,   384,   385,   386,   387,   388,   389,   390,
25132      391,   392,   393,   394,   395,   396,   397,   398,   399,   400,
25133      401,   402,   403,   404,   405,   406,   407,   408,   409,   410,
25134      411,   412,   414,   415,   416,   417,   418,   419,   420,   421,
25135      422,   423,   424,   425,   426,   427,   428,   430,   431,   432,
25136      433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
25137      443,   444,   445,   447,   448,   449,   450,   451,   452,   454,
25138      459,   460,   461,   462,   463,   464,   465,   466,   467,   468,
25139      469,   470,   471,   472,   473,   475,   476,   477,   485,   486,
25140      487,   488,   489,   490,   491,   492,   493,  1117,  1119,  1121,
25141     1173,  1178,   457,  1100,   296,  1084,   216,   501,   992,   497,
25142     1160,  1145,   992,   121,   192,   547,   501,    70,   118,   538,
25143       37,     3,   118,   237,   536,   652,  1080,  1160,  1160,    92,
25144      135,  1096,   101,   118,   532,   533,   535,   652,   118,   532,
25145      232,  1152,    93,   343,   772,   498,   940,    34,    44,    51,
25146       77,   191,   196,   218,   233,   286,   289,   377,   498,   501,
25147      987,  1153,    37,   497,  1122,  1159,  1078,  1078,    36,  1062,
25148      411,   411,  1159,  1159,   495,   495,  1159,   413,   413,   413,
25149      497,   413,  1159,  1155,   499,  1066,   172,  1028,    15,   487,
25150     1143,  1168,   498,   501,   943,   983,   983,  1001,  1002,  1084,
25151      983,   164,   260,  1012,   222,   265,   326,   375,   435,    28,
25152     1007,  1084,   488,   489,  1008,  1009,  1084,  1086,  1021,  1022,
25153     1006,  1005,  1003,  1004,   167,  1024,   279,  1026,  1003,  1021,
25154     1041,   956,  1152,    37,  1169,   372,  1122,    67,   413,   413,
25155      359,   196,   207,   290,   293,   374,   445,   490,   822,   823,
25156      824,   826,   828,   830,  1061,  1170,   413,   448,   413,   359,
25157      413,   413,   359,   234,   413,   413,   404,   528,   300,   911,
25158      913,   487,   915,   167,   178,   196,   348,   797,   798,    71,
25159       90,   149,   169,   316,   430,   608,   609,    90,   118,   269,
25160      413,    90,   413,   118,   269,   359,    90,   131,   141,   300,
25161      338,   733,   359,   668,    27,    65,   136,   174,   286,   320,
25162      353,   416,   423,   763,   764,  1154,   153,   338,   372,   551,
25163      284,   652,   364,   229,   413,  1169,   413,   274,   652,   122,
25164      217,   359,   370,   415,   530,   768,   344,   372,   835,   848,
25165      126,   498,   817,   822,   413,   436,   404,  1152,    79,   149,
25166      190,   596,   608,  1169,    79,    90,   871,   304,   284,   355,
25167      357,   418,    90,   871,    31,   341,   355,   357,   418,   355,
25168     1152,   168,   202,   279,   768,   497,   413,   413,   189,   497,
25169      560,   243,   404,   433,   458,   560,    90,   501,   126,     5,
25170        5,   300,   196,   153,   338,   372,   551,   874,   437,   437,
25171      266,  1061,   413,   359,   497,   853,  1154,  1152,   413,   413,
25172      359,   848,   126,   401,   401,   413,   413,   401,   736,   112,
25173      372,   542,   413,   512,   542,   413,   413,   359,   848,   126,
25174     1152,   413,   413,  1152,  1063,   652,    58,   651,   652,   652,
25175      110,   247,   250,    58,   413,   510,   254,   359,   510,   265,
25176      650,   413,   413,   274,  1160,   678,   768,   413,   413,   359,
25177      388,   323,  1160,   323,   413,   323,   413,   323,   736,   404,
25178     1039,   304,   304,    90,   413,   871,   359,   413,   413,   560,
25179      560,   768,   768,   768,   768,  1152,    46,   442,    46,    46,
25180      413,    46,   413,   442,   359,   497,   501,   542,   436,   694,
25181     1163,   413,   512,   542,  1152,   413,   871,   359,   300,   338,
25182      326,   339,   368,   534,   903,  1123,  1123,  1124,   498,    15,
25183       16,   501,   999,  1000,   496,   502,  1152,   936,  1154,  1152,
25184      218,  1061,   218,   284,   218,   218,   652,   768,   768,   218,
25185      218,   218,  1061,   218,   218,   218,   284,   413,   172,   413,
25186      574,   423,   497,    37,   153,   768,   737,   738,  1172,   911,
25187     1061,   284,   153,   665,  1154,   269,   304,   497,   511,   750,
25188      437,   330,   449,  1152,    28,   401,   456,   843,   511,   153,
25189     1163,    97,   178,   526,   588,   645,   708,   782,   800,   907,
25190      153,  1160,   686,   687,   153,   284,  1160,  1163,   240,   768,
25191      768,   768,   768,   145,   325,   497,   694,   269,   511,  1152,
25192      269,   647,   649,   269,    37,   279,   304,   497,   611,   611,
25193      190,   642,  1152,   167,   190,   803,  1154,   497,   740,   829,
25194     1154,   497,   820,   820,    37,  1061,    26,    49,   211,   709,
25195      224,   456,   458,   979,   361,   832,   831,  1061,  1154,   497,
25196      770,  1061,   818,   819,  1164,  1163,   153,   556,   153,   437,
25197      153,   437,   854,   855,   556,   818,  1164,   818,  1154,  1154,
25198     1061,   770,  1164,   694,   153,   767,   768,  1153,  1154,  1154,
25199      768,   498,   190,  1152,   948,   977,   977,   977,   977,   977,
25200      977,   612,   498,   501,   498,   175,   321,   354,   367,   402,
25201     1153,   767,   111,   369,   818,  1153,   278,   818,   818,  1153,
25202     1151,  1151,  1153,   767,   413,   456,   793,   148,   234,   691,
25203      692,    22,   151,   355,   375,   968,  1039,   273,   969,   498,
25204      501,   951,   413,  1152,   867,   868,   785,   784,   785,   172,
25205      179,   794,  1169,    27,    79,   136,   174,   225,   320,   353,
25206      423,   763,   764,  1122,   496,  1122,  1127,  1128,   452,  1138,
25207     1139,  1084,  1122,   497,  1159,  1159,     3,   113,   188,   249,
25208      252,   363,   474,  1129,  1130,  1160,  1122,  1122,  1122,  1159,
25209     1159,  1084,  1084,   853,  1084,  1123,  1125,  1132,   355,   488,
25210      489,   497,  1085,  1086,  1119,  1133,   498,  1122,  1084,  1125,
25211     1134,  1084,    56,   172,   228,   414,  1084,  1122,  1135,  1122,
25212      254,  1086,  1084,  1094,  1095,  1096,   254,  1084,  1096,   498,
25213      501,  1159,  1082,  1061,  1084,  1084,  1084,  1084,  1172,   411,
25214       42,   398,  1147,   768,  1084,   497,   981,  1136,   133,   135,
25215      159,   261,   262,   263,   264,   268,   269,   274,   420,   431,
25216     1131,  1084,   497,  1084,   413,    51,   191,   196,   233,   377,
25217     1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,
25218       28,    35,   382,  1116,   181,   162,  1101,   355,   497,  1113,
25219      177,   237,   401,   405,   407,   433,   993,  1152,  1150,  1028,
25220     1123,  1028,  1152,   415,   497,  1160,   501,   498,   189,   189,
25221      556,   946,   935,   939,  1084,   498,   246,   269,   988,  1122,
25222      498,   498,   495,   476,   476,   498,   498,  1159,   496,  1159,
25223      498,   188,   249,  1083,   249,  1083,  1083,  1159,   252,   498,
25224     1155,   227,   356,   473,   497,   981,  1029,  1030,  1031,  1039,
25225     1044,  1054,  1087,  1089,  1090,  1169,   453,  1049,  1165,   946,
25226      944,   501,    38,   128,   437,   812,   355,   356,   488,   489,
25227     1009,  1011,  1086,   375,   222,   285,   501,     5,  1010,  1159,
25228     1010,   355,   356,  1011,  1151,   273,   379,   970,  1022,  1004,
25229      437,   965,   118,   298,   497,   957,   980,    37,  1169,   497,
25230      972,   973,   974,  1169,   498,  1163,  1154,  1154,   293,    58,
25231     1170,   498,   824,   826,   823,   826,  1170,   290,   498,   501,
25232      769,  1163,  1154,  1154,  1163,  1154,  1154,  1163,  1154,  1154,
25233      118,   535,  1161,   350,   436,   784,   359,   178,   784,   497,
25234     1154,   437,   804,   222,   222,   437,   497,   633,   190,  1154,
25235      274,  1163,  1154,  1154,  1084,   274,  1154,  1154,    31,   341,
25236      413,   413,  1154,   413,   669,   831,   497,  1061,   819,    73,
25237      160,   855,   819,   819,   167,  1061,   768,  1154,   184,   265,
25238      300,   338,   441,   672,   673,   674,  1039,   413,   871,   359,
25239      274,   122,   217,  1163,  1154,   284,  1154,   284,   498,   501,
25240     1162,  1164,  1154,   338,   551,   190,   596,   269,  1061,  1154,
25241     1159,  1169,  1152,  1154,   232,  1154,    28,   436,  1154,   190,
25242     1154,   190,  1169,   357,   418,   357,   418,   232,  1154,    28,
25243      436,  1154,   232,   355,  1152,    24,   138,   372,   679,   680,
25244      681,   682,  1172,  1163,  1154,   118,   173,   270,   437,   559,
25245      562,   563,  1172,  1154,    75,   282,  1154,   554,   284,   413,
25246      404,  1152,   413,   871,   359,   126,  1154,  1154,   501,   498,
25247      501,  1163,  1154,   877,   878,  1172,   284,   338,   413,   702,
25248     1163,  1154,  1154,   284,  1040,  1040,  1163,  1154,  1040,  1154,
25249     1162,     3,    89,   143,   202,   306,   428,   436,   439,   513,
25250     1163,  1154,  1154,   284,   338,  1163,  1154,   338,   372,   551,
25251      649,   652,   768,  1154,   652,   768,  1154,   652,  1163,  1154,
25252      372,  1163,  1154,  1154,  1161,  1153,  1153,  1163,   843,  1154,
25253     1153,  1154,   338,   372,   551,   552,  1152,  1152,  1154,  1154,
25254     1154,  1154,  1163,  1154,    24,    30,   138,   300,   338,   372,
25255      300,   338,   372,   736,   338,   372,   338,   372,   338,   874,
25256     1053,  1169,   190,   746,  1169,   190,  1169,  1163,  1154,  1154,
25257     1160,  1154,   877,    24,   571,   369,  1162,   338,   372,   551,
25258     1154,  1154,  1154,   413,   413,    84,   427,   326,   501,   999,
25259      999,   999,  1084,  1084,   445,  1124,   498,  1084,  1144,   931,
25260      274,   774,  1160,    37,   774,   136,   768,   774,   774,   218,
25261      437,   437,   774,   774,   774,   224,   774,   774,   774,   768,
25262      322,   575,   575,   200,   401,   707,  1084,  1061,   768,   498,
25263      501,   487,   600,  1172,  1154,    62,   172,   359,   448,   666,
25264      673,   674,   153,   279,   233,   590,   592,   594,   596,   605,
25265      608,    25,   196,   350,   399,   513,   514,   167,  1154,   449,
25266     1152,    37,   703,   402,  1040,   736,   524,  1169,   525,   589,
25267      815,  1154,   169,   768,   497,   635,   636,  1089,  1169,   323,
25268     1160,   736,   736,   736,   736,   497,   736,  1051,  1052,  1053,
25269      369,   153,   497,   153,   153,   152,   980,   768,   279,   590,
25270     1169,   437,   628,   456,   561,   269,    37,   611,  1160,   269,
25271      284,     3,   741,   742,   736,    26,   498,   821,   822,   827,
25272       37,   224,   347,   416,   455,   833,   834,   835,   836,   833,
25273      284,   224,   279,   123,   210,   421,   435,   710,   711,  1154,
25274      187,   187,   167,   556,    37,   510,   168,   919,   920,   556,
25275      556,   767,   768,  1154,   768,  1154,   556,   556,   556,   556,
25276      224,   556,   369,   167,   556,   556,   284,   556,   269,   498,
25277      613,   196,   196,   196,   196,   196,   460,  1153,   652,   653,
25278      181,   788,   789,  1163,    25,   794,   413,   497,   172,   151,
25279      375,   151,   375,   355,   435,   251,  1061,  1163,   456,   640,
25280      802,   802,   172,   284,   788,    58,   556,   831,   768,  1061,
25281      819,   278,   819,   819,  1061,   768,  1154,   498,   496,   496,
25282      501,  1084,   140,  1139,  1140,    37,   498,  1084,   498,   498,
25283      498,   172,   498,   498,   498,   498,   498,   498,   501,   501,
25284      498,   307,   498,   498,   497,  1085,  1085,  1122,    13,    17,
25285       18,    19,   196,   218,   286,   485,   486,   487,   488,   489,
25286      490,   491,   492,   493,  1119,  1085,   498,   498,   167,   172,
25287      377,   498,   498,    37,  1135,  1122,  1135,  1135,   172,   498,
25288      498,  1172,   305,  1098,    37,   498,   501,  1084,  1172,   501,
25289     1084,  1146,  1084,   498,   476,  1085,  1085,   146,  1122,   172,
25290      133,   135,   159,   268,   274,   420,   431,  1131,   268,   146,
25291      853,  1084,   398,  1147,  1084,  1136,  1084,   413,   497,   981,
25292      497,   497,   295,  1105,   497,  1122,   405,   407,   405,   407,
25293     1152,   994,   994,   994,  1049,   999,  1049,   904,  1159,  1082,
25294      533,   946,   246,   497,   498,  1159,  1081,  1081,   496,   496,
25295      498,   981,  1044,  1054,   172,   497,   981,  1030,  1031,    37,
25296     1032,  1033,  1169,   501,    98,   173,   206,   221,   231,   257,
25297      349,  1036,  1033,    37,  1032,  1035,  1169,  1033,   479,  1048,
25298     1145,  1084,   181,  1013,  1002,   286,  1117,  1120,   478,   813,
25299        5,  1159,  1011,   285,   456,   435,  1008,   242,  1029,   453,
25300     1050,   443,   400,   436,   958,   959,   960,  1169,   284,   961,
25301     1169,   974,   975,   501,  1028,   487,  1146,   830,   769,   826,
25302      826,    58,   828,   492,  1164,  1164,   284,  1153,   287,   284,
25303     1084,   609,  1154,   497,   497,   497,   633,   200,   612,   726,
25304      153,   556,   413,  1163,  1154,   538,  1061,   768,   768,  1061,
25305      656,  1154,   184,   441,   413,   413,   656,   672,   678,   338,
25306      372,   551,  1154,  1154,  1154,   208,   274,   156,   822,   299,
25307      372,   413,   269,   153,    85,   598,   599,   726,   372,    24,
25308      138,   342,   343,   372,   555,   564,   565,   678,   872,   364,
25309      153,   556,   153,   556,  1154,  1154,  1154,  1154,   364,   364,
25310      232,   681,   682,   681,   498,   501,   683,  1160,   200,   498,
25311      501,   487,   499,   156,  1163,  1154,   338,   372,   551,  1154,
25312     1154,  1154,   284,   300,   338,   372,    24,   138,   300,   338,
25313      372,  1061,   266,  1061,   498,   501,   487,  1152,   413,  1164,
25314      437,   699,   156,   234,   306,   274,  1160,   306,  1164,   434,
25315      156,   413,   413,   359,   388,   843,   843,   843,   299,   372,
25316       90,   413,   871,   359,   118,   167,   566,   163,   802,   413,
25317      413,   244,   244,   244,   413,   413,   359,   413,   413,   359,
25318      413,   359,   413,   359,   413,   126,   556,  1061,   269,  1160,
25319      372,   872,   153,   556,   413,   413,   498,  1154,   413,   871,
25320      359,   413,  1163,  1154,   498,   498,   498,  1124,   496,  1061,
25321      768,   218,   774,  1154,  1154,  1154,   218,   389,   390,   576,
25322     1160,   576,   184,   498,   498,   172,   736,   738,   266,   286,
25323      488,   489,   652,   739,   826,  1120,  1160,  1177,    71,    77,
25324       90,   118,   120,   176,   204,   269,   274,   316,   332,   430,
25325      601,   602,   604,   152,   452,   510,   538,  1154,   538,   288,
25326      676,  1152,  1152,  1152,   498,   501,  1164,   181,   350,  1164,
25327     1159,   423,  1152,   611,     3,   167,   704,    47,   525,   401,
25328      685,   111,   943,  1084,   172,   501,  1153,   561,   743,   744,
25329     1160,   498,   501,  1154,   167,   612,  1152,   639,  1152,  1154,
25330      640,   497,   591,  1152,   498,  1154,   456,   458,   629,   560,
25331       37,   153,   980,   628,   413,   153,  1039,   487,   498,   501,
25332      710,   498,   501,   118,   487,   837,  1160,   538,   401,   825,
25333      826,   167,   842,    50,   345,   838,   839,   836,   839,   123,
25334      210,   365,   435,   894,  1154,   279,   284,   289,   184,   980,
25335     1061,   497,   498,   501,   556,   437,   556,   437,   556,  1154,
25336     1154,   694,   768,   153,   359,   359,   359,   359,   359,  1153,
25337      501,  1163,   456,   501,   790,   287,  1040,   369,   151,   151,
25338      111,   265,  1152,  1154,  1164,   787,   794,  1163,   218,   218,
25339      218,   218,   652,   218,   218,   218,   218,   218,  1127,   409,
25340     1084,   144,  1061,   498,  1084,  1131,  1084,  1084,   498,  1122,
25341      501,  1061,  1085,  1085,  1085,  1085,   133,   135,   269,  1085,
25342     1085,  1085,  1085,  1085,  1085,  1085,  1085,  1085,  1085,  1084,
25343     1084,  1084,  1061,   498,   498,   498,  1122,   498,   501,    58,
25344     1086,  1099,   498,  1172,  1095,   313,   394,  1097,   498,   501,
25345      448,  1091,    37,   498,  1160,  1084,    34,    34,  1084,   498,
25346     1084,   172,   268,  1084,   498,   146,  1085,  1085,   146,   146,
25347     1084,  1084,  1000,   453,   497,  1106,  1169,   498,  1122,   501,
25348      994,   994,   994,   994,  1152,  1152,  1152,  1013,   498,  1013,
25349      498,   951,   496,  1033,  1035,  1033,   497,   468,  1086,   498,
25350     1169,   497,  1030,   221,   294,  1037,  1030,  1037,   221,  1036,
25351     1037,   221,   403,  1042,   497,  1169,   497,   291,    58,   185,
25352     1020,   497,   813,   164,   226,   285,   456,   410,   101,  1084,
25353      346,   963,   442,   498,   501,  1146,    88,   963,   498,   501,
25354      973,  1050,  1084,   498,   492,   830,   423,   175,   354,   360,
25355      367,   402,   424,   799,   167,   799,   498,   497,   616,   617,
25356      807,  1089,  1169,   612,   612,   726,  1154,   498,   120,   204,
25357      265,   269,   727,  1154,  1154,    37,   437,   437,   224,   769,
25358     1163,  1154,   413,   871,   359,   413,   208,  1154,    58,   404,
25359     1154,   153,   596,   118,  1169,   676,   388,   176,   155,   189,
25360      269,   560,   510,   111,   176,   269,   388,   391,   560,   598,
25361      650,   372,   565,   423,  1154,  1169,   364,   680,  1154,   563,
25362      739,  1172,  1154,   299,   372,   413,   871,   359,   413,   156,
25363      413,   413,   359,   174,   286,   391,   748,   749,   174,   286,
25364      756,   757,   413,   413,   359,   498,   498,   498,   878,   266,
25365      652,   826,   879,  1120,  1160,  1177,   338,  1154,   497,   456,
25366      700,  1154,  1161,  1160,  1160,  1160,  1154,  1154,  1154,  1154,
25367     1161,    58,   404,  1154,  1154,  1154,  1154,   443,  1154,  1154,
25368      167,   167,   340,   167,   190,  1163,  1154,  1154,  1163,  1154,
25369     1154,  1154,  1154,  1154,  1154,  1154,   284,    77,   557,   153,
25370       26,    49,   423,  1169,  1154,  1160,   678,  1154,  1154,  1154,
25371     1154,   999,   498,   218,   774,   218,   218,   218,   774,   510,
25372      437,   581,   582,   656,   726,   456,   458,   768,   497,   768,
25373     1154,  1085,    31,    58,   603,   121,   192,   120,   274,   222,
25374     1152,   843,   174,   320,   722,   729,   730,  1169,   665,   497,
25375      304,   497,   591,   606,   203,   623,   594,  1164,  1164,  1061,
25376      497,   561,    28,   123,   210,   365,   435,   705,   413,   701,
25377     1163,   190,  1152,   687,   460,   284,   498,  1029,   636,   843,
25378      498,   501,  1053,   676,   694,   498,   647,    37,   279,   304,
25379      497,   953,   593,   595,   597,   608,  1169,   304,   624,   625,
25380      591,   623,   560,   282,   284,   630,   980,   642,   640,   561,
25381     1160,  1154,   804,   739,     3,   742,   284,   827,  1084,  1084,
25382      501,   497,   833,   423,   501,    43,  1084,   413,   497,   612,
25383     1152,   711,   656,   498,   919,   920,  1154,  1154,   556,   369,
25384      556,  1153,  1153,  1153,  1153,  1153,   652,   178,   789,   794,
25385      498,  1154,   111,   794,   172,   556,   274,   777,  1160,   777,
25386      777,   777,   218,   777,   777,   777,   777,   777,  1084,   498,
25387      498,   498,   172,   498,  1084,   172,   133,   135,   172,   167,
25388      146,   498,   463,  1093,  1122,   331,   442,    58,  1099,  1086,
25389      454,   454,   498,  1084,   265,  1084,   501,  1092,  1063,  1084,
25390     1084,  1084,  1084,    34,    34,  1084,  1084,   146,   498,   498,
25391     1084,  1107,  1169,   498,  1084,  1152,  1152,  1152,  1152,  1020,
25392     1160,  1020,  1160,   498,  1045,  1046,  1089,   497,  1098,  1032,
25393      497,  1153,  1030,   284,   437,  1038,  1030,   221,  1030,  1157,
25394     1052,   497,  1052,  1169,   995,  1084,   455,  1102,   853,   410,
25395      279,  1149,   980,   298,   980,   960,   284,   497,   962,   487,
25396      974,   963,   423,   498,   413,   784,   172,   726,  1084,   498,
25397      501,   456,    77,   806,   810,   806,   498,   498,   197,   614,
25398      121,   192,   202,   120,   439,   556,  1061,  1154,  1154,  1154,
25399     1154,  1154,  1154,  1154,  1164,  1154,   596,   600,  1161,   603,
25400      190,   190,   274,   652,   603,   274,  1161,  1169,  1061,   556,
25401      556,   487,    58,   404,  1154,  1154,  1154,  1154,  1154,  1163,
25402     1154,  1154,  1159,  1159,  1061,   501,  1159,  1159,   501,  1163,
25403     1154,  1154,   413,  1084,    71,  1164,  1154,   413,   413,   172,
25404      196,   456,  1153,  1153,   768,  1153,   153,   156,   768,  1160,
25405     1160,  1061,   556,   556,   413,   498,   218,   774,   774,   774,
25406      774,   497,   577,   578,   510,   125,   174,   207,   174,  1084,
25407      269,   602,   118,    37,   843,   611,   437,   632,  1157,    34,
25408      152,   196,   677,   681,   279,   590,   566,   150,   198,   497,
25409      369,   437,   612,    37,  1164,   699,   525,   269,   497,   169,
25410     1154,   635,  1160,   369,   561,   152,   980,   768,   279,   590,
25411      640,   498,   501,   456,   600,    58,   628,   566,   624,    83,
25412      404,   631,   456,   908,    37,   631,   172,   284,   497,  1152,
25413     1160,   824,   844,   845,  1170,   839,  1061,   167,   840,  1152,
25414      172,   413,   864,   333,   712,   205,   657,   556,   498,   556,
25415      556,  1154,   287,   216,   556,   788,   777,  1084,   498,  1085,
25416      172,  1084,  1084,  1084,   497,   498,   501,   498,  1099,   498,
25417      442,   385,   498,   498,  1084,  1084,  1084,   498,   304,  1108,
25418      498,  1102,  1102,   362,   989,   498,   501,    37,  1047,   118,
25419     1059,  1060,  1085,    80,  1153,   498,  1084,   497,  1030,  1038,
25420      497,   498,  1052,   498,   100,   182,   352,   497,  1014,  1015,
25421     1016,  1017,  1018,  1019,  1084,  1103,  1104,  1169,   999,   498,
25422      977,   958,    90,   805,   807,   134,  1084,   788,   284,   788,
25423      498,   614,   617,   286,   853,   768,   768,   811,   332,   614,
25424      497,   843,   498,   413,   372,   969,    37,   153,   153,   557,
25425      739,  1164,  1154,   413,   497,   819,   853,   855,   749,   497,
25426      497,   757,  1154,   498,   497,   372,   969,  1154,  1154,   497,
25427      497,   497,   456,   479,   928,   340,   928,   928,   167,  1154,
25428      557,  1154,   774,   583,   584,  1172,    53,    99,   124,   142,
25429      146,   168,   171,   186,   274,   324,   579,   577,  1160,   819,
25430       37,   860,   860,   498,   189,   497,   632,   245,   615,   200,
25431      497,   730,   722,   497,   498,   501,  1152,   498,   369,    28,
25432       82,    85,    91,   119,   176,   189,   201,   388,   391,   607,
25433      607,  1151,  1154,  1154,   498,   980,   700,   153,   111,   676,
25434      172,  1154,    37,  1154,   640,   591,  1152,   498,   595,   288,
25435     1169,   629,   624,   628,   123,   138,   313,  1154,    63,    71,
25436      237,   980,   768,  1039,   805,   172,   725,   826,   498,   501,
25437      423,   144,   507,   838,   841,  1049,   383,   383,   498,   259,
25438      283,   713,   714,   715,   167,   718,   656,   265,   441,   658,
25439      659,  1154,   794,   167,  1085,  1094,  1122,   265,   475,    58,
25440      999,    57,   127,   110,   990,  1048,  1045,   497,  1085,   498,
25441      501,    37,  1055,  1056,  1169,   498,  1153,  1122,   498,   497,
25442      373,   497,   498,   501,   501,    37,  1004,   442,  1154,   498,
25443      501,   270,   435,   790,   799,   556,   806,   843,   497,   560,
25444      812,  1152,   843,   612,   632,  1154,   404,   189,   437,   558,
25445      372,   969,  1154,  1126,   167,   752,   752,  1126,  1126,  1084,
25446      404,  1122,  1122,   567,   568,  1171,   767,   768,   767,   768,
25447     1153,   556,   498,   501,   490,   497,   535,   585,   652,   925,
25448     1160,   925,   269,   274,   324,   925,   925,  1049,   860,    41,
25449      194,   265,   610,   497,   648,  1084,   173,   303,   378,   284,
25450      619,   620,   621,   404,   498,  1157,     6,   731,   681,   591,
25451      623,  1154,   498,   676,   160,   751,   561,   908,  1152,   460,
25452     1029,   676,   980,   953,   624,   591,   623,   600,   497,   630,
25453      628,   629,   356,   356,    71,   287,    71,   640,   804,   498,
25454     1152,   726,   833,   844,  1061,   500,   134,   456,   456,   714,
25455      355,   401,   716,   139,   719,   452,   721,   441,   656,   676,
25456      556,  1084,   498,   498,   442,  1122,   183,   325,   356,  1109,
25457      164,   164,   612,  1052,   501,  1060,  1172,   498,   501,   167,
25458     1061,   498,   498,  1122,   497,  1122,  1015,  1104,  1106,  1022,
25459      980,  1049,   807,   372,   172,   632,   853,   812,   813,   611,
25460      632,   498,   726,  1154,   648,  1084,   404,   498,   290,   362,
25461      329,   753,   753,   498,   498,   498,  1154,   498,   498,   498,
25462      501,  1159,   928,   584,   535,   586,   587,  1160,  1160,   274,
25463      612,   490,   612,  1160,  1160,   202,   649,   498,   123,   435,
25464      284,   621,   284,   620,  1154,   497,   498,   501,   566,   369,
25465      676,   768,    37,    37,   497,  1154,   908,   640,   628,   566,
25466      624,   497,   626,   627,  1089,  1169,   631,   629,   630,   287,
25467      287,   497,   197,   808,   167,   839,    29,   211,   895,   174,
25468      174,   925,   355,   387,   720,   497,   152,    51,   101,   426,
25469     1084,  1110,  1111,  1110,  1110,   498,    58,    58,   372,   498,
25470     1086,  1056,   291,     3,   118,   269,   274,  1057,  1058,    37,
25471     1034,   339,  1043,   498,  1014,   498,   972,   788,   453,   618,
25472      498,   813,   615,   726,   969,  1154,   819,    58,   969,   413,
25473      567,   768,   498,   501,   612,   498,   392,    62,   265,   344,
25474      372,   622,   622,   498,     6,   369,  1154,   748,   980,   676,
25475      629,   624,   628,  1084,   498,   501,   810,   810,   630,   631,
25476      805,   497,   561,   139,   270,   497,   890,   892,   896,   955,
25477      964,   971,   980,   819,   819,   717,  1169,  1084,   722,  1111,
25478      355,   166,   311,   166,   311,   149,  1112,  1112,  1112,   612,
25479      612,  1169,  1098,  1085,  1085,   274,  1058,  1169,   497,   498,
25480     1049,   556,   497,   726,   619,   969,   768,   497,   587,    23,
25481      118,   274,  1154,   676,   908,   630,   628,   629,   498,   627,
25482      768,   811,   811,   631,   498,   807,   809,   631,   355,   891,
25483      892,   893,   981,   982,   501,   501,   498,  1157,    34,   101,
25484      181,   265,   410,   372,   372,   413,   437,    80,  1084,  1084,
25485      726,  1122,   676,   631,   629,   630,   810,   808,   498,   501,
25486     1049,   721,   498,   500,   413,   172,   497,  1111,   355,   292,
25487     1169,  1169,  1157,  1158,  1169,  1055,   498,   498,   498,   630,
25488      631,   811,   561,   807,   152,   893,   383,   383,     5,   723,
25489      724,  1159,  1160,  1172,   497,   118,   498,   631,   631,   722,
25490      456,   456,   498,   501,  1123,  1158,  1049,  1157,   174,   174,
25491      724,   999,   437,   497,   819,   819,   498,  1169,   723,   498
25492 };
25493 
25494   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
25495 static const yytype_uint16 yyr1[] =
25496 {
25497        0,   503,   504,   504,   504,   504,   504,   504,   505,   505,
25498      506,   506,   507,   507,   507,   507,   507,   507,   507,   507,
25499      507,   507,   507,   507,   507,   507,   507,   507,   507,   507,
25500      507,   507,   507,   507,   507,   507,   507,   507,   507,   507,
25501      507,   507,   507,   507,   507,   507,   507,   507,   507,   507,
25502      507,   507,   507,   507,   507,   507,   507,   507,   507,   507,
25503      507,   507,   507,   507,   507,   507,   507,   507,   507,   507,
25504      507,   507,   507,   507,   507,   507,   507,   507,   507,   507,
25505      507,   507,   507,   507,   507,   507,   507,   507,   507,   507,
25506      507,   507,   507,   507,   507,   507,   507,   507,   507,   507,
25507      507,   507,   507,   507,   507,   507,   507,   507,   507,   507,
25508      507,   507,   507,   507,   507,   507,   507,   507,   507,   507,
25509      507,   507,   507,   507,   507,   507,   507,   507,   507,   507,
25510      507,   507,   507,   507,   507,   507,   508,   509,   510,   510,
25511      510,   511,   511,   512,   512,   513,   513,   513,   513,   513,
25512      513,   513,   513,   513,   514,   514,   514,   514,   514,   514,
25513      515,   516,   516,   517,   517,   518,   518,   518,   518,   519,
25514      519,   519,   519,   519,   519,   520,   521,   522,   522,   523,
25515      523,   523,   523,   524,   524,   525,   525,   526,   526,   526,
25516      526,   526,   526,   527,   527,   527,   528,   528,   528,   529,
25517      529,   529,   529,   530,   530,   530,   530,   530,   530,   530,
25518      530,   530,   530,   530,   531,   531,   532,   532,   533,   533,
25519      534,   534,   534,   534,   535,   535,   535,   535,   536,   536,
25520      536,   536,   536,   536,   536,   537,   537,   537,   538,   538,
25521      539,   540,   540,   540,   540,   541,   541,   542,   542,   543,
25522      543,   544,   544,   544,   544,   544,   545,   546,   546,   547,
25523      547,   548,   549,   549,   549,   549,   549,   550,   550,   550,
25524      550,   550,   550,   550,   550,   550,   550,   550,   550,   550,
25525      550,   550,   550,   550,   550,   550,   550,   550,   551,   551,
25526      552,   552,   552,   553,   554,   554,   554,   554,   554,   554,
25527      554,   554,   554,   554,   554,   554,   554,   554,   554,   554,
25528      554,   554,   554,   554,   554,   554,   554,   554,   554,   554,
25529      554,   554,   554,   554,   554,   554,   554,   554,   554,   554,
25530      554,   554,   554,   554,   554,   554,   554,   554,   554,   554,
25531      554,   554,   554,   554,   554,   554,   554,   554,   554,   554,
25532      554,   554,   554,   555,   555,   556,   556,   556,   557,   557,
25533      558,   558,   559,   559,   559,   559,   560,   561,   561,   562,
25534      562,   563,   563,   563,   563,   564,   564,   565,   565,   565,
25535      565,   566,   566,   566,   566,   567,   568,   568,   569,   570,
25536      570,   571,   571,   571,   571,   572,   572,   573,   573,   574,
25537      574,   575,   575,   576,   576,   576,   577,   577,   578,   578,
25538      579,   579,   579,   579,   579,   579,   579,   579,   579,   579,
25539      579,   579,   579,   580,   580,   581,   581,   582,   582,   583,
25540      583,   584,   585,   585,   585,   585,   585,   586,   586,   587,
25541      588,   588,   588,   588,   588,   588,   589,   589,   589,   589,
25542      589,   589,   589,   589,   590,   590,   591,   591,   592,   592,
25543      593,   593,   594,   594,   594,   595,   595,   596,   597,   597,
25544      598,   598,   599,   599,   600,   600,   601,   601,   601,   601,
25545      602,   602,   602,   602,   602,   602,   602,   602,   602,   603,
25546      603,   604,   604,   604,   604,   605,   606,   606,   606,   607,
25547      607,   607,   607,   607,   607,   607,   607,   607,   607,   608,
25548      608,   609,   609,   609,   609,   609,   609,   609,   610,   610,
25549      611,   611,   612,   612,   613,   614,   614,   615,   615,   615,
25550      615,   616,   616,   617,   617,   618,   618,   619,   619,   619,
25551      619,   619,   620,   621,   622,   622,   622,   622,   622,   623,
25552      623,   624,   624,   625,   626,   626,   627,   627,   627,   628,
25553      628,   629,   629,   629,   630,   630,   630,   630,   631,   631,
25554      632,   632,   633,   634,   634,   635,   635,   636,   636,   636,
25555      637,   637,   638,   638,   639,   640,   640,   640,   641,   641,
25556      642,   643,   643,   644,   645,   645,   646,   646,   647,   647,
25557      648,   648,   649,   649,   650,   650,   650,   650,   650,   650,
25558      650,   650,   650,   650,   650,   650,   650,   650,   651,   651,
25559      652,   652,   652,   652,   653,   653,   654,   654,   655,   655,
25560      656,   656,   657,   657,   658,   658,   659,   659,   660,   660,
25561      661,   662,   662,   663,   663,   664,   664,   665,   665,   666,
25562      666,   666,   666,   667,   668,   668,   669,   670,   670,   670,
25563      670,   670,   670,   670,   670,   670,   670,   670,   670,   670,
25564      671,   672,   672,   672,   672,   673,   673,   674,   674,   675,
25565      675,   676,   676,   677,   677,   678,   679,   679,   680,   680,
25566      680,   680,   681,   682,   683,   684,   684,   685,   685,   686,
25567      686,   687,   687,   688,   688,   688,   689,   689,   689,   689,
25568      690,   691,   691,   692,   692,   693,   693,   694,   694,   695,
25569      695,   696,   697,   698,   699,   699,   700,   700,   701,   701,
25570      702,   702,   703,   703,   704,   704,   705,   705,   705,   705,
25571      705,   706,   707,   707,   708,   708,   709,   709,   709,   710,
25572      710,   711,   711,   711,   711,   711,   712,   712,   713,   713,
25573      714,   715,   715,   716,   716,   717,   718,   718,   719,   719,
25574      720,   720,   721,   721,   722,   722,   723,   723,   723,   724,
25575      724,   724,   724,   725,   725,   726,   726,   727,   727,   727,
25576      727,   727,   727,   728,   728,   729,   729,   730,   731,   731,
25577      732,   733,   733,   733,   733,   734,   735,   735,   735,   735,
25578      735,   735,   735,   735,   735,   735,   735,   735,   735,   735,
25579      735,   735,   736,   737,   737,   738,   738,   739,   739,   739,
25580      739,   739,   739,   740,   741,   741,   742,   743,   743,   744,
25581      744,   745,   745,   745,   745,   746,   746,   747,   748,   748,
25582      749,   749,   749,   749,   749,   750,   750,   751,   751,   752,
25583      752,   752,   753,   753,   754,   755,   755,   756,   756,   757,
25584      757,   758,   758,   759,   759,   760,   761,   762,   762,   762,
25585      762,   762,   762,   762,   762,   762,   762,   762,   762,   763,
25586      763,   763,   763,   763,   763,   763,   763,   763,   763,   763,
25587      763,   763,   764,   764,   764,   764,   764,   765,   765,   765,
25588      765,   765,   765,   765,   765,   766,   766,   766,   767,   767,
25589      768,   768,   769,   769,   770,   770,   771,   772,   772,   772,
25590      773,   773,   773,   773,   773,   773,   773,   773,   773,   773,
25591      773,   773,   773,   773,   773,   773,   773,   773,   774,   774,
25592      775,   775,   775,   775,   775,   775,   775,   775,   775,   775,
25593      776,   776,   777,   777,   778,   778,   779,   779,   779,   779,
25594      779,   779,   779,   779,   779,   779,   779,   779,   779,   779,
25595      779,   779,   780,   780,   781,   781,   782,   783,   783,   784,
25596      784,   784,   784,   784,   785,   785,   786,   786,   786,   786,
25597      787,   787,   787,   787,   787,   787,   787,   787,   787,   787,
25598      787,   787,   787,   787,   787,   787,   787,   787,   787,   787,
25599      788,   788,   789,   789,   790,   790,   791,   792,   792,   793,
25600      793,   794,   794,   795,   796,   796,   797,   797,   797,   798,
25601      798,   798,   799,   799,   799,   799,   799,   799,   800,   800,
25602      801,   801,   802,   802,   803,   803,   804,   804,   805,   805,
25603      806,   806,   807,   807,   807,   808,   808,   809,   809,   810,
25604      810,   811,   811,   812,   812,   812,   813,   813,   813,   814,
25605      814,   814,   814,   815,   815,   816,   816,   817,   817,   818,
25606      818,   819,   819,   819,   819,   820,   820,   821,   821,   822,
25607      822,   822,   822,   822,   823,   823,   823,   823,   823,   824,
25608      825,   826,   826,   826,   827,   827,   827,   828,   829,   829,
25609      829,   829,   830,   830,   831,   832,   832,   833,   833,   834,
25610      834,   835,   835,   835,   835,   835,   835,   835,   835,   835,
25611      835,   835,   835,   835,   835,   835,   835,   835,   836,   836,
25612      836,   836,   836,   837,   837,   838,   839,   839,   839,   840,
25613      840,   841,   841,   842,   842,   843,   843,   844,   845,   845,
25614      846,   846,   846,   847,   847,   848,   848,   849,   849,   849,
25615      849,   849,   849,   850,   850,   851,   851,   852,   852,   852,
25616      852,   853,   853,   854,   854,   855,   856,   857,   857,   858,
25617      858,   859,   859,   859,   860,   860,   860,   861,   862,   862,
25618      863,   864,   864,   864,   864,   865,   866,   866,   866,   866,
25619      867,   867,   868,   868,   868,   869,   869,   870,   870,   870,
25620      870,   870,   870,   870,   870,   870,   870,   870,   870,   870,
25621      870,   870,   870,   870,   870,   870,   870,   870,   870,   870,
25622      870,   870,   870,   870,   870,   870,   870,   870,   870,   870,
25623      870,   870,   870,   870,   870,   870,   870,   870,   870,   870,
25624      870,   870,   870,   870,   870,   870,   870,   870,   870,   870,
25625      870,   870,   871,   871,   872,   872,   873,   873,   873,   873,
25626      873,   873,   874,   874,   875,   875,   875,   875,   875,   875,
25627      875,   875,   875,   875,   875,   875,   875,   875,   875,   875,
25628      875,   875,   875,   875,   875,   875,   875,   875,   875,   875,
25629      875,   876,   877,   877,   878,   878,   879,   879,   879,   879,
25630      879,   880,   881,   881,   881,   881,   881,   881,   881,   881,
25631      881,   881,   881,   881,   881,   881,   881,   881,   881,   881,
25632      881,   881,   881,   881,   881,   881,   882,   883,   883,   884,
25633      884,   885,   885,   885,   885,   886,   887,   887,   887,   887,
25634      887,   887,   887,   887,   888,   888,   889,   890,   890,   890,
25635      891,   891,   892,   892,   892,   892,   892,   893,   893,   894,
25636      894,   894,   894,   895,   895,   895,   896,   897,   897,   898,
25637      899,   899,   900,   900,   900,   900,   900,   900,   900,   900,
25638      900,   900,   900,   900,   901,   901,   902,   902,   902,   903,
25639      903,   903,   903,   903,   904,   904,   904,   905,   905,   906,
25640      906,   906,   907,   907,   907,   907,   908,   908,   908,   908,
25641      909,   910,   911,   911,   912,   912,   913,   913,   913,   914,
25642      914,   914,   914,   914,   914,   914,   915,   915,   916,   916,
25643      916,   917,   918,   918,   918,   918,   919,   919,   920,   921,
25644      922,   922,   923,   924,   924,   924,   924,   924,   924,   924,
25645      925,   925,   926,   927,   927,   927,   927,   927,   927,   928,
25646      928,   929,   930,   930,   930,   930,   931,   931,   932,   932,
25647      933,   933,   934,   934,   935,   935,   936,   937,   937,   938,
25648      938,   938,   939,   939,   940,   940,   941,   941,   942,   942,
25649      943,   943,   944,   945,   945,   946,   946,   947,   947,   947,
25650      947,   948,   948,   948,   948,   948,   948,   948,   948,   948,
25651      949,   950,   950,   951,   951,   951,   951,   952,   952,   952,
25652      953,   953,   954,   954,   954,   954,   955,   956,   956,   957,
25653      957,   957,   957,   957,   958,   958,   959,   959,   960,   961,
25654      961,   961,   962,   962,   962,   963,   963,   964,   965,   965,
25655      966,   967,   967,   968,   968,   968,   968,   968,   968,   968,
25656      968,   969,   969,   970,   970,   970,   971,   972,   972,   973,
25657      973,   974,   975,   975,   976,   977,   978,   978,   978,   978,
25658      978,   978,   979,   979,   979,   980,   980,   981,   981,   982,
25659      982,   982,   982,   982,   982,   982,   982,   983,   983,   984,
25660      984,   984,   984,   984,   984,   984,   985,   985,   985,   986,
25661      986,   987,   988,   988,   988,   989,   989,   989,   990,   990,
25662      990,   991,   991,   992,   992,   993,   993,   993,   993,   993,
25663      993,   993,   993,   993,   994,   994,   995,   995,   995,   996,
25664      996,   997,   997,   998,   998,   999,   999,  1000,  1001,  1001,
25665     1002,  1002,  1003,  1003,  1003,  1003,  1004,  1004,  1005,  1005,
25666     1005,  1005,  1005,  1005,  1006,  1006,  1007,  1007,  1008,  1009,
25667     1009,  1009,  1010,  1010,  1011,  1011,  1012,  1012,  1013,  1013,
25668     1014,  1014,  1015,  1015,  1015,  1015,  1015,  1016,  1017,  1018,
25669     1019,  1020,  1020,  1021,  1021,  1022,  1022,  1023,  1023,  1024,
25670     1025,  1025,  1025,  1025,  1026,  1026,  1027,  1027,  1028,  1028,
25671     1029,  1029,  1030,  1030,  1030,  1030,  1030,  1030,  1030,  1030,
25672     1030,  1030,  1031,  1031,  1031,  1031,  1031,  1031,  1032,  1032,
25673     1032,  1032,  1033,  1033,  1034,  1034,  1035,  1035,  1035,  1035,
25674     1035,  1036,  1036,  1036,  1036,  1037,  1037,  1038,  1038,  1039,
25675     1039,  1039,  1039,  1040,  1040,  1041,  1041,  1041,  1042,  1043,
25676     1043,  1044,  1044,  1045,  1046,  1046,  1047,  1047,  1048,  1048,
25677     1049,  1049,  1050,  1050,  1050,  1051,  1051,  1052,  1052,  1053,
25678     1054,  1054,  1055,  1055,  1056,  1056,  1056,  1057,  1057,  1058,
25679     1058,  1058,  1058,  1059,  1059,  1060,  1060,  1061,  1061,  1061,
25680     1061,  1061,  1061,  1062,  1062,  1062,  1063,  1063,  1063,  1063,
25681     1063,  1063,  1063,  1064,  1064,  1064,  1064,  1065,  1065,  1066,
25682     1066,  1067,  1067,  1067,  1067,  1067,  1067,  1067,  1067,  1067,
25683     1067,  1067,  1068,  1068,  1069,  1069,  1070,  1070,  1071,  1072,
25684     1073,  1073,  1074,  1074,  1075,  1076,  1077,  1077,  1077,  1077,
25685     1077,  1077,  1078,  1078,  1079,  1079,  1079,  1079,  1080,  1081,
25686     1081,  1081,  1082,  1082,  1082,  1082,  1082,  1082,  1082,  1082,
25687     1082,  1082,  1082,  1082,  1082,  1082,  1083,  1083,  1084,  1084,
25688     1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,
25689     1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,
25690     1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,
25691     1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,
25692     1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,
25693     1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,  1084,
25694     1084,  1084,  1084,  1085,  1085,  1085,  1085,  1085,  1085,  1085,
25695     1085,  1085,  1085,  1085,  1085,  1085,  1085,  1085,  1085,  1085,
25696     1085,  1085,  1085,  1085,  1085,  1086,  1086,  1086,  1086,  1086,
25697     1086,  1086,  1086,  1086,  1086,  1086,  1086,  1086,  1086,  1087,
25698     1087,  1087,  1087,  1087,  1087,  1087,  1088,  1088,  1089,  1089,
25699     1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,
25700     1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,
25701     1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,
25702     1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,  1090,
25703     1090,  1090,  1090,  1090,  1090,  1090,  1091,  1091,  1092,  1092,
25704     1092,  1092,  1093,  1094,  1094,  1095,  1095,  1096,  1096,  1097,
25705     1097,  1097,  1098,  1098,  1098,  1098,  1099,  1099,  1100,  1100,
25706     1101,  1101,  1102,  1102,  1103,  1103,  1104,  1105,  1105,  1105,
25707     1106,  1107,  1107,  1108,  1108,  1109,  1109,  1109,  1109,  1110,
25708     1110,  1111,  1111,  1111,  1111,  1111,  1112,  1112,  1112,  1112,
25709     1112,  1113,  1113,  1113,  1114,  1114,  1115,  1116,  1116,  1116,
25710     1117,  1117,  1118,  1118,  1118,  1118,  1118,  1118,  1118,  1118,
25711     1118,  1118,  1118,  1118,  1119,  1119,  1120,  1120,  1121,  1121,
25712     1121,  1121,  1121,  1121,  1122,  1122,  1123,  1123,  1124,  1124,
25713     1124,  1125,  1125,  1126,  1126,  1127,  1127,  1127,  1128,  1128,
25714     1129,  1130,  1130,  1130,  1130,  1130,  1130,  1130,  1130,  1131,
25715     1131,  1131,  1131,  1132,  1132,  1133,  1134,  1134,  1134,  1134,
25716     1134,  1135,  1135,  1135,  1136,  1136,  1137,  1138,  1138,  1139,
25717     1140,  1140,  1141,  1141,  1142,  1142,  1143,  1143,  1143,  1143,
25718     1144,  1144,  1145,  1145,  1146,  1146,  1147,  1147,  1148,  1148,
25719     1149,  1149,  1150,  1150,  1150,  1150,  1151,  1151,  1152,  1152,
25720     1153,  1153,  1154,  1155,  1156,  1157,  1157,  1158,  1158,  1158,
25721     1158,  1158,  1158,  1158,  1158,  1158,  1158,  1158,  1158,  1158,
25722     1159,  1160,  1161,  1161,  1161,  1162,  1163,  1163,  1163,  1163,
25723     1164,  1164,  1165,  1166,  1167,  1167,  1168,  1168,  1169,  1169,
25724     1169,  1170,  1170,  1170,  1171,  1171,  1171,  1171,  1172,  1172,
25725     1172,  1172,  1172,  1173,  1173,  1174,  1174,  1174,  1174,  1174,
25726     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25727     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25728     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25729     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25730     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25731     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25732     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25733     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25734     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25735     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25736     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25737     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25738     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25739     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25740     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25741     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25742     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25743     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25744     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25745     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25746     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25747     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25748     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25749     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25750     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25751     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25752     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25753     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25754     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25755     1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,  1174,
25756     1174,  1175,  1175,  1175,  1175,  1175,  1175,  1175,  1175,  1175,
25757     1175,  1175,  1175,  1175,  1175,  1175,  1175,  1175,  1175,  1175,
25758     1175,  1175,  1175,  1175,  1175,  1175,  1175,  1175,  1175,  1175,
25759     1175,  1175,  1175,  1175,  1175,  1175,  1175,  1175,  1175,  1175,
25760     1175,  1175,  1175,  1175,  1175,  1175,  1175,  1175,  1175,  1175,
25761     1175,  1175,  1176,  1176,  1176,  1176,  1176,  1176,  1176,  1176,
25762     1176,  1176,  1176,  1176,  1176,  1176,  1176,  1176,  1176,  1176,
25763     1176,  1176,  1176,  1176,  1176,  1177,  1177,  1177,  1177,  1177,
25764     1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,
25765     1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,
25766     1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,
25767     1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,
25768     1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,
25769     1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,
25770     1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,  1177,
25771     1177,  1177,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25772     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25773     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25774     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25775     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25776     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25777     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25778     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25779     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25780     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25781     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25782     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25783     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25784     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25785     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25786     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25787     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25788     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25789     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25790     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25791     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25792     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25793     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25794     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25795     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25796     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25797     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25798     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25799     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25800     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25801     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25802     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25803     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25804     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25805     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25806     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25807     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25808     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25809     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25810     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25811     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,
25812     1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178,  1178
25813 };
25814 
25815   /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
25816 static const yytype_uint8 yyr2[] =
25817 {
25818        0,     2,     1,     2,     2,     2,     2,     2,     3,     1,
25819        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25820        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25821        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25822        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25823        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25824        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25825        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25826        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25827        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25828        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25829        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25830        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25831        1,     1,     1,     1,     1,     0,     2,     5,     1,     1,
25832        0,     2,     0,     2,     0,     2,     2,     3,     3,     1,
25833        3,     3,     2,     1,     1,     2,     2,     2,     3,     3,
25834        5,     5,     5,     0,     3,     5,     5,     5,     5,     3,
25835        5,     3,     5,     3,     5,     5,     6,     1,     1,     6,
25836        4,     9,     7,     1,     0,     2,     0,     1,     1,     1,
25837        1,     1,     1,     2,     3,     3,     2,     5,     1,     3,
25838        3,     3,     3,     1,     3,     3,     2,     2,     2,     2,
25839        3,     3,     3,     3,     1,     3,     1,     3,     1,     1,
25840        2,     2,     2,     1,     1,     1,     1,     1,     1,     1,
25841        3,     5,     1,     1,     1,     1,     1,     0,     1,     1,
25842        2,     1,     2,     3,     2,     1,     1,     2,     1,     2,
25843        1,     2,     3,     4,     3,     2,     4,     1,     1,     1,
25844        1,     1,     2,     2,     2,     2,     2,     4,     6,     4,
25845        6,    10,    13,     4,     6,     4,    10,    13,     4,     6,
25846        4,     6,     5,     7,    11,    14,     5,     7,     1,     3,
25847        4,     4,     4,     3,     2,     5,     3,     6,     4,     6,
25848        6,     5,     7,     6,     6,     5,     5,     6,     5,     9,
25849        4,     5,     7,     6,     4,     8,     4,     2,     4,     3,
25850        6,     4,     3,     3,     3,     2,     2,     3,     4,     4,
25851        3,     3,     3,     3,     3,     3,     4,     4,     3,     2,
25852        3,     2,     2,     3,     3,     2,     2,     3,     4,     4,
25853        4,     5,     1,     3,     2,     1,     1,     0,     2,     0,
25854        2,     0,     1,     1,     1,     3,     3,     2,     0,     1,
25855        3,     3,     1,     5,     3,     1,     2,     1,     3,     2,
25856        3,     6,     6,    10,     1,     2,     1,     3,     4,     1,
25857        3,     4,     6,     4,     8,     2,     2,    11,     9,     1,
25858        1,     1,     0,     1,     1,     1,     1,     3,     2,     0,
25859        1,     1,     3,     3,     1,     1,     3,     3,     3,     3,
25860        4,     3,     2,     1,     0,     3,     0,     1,     0,     1,
25861        3,     2,     1,     1,     1,     3,     0,     1,     3,     1,
25862       13,    16,    12,    15,    14,    17,     1,     1,     2,     2,
25863        2,     2,     1,     0,     1,     0,     3,     0,     1,     3,
25864        1,     3,     1,     1,     1,     1,     1,     5,     2,     4,
25865        2,     2,     1,     0,     2,     0,     3,     1,     1,     2,
25866        2,     1,     3,     4,     5,     2,     5,     7,     5,     1,
25867        2,     1,     2,     2,     2,     3,     3,     3,     0,     1,
25868        1,     1,     1,     1,     1,     1,     1,     1,     1,     3,
25869        1,     5,     8,     3,     9,     4,    10,    11,     2,     0,
25870        3,     0,     1,     3,     1,     4,     0,     2,     2,     2,
25871        0,     1,     3,     3,     6,     4,     0,     1,     1,     2,
25872        2,     0,     3,     3,     2,     1,     1,     2,     2,     4,
25873        0,     1,     0,     6,     1,     3,     3,     3,     5,     2,
25874        0,     2,     2,     0,     3,     4,     4,     0,     2,     0,
25875        4,     0,     3,     8,    11,     1,     3,     1,     1,     3,
25876        6,     8,     7,    10,     6,     2,     3,     0,     8,    11,
25877        5,     1,     0,     6,     5,     8,     4,     6,     1,     0,
25878        3,     0,     1,     2,     2,     2,     1,     2,     3,     2,
25879        2,     2,     2,     3,     3,     3,     1,     3,     1,     0,
25880        1,     2,     2,     1,     1,     3,     6,    10,     1,     0,
25881        1,     2,     2,     0,     2,     2,     1,     0,     1,     0,
25882        7,     2,     0,     3,     5,     5,     8,     2,     0,     2,
25883        2,     2,     1,     5,     2,     0,     2,     6,     6,     6,
25884       10,     6,     6,     6,     9,     9,     6,     6,     9,     6,
25885        7,     2,     2,     2,     2,     1,     2,     1,     0,     7,
25886        6,     4,     0,     1,     3,     4,     1,     3,     1,     2,
25887        2,     2,     2,     1,     1,    10,    13,     2,     0,     2,
25888        2,     1,     0,     5,     4,     4,    11,    14,    12,    15,
25889       11,     2,     1,     4,     0,     8,    11,     1,     1,     7,
25890        9,     8,    10,     8,     4,     0,     5,     0,     2,     0,
25891        2,     0,     2,     0,     2,     0,     1,     1,     1,     1,
25892        1,     8,     1,     1,    17,    21,     1,     1,     2,     1,
25893        3,     1,     1,     1,     3,     1,     2,     0,     1,     2,
25894        4,     1,     1,     1,     1,     1,     3,     0,     1,     0,
25895        1,     1,     4,     0,     1,     1,     1,     3,     0,     1,
25896        1,     1,     1,     2,     0,     0,     2,     2,     1,     2,
25897        2,     2,     2,    11,    13,     1,     3,     5,     1,     3,
25898        5,     1,     2,     2,     1,     8,     6,     5,     4,     4,
25899        3,     7,     8,     6,     6,     6,     6,     6,     4,     7,
25900        5,     8,     3,     1,     3,     3,     1,     1,     1,     1,
25901        1,     1,     1,     3,     1,     3,     3,     1,     0,     1,
25902        3,     7,     9,     9,     8,     3,     0,    13,     1,     3,
25903        5,     5,     3,     6,     2,     1,     0,     2,     0,     2,
25904        4,     0,     1,     0,     6,     8,     8,     1,     3,     5,
25905        5,     7,     9,     7,     9,     5,     6,     6,     4,     6,
25906        4,     6,     8,     4,     6,     4,     6,     5,     7,     1,
25907        1,     1,     2,     1,     2,     1,     1,     1,     3,     3,
25908        3,     3,     1,     1,     1,     1,     1,     2,     2,     1,
25909        3,     2,     1,     1,     1,     1,     1,     1,     1,     3,
25910        1,     2,     2,     3,     1,     3,     5,     2,     2,     0,
25911        6,     6,     6,     6,     6,     6,     6,     6,     8,     9,
25912        8,     6,     6,     9,     9,     9,     7,    10,     1,     1,
25913        8,     8,     8,     8,     8,     8,     8,     9,     8,     8,
25914        2,     0,     1,     1,     2,     2,     1,     2,     3,     3,
25915        3,     3,     4,     4,     3,     3,     3,     4,     4,     3,
25916        4,     4,     1,     1,     1,     0,     8,     8,    11,     1,
25917        1,     2,     4,     5,     1,     3,     2,     2,     2,     2,
25918        1,     2,     2,     4,     3,     2,     2,     2,     2,     2,
25919        2,     3,     2,     2,     2,     5,     5,     5,     5,     5,
25920        1,     3,     1,     2,     3,     0,     6,     6,     9,     3,
25921        0,     3,     0,     5,     2,     0,     3,     3,     3,     7,
25922        7,    10,     1,     1,     1,     1,     1,     1,    15,    18,
25923        1,     0,     1,     0,     1,     0,     2,     0,     1,     3,
25924        4,     5,     2,     2,     4,     4,     0,     1,     3,     2,
25925        0,     1,     0,     1,     1,     0,     2,     2,     0,     9,
25926       12,     7,     7,     2,     0,     3,     2,     1,     3,     1,
25927        3,     2,     1,     1,     2,     3,     2,     1,     3,     3,
25928        3,     2,     2,     1,     1,     1,     1,     2,     1,     1,
25929        1,     1,     4,     5,     1,     3,     3,     1,     3,     3,
25930        5,     6,     1,     3,     2,     1,     3,     1,     0,     1,
25931        2,     4,     5,     1,     1,     1,     1,     3,     3,     2,
25932        2,     1,     2,     2,     2,     2,     1,     2,     2,     2,
25933        2,     1,     1,     1,     3,     2,     1,     4,     0,     3,
25934        0,     1,     1,     3,     5,     2,     0,     2,     1,     3,
25935        5,     5,     5,     1,     2,     1,     0,     4,     6,     4,
25936        6,     4,     6,     4,     6,     4,     6,     3,     5,     5,
25937        5,     1,     3,     1,     3,     2,     2,     1,     2,     1,
25938        2,    11,    10,    10,     2,     2,     0,     9,     2,     0,
25939       10,    11,    11,     5,     5,     8,     4,     4,     7,     7,
25940        1,     1,     1,     1,     1,     5,     5,     6,     6,     6,
25941        6,     6,     8,     8,     6,     6,     7,     9,     9,     8,
25942       10,     6,     6,     6,     6,     6,     6,     6,     8,     6,
25943        8,     6,     8,     7,     9,     6,     8,     7,     9,     8,
25944       10,     8,    10,     9,    11,     8,    10,     9,    11,     8,
25945        8,     7,     6,     6,     6,     6,     8,     8,     8,     8,
25946        6,     9,     1,     0,     2,     0,     8,     8,     8,    10,
25947        9,     8,     1,     0,     6,     6,     6,     6,     6,     6,
25948        6,     9,     9,     6,     6,     6,     8,     6,     8,     8,
25949        8,     8,     6,     8,     6,     8,     7,     9,     7,     9,
25950        6,     7,     1,     3,     3,     3,     1,     1,     1,     1,
25951        1,     7,     6,     6,     6,     6,     6,     6,     7,     7,
25952        6,     9,     9,     6,     6,     6,     6,     6,     6,     8,
25953        8,     8,     6,     7,     6,     6,     5,     1,     0,     3,
25954        3,     5,     6,     6,     6,     8,     5,     5,     6,     7,
25955        7,     7,     4,     4,     4,     6,    13,     1,     1,     3,
25956        3,     1,     1,     1,     1,     1,     1,     1,     0,     1,
25957        1,     1,     1,     1,     1,     0,     3,     2,     0,     2,
25958        2,     2,     3,     3,     3,     3,     2,     3,     2,     5,
25959        4,     3,     3,     3,     3,     3,     1,     1,     0,     3,
25960        2,     2,     1,     2,     1,     3,     2,     1,     0,     2,
25961        3,     0,     9,    11,    12,    14,     3,     4,     4,     0,
25962        2,     5,     1,     0,     1,     2,     3,     3,     3,     1,
25963        2,     1,     1,     1,     1,     1,     1,     0,     5,     4,
25964        6,     4,     3,     5,     7,     9,     1,     3,     1,     5,
25965        4,     4,     6,     4,     6,     6,     5,     7,     9,     6,
25966        1,     0,     6,    11,    11,    11,    13,     9,    11,     1,
25967        1,    10,     4,     6,     2,     5,     2,     0,     6,     5,
25968        3,     5,     1,     3,     1,     1,     2,     1,     1,     1,
25969        1,     0,     1,     0,     1,     0,     1,     0,     1,     0,
25970        3,     0,     2,     1,     3,     1,     0,     2,     4,     3,
25971        5,     1,     1,     1,     1,     1,     1,     1,     1,     1,
25972        5,     3,     0,     1,     1,     1,     1,     3,     9,    12,
25973        3,     0,     2,     3,     2,     3,     7,     1,     3,     1,
25974        4,     4,     7,     2,     1,     1,     1,     3,     2,     8,
25975        5,     0,     4,     3,     0,     2,     0,     7,     2,     0,
25976        5,     3,     0,     2,     2,     2,     3,     1,     3,     1,
25977        2,     1,     0,     1,     2,     0,     8,     1,     3,     3,
25978        5,     2,     1,     3,     7,     1,     0,     3,     2,     2,
25979        2,     2,     0,     2,     2,     1,     1,     3,     3,     1,
25980        2,     4,     4,     2,     3,     5,     5,     1,     1,     9,
25981        9,     1,     2,     4,     4,     4,     2,     2,     3,     1,
25982        3,     9,     1,     2,     0,     7,     7,     0,    10,     6,
25983        0,     1,     0,     2,     0,     3,     3,     4,     4,     4,
25984        4,     3,     2,     1,     1,     0,     1,     1,     0,     1,
25985        5,     1,     0,     1,     1,     1,     0,     3,     1,     3,
25986        4,     3,     2,     2,     1,     1,     1,     0,     2,     4,
25987        5,     6,     4,     5,     2,     3,     1,     1,     1,     1,
25988        2,     2,     1,     1,     1,     1,     1,     1,     4,     0,
25989        1,     3,     1,     1,     1,     1,     1,     2,     4,     4,
25990        5,     2,     0,     1,     3,     1,     0,     1,     2,     3,
25991        2,     4,     2,     3,     2,     0,     4,     5,     2,     0,
25992        1,     3,     2,     3,     2,     3,     2,     3,     2,     3,
25993        1,     4,     3,     4,     5,     4,     5,     4,     5,     2,
25994        4,     1,     1,     0,     2,     0,     1,     4,     5,     4,
25995        0,     2,     2,     2,     1,     1,     0,     5,     2,     1,
25996        2,     2,     4,     1,     3,     1,     2,     3,     6,     4,
25997        0,     2,     6,     2,     1,     3,     4,     0,     2,     0,
25998        2,     0,     2,     4,     0,     1,     0,     1,     3,     3,
25999        7,    12,     1,     3,     2,     3,     3,     1,     2,     2,
26000        2,     2,     1,     1,     3,     3,     2,     2,     3,     5,
26001        6,     2,     3,     3,     4,     0,     1,     1,     1,     1,
26002        1,     2,     4,     1,     1,     1,     1,     2,     3,     3,
26003        0,     1,     1,     1,     1,     1,     2,     2,     2,     2,
26004        2,     1,     3,     0,     1,     1,     1,     1,     5,     2,
26005        1,     1,     1,     1,     4,     1,     2,     2,     1,     3,
26006        3,     2,     1,     0,     5,     2,     5,     2,     1,     3,
26007        3,     0,     1,     1,     1,     1,     1,     1,     3,     3,
26008        3,     3,     3,     3,     3,     0,     1,     4,     1,     3,
26009        3,     5,     2,     2,     3,     3,     3,     3,     3,     3,
26010        3,     3,     3,     3,     3,     3,     3,     2,     3,     3,
26011        2,     2,     3,     5,     4,     6,     3,     5,     4,     6,
26012        4,     6,     5,     7,     3,     2,     4,     2,     3,     3,
26013        4,     3,     4,     3,     4,     5,     6,     6,     7,     6,
26014        7,     3,     4,     4,     6,     2,     3,     4,     3,     4,
26015        4,     5,     1,     1,     3,     2,     2,     3,     3,     3,
26016        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
26017        2,     5,     6,     3,     4,     1,     1,     2,     4,     1,
26018        1,     1,     2,     2,     2,     2,     1,     1,     4,     3,
26019        5,     6,     8,     6,     6,     4,     4,     1,     1,     1,
26020        5,     1,     1,     4,     1,     4,     1,     4,     1,     4,
26021        1,     1,     1,     1,     1,     1,     6,     4,     4,     6,
26022        4,     4,     4,     4,     4,     6,     5,     5,     5,     4,
26023        6,     4,     4,     4,     4,     5,     7,     7,     9,     5,
26024        4,     6,     5,     7,     7,     7,     2,     3,     3,     3,
26025        4,     0,     4,     1,     3,     3,     1,     1,     1,     2,
26026        2,     0,     2,     3,     3,     4,     2,     2,     5,     0,
26027        5,     0,     2,     0,     1,     3,     3,     2,     2,     0,
26028        6,     1,     0,     3,     0,     3,     3,     3,     0,     1,
26029        4,     2,     2,     2,     2,     2,     3,     2,     2,     3,
26030        0,     4,     3,     5,     4,     3,     5,     1,     1,     1,
26031        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26032        1,     1,     1,     1,     1,     4,     1,     4,     1,     4,
26033        1,     2,     1,     2,     1,     3,     1,     3,     1,     3,
26034        3,     1,     0,     1,     3,     3,     3,     2,     1,     3,
26035        3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26036        1,     1,     1,     7,     5,     3,     5,     5,     3,     3,
26037        5,     3,     2,     1,     1,     3,     5,     1,     2,     4,
26038        2,     0,     1,     0,     1,     2,     2,     2,     3,     5,
26039        1,     0,     1,     2,     0,     2,     1,     0,     1,     0,
26040        1,     3,     3,     2,     1,     1,     1,     3,     1,     2,
26041        1,     3,     1,     1,     1,     1,     2,     1,     1,     1,
26042        1,     1,     2,     6,     2,     3,     5,     1,     1,     1,
26043        1,     1,     1,     2,     2,     1,     1,     1,     1,     1,
26044        1,     3,    10,     4,     1,     1,     1,     1,     1,     1,
26045        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26046        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26047        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26048        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26049        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26050        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26051        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26052        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26053        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26054        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26055        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26056        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26057        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26058        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26059        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26060        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26061        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26062        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26063        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26064        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26065        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26066        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26067        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26068        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26069        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26070        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26071        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26072        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26073        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26074        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26075        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26076        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26077        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26078        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26079        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26080        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26081        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26082        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26083        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26084        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26085        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26086        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26087        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26088        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26089        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26090        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26091        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26092        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26093        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26094        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26095        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26096        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26097        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26098        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26099        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26100        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26101        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26102        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26103        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26104        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26105        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26106        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26107        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26108        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26109        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26110        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26111        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26112        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26113        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26114        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26115        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26116        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26117        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26118        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26119        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26120        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26121        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26122        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26123        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26124        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26125        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26126        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26127        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26128        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26129        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26130        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26131        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26132        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
26133        1,     1,     1,     1,     1,     1,     1,     1,     1,     1
26134 };
26135 
26136 
26137 #define yyerrok         (yyerrstatus = 0)
26138 #define yyclearin       (yychar = YYEMPTY)
26139 #define YYEMPTY         (-2)
26140 #define YYEOF           0
26141 
26142 #define YYACCEPT        goto yyacceptlab
26143 #define YYABORT         goto yyabortlab
26144 #define YYERROR         goto yyerrorlab
26145 
26146 
26147 #define YYRECOVERING()  (!!yyerrstatus)
26148 
26149 #define YYBACKUP(Token, Value)                                    \
26150   do                                                              \
26151     if (yychar == YYEMPTY)                                        \
26152       {                                                           \
26153         yychar = (Token);                                         \
26154         yylval = (Value);                                         \
26155         YYPOPSTACK (yylen);                                       \
26156         yystate = *yyssp;                                         \
26157         goto yybackup;                                            \
26158       }                                                           \
26159     else                                                          \
26160       {                                                           \
26161         yyerror (&yylloc, yyscanner, YY_("syntax error: cannot back up")); \
26162         YYERROR;                                                  \
26163       }                                                           \
26164   while (0)
26165 
26166 /* Error token number */
26167 #define YYTERROR        1
26168 #define YYERRCODE       256
26169 
26170 
26171 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
26172    If N is 0, then set CURRENT to the empty location which ends
26173    the previous symbol: RHS[0] (always defined).  */
26174 
26175 #ifndef YYLLOC_DEFAULT
26176 # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
26177     do                                                                  \
26178       if (N)                                                            \
26179         {                                                               \
26180           (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
26181           (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
26182           (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
26183           (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
26184         }                                                               \
26185       else                                                              \
26186         {                                                               \
26187           (Current).first_line   = (Current).last_line   =              \
26188             YYRHSLOC (Rhs, 0).last_line;                                \
26189           (Current).first_column = (Current).last_column =              \
26190             YYRHSLOC (Rhs, 0).last_column;                              \
26191         }                                                               \
26192     while (0)
26193 #endif
26194 
26195 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
26196 
26197 
26198 /* Enable debugging if requested.  */
26199 #if YYDEBUG
26200 
26201 # ifndef YYFPRINTF
26202 #  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
26203 #  define YYFPRINTF fprintf
26204 # endif
26205 
26206 # define YYDPRINTF(Args)                        \
26207 do {                                            \
26208   if (yydebug)                                  \
26209     YYFPRINTF Args;                             \
26210 } while (0)
26211 
26212 
26213 /* YY_LOCATION_PRINT -- Print the location on the stream.
26214    This macro was not mandated originally: define only if we know
26215    we won't break user code: when these are the locations we know.  */
26216 
26217 #ifndef YY_LOCATION_PRINT
26218 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
26219 
26220 /* Print *YYLOCP on YYO.  Private, do not rely on its existence. */
26221 
26222 YY_ATTRIBUTE_UNUSED
26223 static int
yy_location_print_(FILE * yyo,YYLTYPE const * const yylocp)26224 yy_location_print_ (FILE *yyo, YYLTYPE const * const yylocp)
26225 {
26226   int res = 0;
26227   int end_col = 0 != yylocp->last_column ? yylocp->last_column - 1 : 0;
26228   if (0 <= yylocp->first_line)
26229     {
26230       res += YYFPRINTF (yyo, "%d", yylocp->first_line);
26231       if (0 <= yylocp->first_column)
26232         res += YYFPRINTF (yyo, ".%d", yylocp->first_column);
26233     }
26234   if (0 <= yylocp->last_line)
26235     {
26236       if (yylocp->first_line < yylocp->last_line)
26237         {
26238           res += YYFPRINTF (yyo, "-%d", yylocp->last_line);
26239           if (0 <= end_col)
26240             res += YYFPRINTF (yyo, ".%d", end_col);
26241         }
26242       else if (0 <= end_col && yylocp->first_column < end_col)
26243         res += YYFPRINTF (yyo, "-%d", end_col);
26244     }
26245   return res;
26246  }
26247 
26248 #  define YY_LOCATION_PRINT(File, Loc)          \
26249   yy_location_print_ (File, &(Loc))
26250 
26251 # else
26252 #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
26253 # endif
26254 #endif
26255 
26256 
26257 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
26258 do {                                                                      \
26259   if (yydebug)                                                            \
26260     {                                                                     \
26261       YYFPRINTF (stderr, "%s ", Title);                                   \
26262       yy_symbol_print (stderr,                                            \
26263                   Type, Value, Location, yyscanner); \
26264       YYFPRINTF (stderr, "\n");                                           \
26265     }                                                                     \
26266 } while (0)
26267 
26268 
26269 /*-----------------------------------.
26270 | Print this symbol's value on YYO.  |
26271 `-----------------------------------*/
26272 
26273 static void
yy_symbol_value_print(FILE * yyo,int yytype,YYSTYPE const * const yyvaluep,YYLTYPE const * const yylocationp,core_yyscan_t yyscanner)26274 yy_symbol_value_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
26275 {
26276   FILE *yyoutput = yyo;
26277   YYUSE (yyoutput);
26278   YYUSE (yylocationp);
26279   YYUSE (yyscanner);
26280   if (!yyvaluep)
26281     return;
26282 # ifdef YYPRINT
26283   if (yytype < YYNTOKENS)
26284     YYPRINT (yyo, yytoknum[yytype], *yyvaluep);
26285 # endif
26286   YYUSE (yytype);
26287 }
26288 
26289 
26290 /*---------------------------.
26291 | Print this symbol on YYO.  |
26292 `---------------------------*/
26293 
26294 static void
yy_symbol_print(FILE * yyo,int yytype,YYSTYPE const * const yyvaluep,YYLTYPE const * const yylocationp,core_yyscan_t yyscanner)26295 yy_symbol_print (FILE *yyo, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, core_yyscan_t yyscanner)
26296 {
26297   YYFPRINTF (yyo, "%s %s (",
26298              yytype < YYNTOKENS ? "token" : "nterm", yytname[yytype]);
26299 
26300   YY_LOCATION_PRINT (yyo, *yylocationp);
26301   YYFPRINTF (yyo, ": ");
26302   yy_symbol_value_print (yyo, yytype, yyvaluep, yylocationp, yyscanner);
26303   YYFPRINTF (yyo, ")");
26304 }
26305 
26306 /*------------------------------------------------------------------.
26307 | yy_stack_print -- Print the state stack from its BOTTOM up to its |
26308 | TOP (included).                                                   |
26309 `------------------------------------------------------------------*/
26310 
26311 static void
yy_stack_print(yytype_int16 * yybottom,yytype_int16 * yytop)26312 yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
26313 {
26314   YYFPRINTF (stderr, "Stack now");
26315   for (; yybottom <= yytop; yybottom++)
26316     {
26317       int yybot = *yybottom;
26318       YYFPRINTF (stderr, " %d", yybot);
26319     }
26320   YYFPRINTF (stderr, "\n");
26321 }
26322 
26323 # define YY_STACK_PRINT(Bottom, Top)                            \
26324 do {                                                            \
26325   if (yydebug)                                                  \
26326     yy_stack_print ((Bottom), (Top));                           \
26327 } while (0)
26328 
26329 
26330 /*------------------------------------------------.
26331 | Report that the YYRULE is going to be reduced.  |
26332 `------------------------------------------------*/
26333 
26334 static void
yy_reduce_print(yytype_int16 * yyssp,YYSTYPE * yyvsp,YYLTYPE * yylsp,int yyrule,core_yyscan_t yyscanner)26335 yy_reduce_print (yytype_int16 *yyssp, YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, core_yyscan_t yyscanner)
26336 {
26337   unsigned long yylno = yyrline[yyrule];
26338   int yynrhs = yyr2[yyrule];
26339   int yyi;
26340   YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
26341              yyrule - 1, yylno);
26342   /* The symbols being reduced.  */
26343   for (yyi = 0; yyi < yynrhs; yyi++)
26344     {
26345       YYFPRINTF (stderr, "   $%d = ", yyi + 1);
26346       yy_symbol_print (stderr,
26347                        yystos[yyssp[yyi + 1 - yynrhs]],
26348                        &yyvsp[(yyi + 1) - (yynrhs)]
26349                        , &(yylsp[(yyi + 1) - (yynrhs)])                       , yyscanner);
26350       YYFPRINTF (stderr, "\n");
26351     }
26352 }
26353 
26354 # define YY_REDUCE_PRINT(Rule)          \
26355 do {                                    \
26356   if (yydebug)                          \
26357     yy_reduce_print (yyssp, yyvsp, yylsp, Rule, yyscanner); \
26358 } while (0)
26359 
26360 /* Nonzero means print parse trace.  It is left uninitialized so that
26361    multiple parsers can coexist.  */
26362 int yydebug;
26363 #else /* !YYDEBUG */
26364 # define YYDPRINTF(Args)
26365 # define YY_SYMBOL_PRINT(Title, Type, Value, Location)
26366 # define YY_STACK_PRINT(Bottom, Top)
26367 # define YY_REDUCE_PRINT(Rule)
26368 #endif /* !YYDEBUG */
26369 
26370 
26371 /* YYINITDEPTH -- initial size of the parser's stacks.  */
26372 #ifndef YYINITDEPTH
26373 # define YYINITDEPTH 200
26374 #endif
26375 
26376 /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
26377    if the built-in stack extension method is used).
26378 
26379    Do not make this value too large; the results are undefined if
26380    YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
26381    evaluated with infinite-precision integer arithmetic.  */
26382 
26383 #ifndef YYMAXDEPTH
26384 # define YYMAXDEPTH 10000
26385 #endif
26386 
26387 
26388 #if YYERROR_VERBOSE
26389 
26390 # ifndef yystrlen
26391 #  if defined __GLIBC__ && defined _STRING_H
26392 #   define yystrlen strlen
26393 #  else
26394 /* Return the length of YYSTR.  */
26395 static YYSIZE_T
yystrlen(const char * yystr)26396 yystrlen (const char *yystr)
26397 {
26398   YYSIZE_T yylen;
26399   for (yylen = 0; yystr[yylen]; yylen++)
26400     continue;
26401   return yylen;
26402 }
26403 #  endif
26404 # endif
26405 
26406 # ifndef yystpcpy
26407 #  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
26408 #   define yystpcpy stpcpy
26409 #  else
26410 /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
26411    YYDEST.  */
26412 static char *
yystpcpy(char * yydest,const char * yysrc)26413 yystpcpy (char *yydest, const char *yysrc)
26414 {
26415   char *yyd = yydest;
26416   const char *yys = yysrc;
26417 
26418   while ((*yyd++ = *yys++) != '\0')
26419     continue;
26420 
26421   return yyd - 1;
26422 }
26423 #  endif
26424 # endif
26425 
26426 # ifndef yytnamerr
26427 /* Copy to YYRES the contents of YYSTR after stripping away unnecessary
26428    quotes and backslashes, so that it's suitable for yyerror.  The
26429    heuristic is that double-quoting is unnecessary unless the string
26430    contains an apostrophe, a comma, or backslash (other than
26431    backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
26432    null, do not copy; instead, return the length of what the result
26433    would have been.  */
26434 static YYSIZE_T
yytnamerr(char * yyres,const char * yystr)26435 yytnamerr (char *yyres, const char *yystr)
26436 {
26437   if (*yystr == '"')
26438     {
26439       YYSIZE_T yyn = 0;
26440       char const *yyp = yystr;
26441 
26442       for (;;)
26443         switch (*++yyp)
26444           {
26445           case '\'':
26446           case ',':
26447             goto do_not_strip_quotes;
26448 
26449           case '\\':
26450             if (*++yyp != '\\')
26451               goto do_not_strip_quotes;
26452             else
26453               goto append;
26454 
26455           append:
26456           default:
26457             if (yyres)
26458               yyres[yyn] = *yyp;
26459             yyn++;
26460             break;
26461 
26462           case '"':
26463             if (yyres)
26464               yyres[yyn] = '\0';
26465             return yyn;
26466           }
26467     do_not_strip_quotes: ;
26468     }
26469 
26470   if (! yyres)
26471     return yystrlen (yystr);
26472 
26473   return (YYSIZE_T) (yystpcpy (yyres, yystr) - yyres);
26474 }
26475 # endif
26476 
26477 /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
26478    about the unexpected token YYTOKEN for the state stack whose top is
26479    YYSSP.
26480 
26481    Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
26482    not large enough to hold the message.  In that case, also set
26483    *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
26484    required number of bytes is too large to store.  */
26485 static int
yysyntax_error(YYSIZE_T * yymsg_alloc,char ** yymsg,yytype_int16 * yyssp,int yytoken)26486 yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
26487                 yytype_int16 *yyssp, int yytoken)
26488 {
26489   YYSIZE_T yysize0 = yytnamerr (YY_NULLPTR, yytname[yytoken]);
26490   YYSIZE_T yysize = yysize0;
26491   enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
26492   /* Internationalized format string. */
26493   const char *yyformat = YY_NULLPTR;
26494   /* Arguments of yyformat. */
26495   char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
26496   /* Number of reported tokens (one for the "unexpected", one per
26497      "expected"). */
26498   int yycount = 0;
26499 
26500   /* There are many possibilities here to consider:
26501      - If this state is a consistent state with a default action, then
26502        the only way this function was invoked is if the default action
26503        is an error action.  In that case, don't check for expected
26504        tokens because there are none.
26505      - The only way there can be no lookahead present (in yychar) is if
26506        this state is a consistent state with a default action.  Thus,
26507        detecting the absence of a lookahead is sufficient to determine
26508        that there is no unexpected or expected token to report.  In that
26509        case, just report a simple "syntax error".
26510      - Don't assume there isn't a lookahead just because this state is a
26511        consistent state with a default action.  There might have been a
26512        previous inconsistent state, consistent state with a non-default
26513        action, or user semantic action that manipulated yychar.
26514      - Of course, the expected token list depends on states to have
26515        correct lookahead information, and it depends on the parser not
26516        to perform extra reductions after fetching a lookahead from the
26517        scanner and before detecting a syntax error.  Thus, state merging
26518        (from LALR or IELR) and default reductions corrupt the expected
26519        token list.  However, the list is correct for canonical LR with
26520        one exception: it will still contain any token that will not be
26521        accepted due to an error action in a later state.
26522   */
26523   if (yytoken != YYEMPTY)
26524     {
26525       int yyn = yypact[*yyssp];
26526       yyarg[yycount++] = yytname[yytoken];
26527       if (!yypact_value_is_default (yyn))
26528         {
26529           /* Start YYX at -YYN if negative to avoid negative indexes in
26530              YYCHECK.  In other words, skip the first -YYN actions for
26531              this state because they are default actions.  */
26532           int yyxbegin = yyn < 0 ? -yyn : 0;
26533           /* Stay within bounds of both yycheck and yytname.  */
26534           int yychecklim = YYLAST - yyn + 1;
26535           int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
26536           int yyx;
26537 
26538           for (yyx = yyxbegin; yyx < yyxend; ++yyx)
26539             if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
26540                 && !yytable_value_is_error (yytable[yyx + yyn]))
26541               {
26542                 if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
26543                   {
26544                     yycount = 1;
26545                     yysize = yysize0;
26546                     break;
26547                   }
26548                 yyarg[yycount++] = yytname[yyx];
26549                 {
26550                   YYSIZE_T yysize1 = yysize + yytnamerr (YY_NULLPTR, yytname[yyx]);
26551                   if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
26552                     yysize = yysize1;
26553                   else
26554                     return 2;
26555                 }
26556               }
26557         }
26558     }
26559 
26560   switch (yycount)
26561     {
26562 # define YYCASE_(N, S)                      \
26563       case N:                               \
26564         yyformat = S;                       \
26565       break
26566     default: /* Avoid compiler warnings. */
26567       YYCASE_(0, YY_("syntax error"));
26568       YYCASE_(1, YY_("syntax error, unexpected %s"));
26569       YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
26570       YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
26571       YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
26572       YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
26573 # undef YYCASE_
26574     }
26575 
26576   {
26577     YYSIZE_T yysize1 = yysize + yystrlen (yyformat);
26578     if (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM)
26579       yysize = yysize1;
26580     else
26581       return 2;
26582   }
26583 
26584   if (*yymsg_alloc < yysize)
26585     {
26586       *yymsg_alloc = 2 * yysize;
26587       if (! (yysize <= *yymsg_alloc
26588              && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
26589         *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
26590       return 1;
26591     }
26592 
26593   /* Avoid sprintf, as that infringes on the user's name space.
26594      Don't have undefined behavior even if the translation
26595      produced a string with the wrong number of "%s"s.  */
26596   {
26597     char *yyp = *yymsg;
26598     int yyi = 0;
26599     while ((*yyp = *yyformat) != '\0')
26600       if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
26601         {
26602           yyp += yytnamerr (yyp, yyarg[yyi++]);
26603           yyformat += 2;
26604         }
26605       else
26606         {
26607           yyp++;
26608           yyformat++;
26609         }
26610   }
26611   return 0;
26612 }
26613 #endif /* YYERROR_VERBOSE */
26614 
26615 /*-----------------------------------------------.
26616 | Release the memory associated to this symbol.  |
26617 `-----------------------------------------------*/
26618 
26619 static void
yydestruct(const char * yymsg,int yytype,YYSTYPE * yyvaluep,YYLTYPE * yylocationp,core_yyscan_t yyscanner)26620 yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, core_yyscan_t yyscanner)
26621 {
26622   YYUSE (yyvaluep);
26623   YYUSE (yylocationp);
26624   YYUSE (yyscanner);
26625   if (!yymsg)
26626     yymsg = "Deleting";
26627   YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
26628 
26629   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
26630   YYUSE (yytype);
26631   YY_IGNORE_MAYBE_UNINITIALIZED_END
26632 }
26633 
26634 
26635 
26636 
26637 /*----------.
26638 | yyparse.  |
26639 `----------*/
26640 
26641 int
yyparse(core_yyscan_t yyscanner)26642 yyparse (core_yyscan_t yyscanner)
26643 {
26644 /* The lookahead symbol.  */
26645 int yychar;
26646 
26647 
26648 /* The semantic value of the lookahead symbol.  */
26649 /* Default value used for initialization, for pacifying older GCCs
26650    or non-GCC compilers.  */
26651 YY_INITIAL_VALUE (static YYSTYPE yyval_default;)
26652 YYSTYPE yylval YY_INITIAL_VALUE (= yyval_default);
26653 
26654 /* Location data for the lookahead symbol.  */
26655 static YYLTYPE yyloc_default
26656 # if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
26657   = { 1, 1, 1, 1 }
26658 # endif
26659 ;
26660 YYLTYPE yylloc = yyloc_default;
26661 
26662     /* Number of syntax errors so far.  */
26663     int yynerrs;
26664 
26665     int yystate;
26666     /* Number of tokens to shift before error messages enabled.  */
26667     int yyerrstatus;
26668 
26669     /* The stacks and their tools:
26670        'yyss': related to states.
26671        'yyvs': related to semantic values.
26672        'yyls': related to locations.
26673 
26674        Refer to the stacks through separate pointers, to allow yyoverflow
26675        to reallocate them elsewhere.  */
26676 
26677     /* The state stack.  */
26678     yytype_int16 yyssa[YYINITDEPTH];
26679     yytype_int16 *yyss;
26680     yytype_int16 *yyssp;
26681 
26682     /* The semantic value stack.  */
26683     YYSTYPE yyvsa[YYINITDEPTH];
26684     YYSTYPE *yyvs;
26685     YYSTYPE *yyvsp;
26686 
26687     /* The location stack.  */
26688     YYLTYPE yylsa[YYINITDEPTH];
26689     YYLTYPE *yyls;
26690     YYLTYPE *yylsp;
26691 
26692     /* The locations where the error started and ended.  */
26693     YYLTYPE yyerror_range[3];
26694 
26695     YYSIZE_T yystacksize;
26696 
26697   int yyn;
26698   int yyresult;
26699   /* Lookahead token as an internal (translated) token number.  */
26700   int yytoken = 0;
26701   /* The variables used to return semantic value and location from the
26702      action routines.  */
26703   YYSTYPE yyval;
26704   YYLTYPE yyloc;
26705 
26706 #if YYERROR_VERBOSE
26707   /* Buffer for error messages, and its allocated size.  */
26708   char yymsgbuf[128];
26709   char *yymsg = yymsgbuf;
26710   YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
26711 #endif
26712 
26713 #define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
26714 
26715   /* The number of symbols on the RHS of the reduced rule.
26716      Keep to zero when no symbol should be popped.  */
26717   int yylen = 0;
26718 
26719   yyssp = yyss = yyssa;
26720   yyvsp = yyvs = yyvsa;
26721   yylsp = yyls = yylsa;
26722   yystacksize = YYINITDEPTH;
26723 
26724   YYDPRINTF ((stderr, "Starting parse\n"));
26725 
26726   yystate = 0;
26727   yyerrstatus = 0;
26728   yynerrs = 0;
26729   yychar = YYEMPTY; /* Cause a token to be read.  */
26730   yylsp[0] = yylloc;
26731   goto yysetstate;
26732 
26733 
26734 /*------------------------------------------------------------.
26735 | yynewstate -- push a new state, which is found in yystate.  |
26736 `------------------------------------------------------------*/
26737 yynewstate:
26738   /* In all cases, when you get here, the value and location stacks
26739      have just been pushed.  So pushing a state here evens the stacks.  */
26740   yyssp++;
26741 
26742 
26743 /*--------------------------------------------------------------------.
26744 | yynewstate -- set current state (the top of the stack) to yystate.  |
26745 `--------------------------------------------------------------------*/
26746 yysetstate:
26747   *yyssp = (yytype_int16) yystate;
26748 
26749   if (yyss + yystacksize - 1 <= yyssp)
26750 #if !defined yyoverflow && !defined YYSTACK_RELOCATE
26751     goto yyexhaustedlab;
26752 #else
26753     {
26754       /* Get the current used size of the three stacks, in elements.  */
26755       YYSIZE_T yysize = (YYSIZE_T) (yyssp - yyss + 1);
26756 
26757 # if defined yyoverflow
26758       {
26759         /* Give user a chance to reallocate the stack.  Use copies of
26760            these so that the &'s don't force the real ones into
26761            memory.  */
26762         YYSTYPE *yyvs1 = yyvs;
26763         yytype_int16 *yyss1 = yyss;
26764         YYLTYPE *yyls1 = yyls;
26765 
26766         /* Each stack pointer address is followed by the size of the
26767            data in use in that stack, in bytes.  This used to be a
26768            conditional around just the two extra args, but that might
26769            be undefined if yyoverflow is a macro.  */
26770         yyoverflow (YY_("memory exhausted"),
26771                     &yyss1, yysize * sizeof (*yyssp),
26772                     &yyvs1, yysize * sizeof (*yyvsp),
26773                     &yyls1, yysize * sizeof (*yylsp),
26774                     &yystacksize);
26775         yyss = yyss1;
26776         yyvs = yyvs1;
26777         yyls = yyls1;
26778       }
26779 # else /* defined YYSTACK_RELOCATE */
26780       /* Extend the stack our own way.  */
26781       if (YYMAXDEPTH <= yystacksize)
26782         goto yyexhaustedlab;
26783       yystacksize *= 2;
26784       if (YYMAXDEPTH < yystacksize)
26785         yystacksize = YYMAXDEPTH;
26786 
26787       {
26788         yytype_int16 *yyss1 = yyss;
26789         union yyalloc *yyptr =
26790           (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
26791         if (! yyptr)
26792           goto yyexhaustedlab;
26793         YYSTACK_RELOCATE (yyss_alloc, yyss);
26794         YYSTACK_RELOCATE (yyvs_alloc, yyvs);
26795         YYSTACK_RELOCATE (yyls_alloc, yyls);
26796 # undef YYSTACK_RELOCATE
26797         if (yyss1 != yyssa)
26798           YYSTACK_FREE (yyss1);
26799       }
26800 # endif
26801 
26802       yyssp = yyss + yysize - 1;
26803       yyvsp = yyvs + yysize - 1;
26804       yylsp = yyls + yysize - 1;
26805 
26806       YYDPRINTF ((stderr, "Stack size increased to %lu\n",
26807                   (unsigned long) yystacksize));
26808 
26809       if (yyss + yystacksize - 1 <= yyssp)
26810         YYABORT;
26811     }
26812 #endif /* !defined yyoverflow && !defined YYSTACK_RELOCATE */
26813 
26814   YYDPRINTF ((stderr, "Entering state %d\n", yystate));
26815 
26816   if (yystate == YYFINAL)
26817     YYACCEPT;
26818 
26819   goto yybackup;
26820 
26821 
26822 /*-----------.
26823 | yybackup.  |
26824 `-----------*/
26825 yybackup:
26826   /* Do appropriate processing given the current state.  Read a
26827      lookahead token if we need one and don't already have one.  */
26828 
26829   /* First try to decide what to do without reference to lookahead token.  */
26830   yyn = yypact[yystate];
26831   if (yypact_value_is_default (yyn))
26832     goto yydefault;
26833 
26834   /* Not known => get a lookahead token if don't already have one.  */
26835 
26836   /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
26837   if (yychar == YYEMPTY)
26838     {
26839       YYDPRINTF ((stderr, "Reading a token: "));
26840       yychar = yylex (&yylval, &yylloc, yyscanner);
26841     }
26842 
26843   if (yychar <= YYEOF)
26844     {
26845       yychar = yytoken = YYEOF;
26846       YYDPRINTF ((stderr, "Now at end of input.\n"));
26847     }
26848   else
26849     {
26850       yytoken = YYTRANSLATE (yychar);
26851       YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
26852     }
26853 
26854   /* If the proper action on seeing token YYTOKEN is to reduce or to
26855      detect an error, take that action.  */
26856   yyn += yytoken;
26857   if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
26858     goto yydefault;
26859   yyn = yytable[yyn];
26860   if (yyn <= 0)
26861     {
26862       if (yytable_value_is_error (yyn))
26863         goto yyerrlab;
26864       yyn = -yyn;
26865       goto yyreduce;
26866     }
26867 
26868   /* Count tokens shifted since error; after three, turn off error
26869      status.  */
26870   if (yyerrstatus)
26871     yyerrstatus--;
26872 
26873   /* Shift the lookahead token.  */
26874   YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
26875 
26876   /* Discard the shifted token.  */
26877   yychar = YYEMPTY;
26878 
26879   yystate = yyn;
26880   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
26881   *++yyvsp = yylval;
26882   YY_IGNORE_MAYBE_UNINITIALIZED_END
26883   *++yylsp = yylloc;
26884   goto yynewstate;
26885 
26886 
26887 /*-----------------------------------------------------------.
26888 | yydefault -- do the default action for the current state.  |
26889 `-----------------------------------------------------------*/
26890 yydefault:
26891   yyn = yydefact[yystate];
26892   if (yyn == 0)
26893     goto yyerrlab;
26894   goto yyreduce;
26895 
26896 
26897 /*-----------------------------.
26898 | yyreduce -- do a reduction.  |
26899 `-----------------------------*/
26900 yyreduce:
26901   /* yyn is the number of a rule to reduce with.  */
26902   yylen = yyr2[yyn];
26903 
26904   /* If YYLEN is nonzero, implement the default value of the action:
26905      '$$ = $1'.
26906 
26907      Otherwise, the following line sets YYVAL to garbage.
26908      This behavior is undocumented and Bison
26909      users should not rely upon it.  Assigning to YYVAL
26910      unconditionally makes the parser a bit smaller, and it avoids a
26911      GCC warning that YYVAL may be used uninitialized.  */
26912   yyval = yyvsp[1-yylen];
26913 
26914   /* Default location. */
26915   YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
26916   yyerror_range[1] = yyloc;
26917   YY_REDUCE_PRINT (yyn);
26918   switch (yyn)
26919     {
26920         case 2:
26921 #line 828 "gram.y" /* yacc.c:1652  */
26922     {
26923 				pg_yyget_extra(yyscanner)->parsetree = (yyvsp[0].list);
26924 			}
26925 #line 26926 "gram.c" /* yacc.c:1652  */
26926     break;
26927 
26928   case 3:
26929 #line 832 "gram.y" /* yacc.c:1652  */
26930     {
26931 				pg_yyget_extra(yyscanner)->parsetree = list_make1((yyvsp[0].typnam));
26932 			}
26933 #line 26934 "gram.c" /* yacc.c:1652  */
26934     break;
26935 
26936   case 4:
26937 #line 836 "gram.y" /* yacc.c:1652  */
26938     {
26939 				pg_yyget_extra(yyscanner)->parsetree =
26940 					list_make1(makeRawStmt((yyvsp[0].node), 0));
26941 			}
26942 #line 26943 "gram.c" /* yacc.c:1652  */
26943     break;
26944 
26945   case 5:
26946 #line 841 "gram.y" /* yacc.c:1652  */
26947     {
26948 				PLAssignStmt *n = (PLAssignStmt *) (yyvsp[0].node);
26949 				n->nnames = 1;
26950 				pg_yyget_extra(yyscanner)->parsetree =
26951 					list_make1(makeRawStmt((Node *) n, 0));
26952 			}
26953 #line 26954 "gram.c" /* yacc.c:1652  */
26954     break;
26955 
26956   case 6:
26957 #line 848 "gram.y" /* yacc.c:1652  */
26958     {
26959 				PLAssignStmt *n = (PLAssignStmt *) (yyvsp[0].node);
26960 				n->nnames = 2;
26961 				pg_yyget_extra(yyscanner)->parsetree =
26962 					list_make1(makeRawStmt((Node *) n, 0));
26963 			}
26964 #line 26965 "gram.c" /* yacc.c:1652  */
26965     break;
26966 
26967   case 7:
26968 #line 855 "gram.y" /* yacc.c:1652  */
26969     {
26970 				PLAssignStmt *n = (PLAssignStmt *) (yyvsp[0].node);
26971 				n->nnames = 3;
26972 				pg_yyget_extra(yyscanner)->parsetree =
26973 					list_make1(makeRawStmt((Node *) n, 0));
26974 			}
26975 #line 26976 "gram.c" /* yacc.c:1652  */
26976     break;
26977 
26978   case 8:
26979 #line 874 "gram.y" /* yacc.c:1652  */
26980     {
26981 					if ((yyvsp[-2].list) != NIL)
26982 					{
26983 						/* update length of previous stmt */
26984 						updateRawStmtEnd(llast_node(RawStmt, (yyvsp[-2].list)), (yylsp[-1]));
26985 					}
26986 					if ((yyvsp[0].node) != NULL)
26987 						(yyval.list) = lappend((yyvsp[-2].list), makeRawStmt((yyvsp[0].node), (yylsp[-1]) + 1));
26988 					else
26989 						(yyval.list) = (yyvsp[-2].list);
26990 				}
26991 #line 26992 "gram.c" /* yacc.c:1652  */
26992     break;
26993 
26994   case 9:
26995 #line 886 "gram.y" /* yacc.c:1652  */
26996     {
26997 					if ((yyvsp[0].node) != NULL)
26998 						(yyval.list) = list_make1(makeRawStmt((yyvsp[0].node), 0));
26999 					else
27000 						(yyval.list) = NIL;
27001 				}
27002 #line 27003 "gram.c" /* yacc.c:1652  */
27003     break;
27004 
27005   case 135:
27006 #line 1028 "gram.y" /* yacc.c:1652  */
27007     { (yyval.node) = NULL; }
27008 #line 27009 "gram.c" /* yacc.c:1652  */
27009     break;
27010 
27011   case 136:
27012 #line 1038 "gram.y" /* yacc.c:1652  */
27013     {
27014 					CallStmt *n = makeNode(CallStmt);
27015 					n->funccall = castNode(FuncCall, (yyvsp[0].node));
27016 					(yyval.node) = (Node *)n;
27017 				}
27018 #line 27019 "gram.c" /* yacc.c:1652  */
27019     break;
27020 
27021   case 137:
27022 #line 1053 "gram.y" /* yacc.c:1652  */
27023     {
27024 					CreateRoleStmt *n = makeNode(CreateRoleStmt);
27025 					n->stmt_type = ROLESTMT_ROLE;
27026 					n->role = (yyvsp[-2].str);
27027 					n->options = (yyvsp[0].list);
27028 					(yyval.node) = (Node *)n;
27029 				}
27030 #line 27031 "gram.c" /* yacc.c:1652  */
27031     break;
27032 
27033   case 141:
27034 #line 1074 "gram.y" /* yacc.c:1652  */
27035     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
27036 #line 27037 "gram.c" /* yacc.c:1652  */
27037     break;
27038 
27039   case 142:
27040 #line 1075 "gram.y" /* yacc.c:1652  */
27041     { (yyval.list) = NIL; }
27042 #line 27043 "gram.c" /* yacc.c:1652  */
27043     break;
27044 
27045   case 143:
27046 #line 1079 "gram.y" /* yacc.c:1652  */
27047     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
27048 #line 27049 "gram.c" /* yacc.c:1652  */
27049     break;
27050 
27051   case 144:
27052 #line 1080 "gram.y" /* yacc.c:1652  */
27053     { (yyval.list) = NIL; }
27054 #line 27055 "gram.c" /* yacc.c:1652  */
27055     break;
27056 
27057   case 145:
27058 #line 1085 "gram.y" /* yacc.c:1652  */
27059     {
27060 					(yyval.defelt) = makeDefElem("password",
27061 									 (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
27062 				}
27063 #line 27064 "gram.c" /* yacc.c:1652  */
27064     break;
27065 
27066   case 146:
27067 #line 1090 "gram.y" /* yacc.c:1652  */
27068     {
27069 					(yyval.defelt) = makeDefElem("password", NULL, (yylsp[-1]));
27070 				}
27071 #line 27072 "gram.c" /* yacc.c:1652  */
27072     break;
27073 
27074   case 147:
27075 #line 1094 "gram.y" /* yacc.c:1652  */
27076     {
27077 					/*
27078 					 * These days, passwords are always stored in encrypted
27079 					 * form, so there is no difference between PASSWORD and
27080 					 * ENCRYPTED PASSWORD.
27081 					 */
27082 					(yyval.defelt) = makeDefElem("password",
27083 									 (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
27084 				}
27085 #line 27086 "gram.c" /* yacc.c:1652  */
27086     break;
27087 
27088   case 148:
27089 #line 1104 "gram.y" /* yacc.c:1652  */
27090     {
27091 					ereport(ERROR,
27092 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
27093 							 errmsg("UNENCRYPTED PASSWORD is no longer supported"),
27094 							 errhint("Remove UNENCRYPTED to store the password in encrypted form instead."),
27095 							 parser_errposition((yylsp[-2]))));
27096 				}
27097 #line 27098 "gram.c" /* yacc.c:1652  */
27098     break;
27099 
27100   case 149:
27101 #line 1112 "gram.y" /* yacc.c:1652  */
27102     {
27103 					(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(true), (yylsp[0]));
27104 				}
27105 #line 27106 "gram.c" /* yacc.c:1652  */
27106     break;
27107 
27108   case 150:
27109 #line 1116 "gram.y" /* yacc.c:1652  */
27110     {
27111 					(yyval.defelt) = makeDefElem("connectionlimit", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
27112 				}
27113 #line 27114 "gram.c" /* yacc.c:1652  */
27114     break;
27115 
27116   case 151:
27117 #line 1120 "gram.y" /* yacc.c:1652  */
27118     {
27119 					(yyval.defelt) = makeDefElem("validUntil", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
27120 				}
27121 #line 27122 "gram.c" /* yacc.c:1652  */
27122     break;
27123 
27124   case 152:
27125 #line 1125 "gram.y" /* yacc.c:1652  */
27126     {
27127 					(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
27128 				}
27129 #line 27130 "gram.c" /* yacc.c:1652  */
27130     break;
27131 
27132   case 153:
27133 #line 1129 "gram.y" /* yacc.c:1652  */
27134     {
27135 					/*
27136 					 * We handle identifiers that aren't parser keywords with
27137 					 * the following special-case codes, to avoid bloating the
27138 					 * size of the main parser.
27139 					 */
27140 					if (strcmp((yyvsp[0].str), "superuser") == 0)
27141 						(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(true), (yylsp[0]));
27142 					else if (strcmp((yyvsp[0].str), "nosuperuser") == 0)
27143 						(yyval.defelt) = makeDefElem("superuser", (Node *)makeInteger(false), (yylsp[0]));
27144 					else if (strcmp((yyvsp[0].str), "createrole") == 0)
27145 						(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(true), (yylsp[0]));
27146 					else if (strcmp((yyvsp[0].str), "nocreaterole") == 0)
27147 						(yyval.defelt) = makeDefElem("createrole", (Node *)makeInteger(false), (yylsp[0]));
27148 					else if (strcmp((yyvsp[0].str), "replication") == 0)
27149 						(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(true), (yylsp[0]));
27150 					else if (strcmp((yyvsp[0].str), "noreplication") == 0)
27151 						(yyval.defelt) = makeDefElem("isreplication", (Node *)makeInteger(false), (yylsp[0]));
27152 					else if (strcmp((yyvsp[0].str), "createdb") == 0)
27153 						(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(true), (yylsp[0]));
27154 					else if (strcmp((yyvsp[0].str), "nocreatedb") == 0)
27155 						(yyval.defelt) = makeDefElem("createdb", (Node *)makeInteger(false), (yylsp[0]));
27156 					else if (strcmp((yyvsp[0].str), "login") == 0)
27157 						(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(true), (yylsp[0]));
27158 					else if (strcmp((yyvsp[0].str), "nologin") == 0)
27159 						(yyval.defelt) = makeDefElem("canlogin", (Node *)makeInteger(false), (yylsp[0]));
27160 					else if (strcmp((yyvsp[0].str), "bypassrls") == 0)
27161 						(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(true), (yylsp[0]));
27162 					else if (strcmp((yyvsp[0].str), "nobypassrls") == 0)
27163 						(yyval.defelt) = makeDefElem("bypassrls", (Node *)makeInteger(false), (yylsp[0]));
27164 					else if (strcmp((yyvsp[0].str), "noinherit") == 0)
27165 					{
27166 						/*
27167 						 * Note that INHERIT is a keyword, so it's handled by main parser, but
27168 						 * NOINHERIT is handled here.
27169 						 */
27170 						(yyval.defelt) = makeDefElem("inherit", (Node *)makeInteger(false), (yylsp[0]));
27171 					}
27172 					else
27173 						ereport(ERROR,
27174 								(errcode(ERRCODE_SYNTAX_ERROR),
27175 								 errmsg("unrecognized role option \"%s\"", (yyvsp[0].str)),
27176 									 parser_errposition((yylsp[0]))));
27177 				}
27178 #line 27179 "gram.c" /* yacc.c:1652  */
27179     break;
27180 
27181   case 154:
27182 #line 1176 "gram.y" /* yacc.c:1652  */
27183     { (yyval.defelt) = (yyvsp[0].defelt); }
27184 #line 27185 "gram.c" /* yacc.c:1652  */
27185     break;
27186 
27187   case 155:
27188 #line 1179 "gram.y" /* yacc.c:1652  */
27189     {
27190 					(yyval.defelt) = makeDefElem("sysid", (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
27191 				}
27192 #line 27193 "gram.c" /* yacc.c:1652  */
27193     break;
27194 
27195   case 156:
27196 #line 1183 "gram.y" /* yacc.c:1652  */
27197     {
27198 					(yyval.defelt) = makeDefElem("adminmembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
27199 				}
27200 #line 27201 "gram.c" /* yacc.c:1652  */
27201     break;
27202 
27203   case 157:
27204 #line 1187 "gram.y" /* yacc.c:1652  */
27205     {
27206 					(yyval.defelt) = makeDefElem("rolemembers", (Node *)(yyvsp[0].list), (yylsp[-1]));
27207 				}
27208 #line 27209 "gram.c" /* yacc.c:1652  */
27209     break;
27210 
27211   case 158:
27212 #line 1191 "gram.y" /* yacc.c:1652  */
27213     {
27214 					(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
27215 				}
27216 #line 27217 "gram.c" /* yacc.c:1652  */
27217     break;
27218 
27219   case 159:
27220 #line 1195 "gram.y" /* yacc.c:1652  */
27221     {
27222 					(yyval.defelt) = makeDefElem("addroleto", (Node *)(yyvsp[0].list), (yylsp[-2]));
27223 				}
27224 #line 27225 "gram.c" /* yacc.c:1652  */
27225     break;
27226 
27227   case 160:
27228 #line 1209 "gram.y" /* yacc.c:1652  */
27229     {
27230 					CreateRoleStmt *n = makeNode(CreateRoleStmt);
27231 					n->stmt_type = ROLESTMT_USER;
27232 					n->role = (yyvsp[-2].str);
27233 					n->options = (yyvsp[0].list);
27234 					(yyval.node) = (Node *)n;
27235 				}
27236 #line 27237 "gram.c" /* yacc.c:1652  */
27237     break;
27238 
27239   case 161:
27240 #line 1227 "gram.y" /* yacc.c:1652  */
27241     {
27242 					AlterRoleStmt *n = makeNode(AlterRoleStmt);
27243 					n->role = (yyvsp[-2].rolespec);
27244 					n->action = +1;	/* add, if there are members */
27245 					n->options = (yyvsp[0].list);
27246 					(yyval.node) = (Node *)n;
27247 				 }
27248 #line 27249 "gram.c" /* yacc.c:1652  */
27249     break;
27250 
27251   case 162:
27252 #line 1235 "gram.y" /* yacc.c:1652  */
27253     {
27254 					AlterRoleStmt *n = makeNode(AlterRoleStmt);
27255 					n->role = (yyvsp[-2].rolespec);
27256 					n->action = +1;	/* add, if there are members */
27257 					n->options = (yyvsp[0].list);
27258 					(yyval.node) = (Node *)n;
27259 				 }
27260 #line 27261 "gram.c" /* yacc.c:1652  */
27261     break;
27262 
27263   case 163:
27264 #line 1245 "gram.y" /* yacc.c:1652  */
27265     { (yyval.str) = NULL; }
27266 #line 27267 "gram.c" /* yacc.c:1652  */
27267     break;
27268 
27269   case 164:
27270 #line 1246 "gram.y" /* yacc.c:1652  */
27271     { (yyval.str) = (yyvsp[0].str); }
27272 #line 27273 "gram.c" /* yacc.c:1652  */
27273     break;
27274 
27275   case 165:
27276 #line 1251 "gram.y" /* yacc.c:1652  */
27277     {
27278 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
27279 					n->role = (yyvsp[-2].rolespec);
27280 					n->database = (yyvsp[-1].str);
27281 					n->setstmt = (yyvsp[0].vsetstmt);
27282 					(yyval.node) = (Node *)n;
27283 				}
27284 #line 27285 "gram.c" /* yacc.c:1652  */
27285     break;
27286 
27287   case 166:
27288 #line 1259 "gram.y" /* yacc.c:1652  */
27289     {
27290 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
27291 					n->role = NULL;
27292 					n->database = (yyvsp[-1].str);
27293 					n->setstmt = (yyvsp[0].vsetstmt);
27294 					(yyval.node) = (Node *)n;
27295 				}
27296 #line 27297 "gram.c" /* yacc.c:1652  */
27297     break;
27298 
27299   case 167:
27300 #line 1267 "gram.y" /* yacc.c:1652  */
27301     {
27302 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
27303 					n->role = (yyvsp[-2].rolespec);
27304 					n->database = (yyvsp[-1].str);
27305 					n->setstmt = (yyvsp[0].vsetstmt);
27306 					(yyval.node) = (Node *)n;
27307 				}
27308 #line 27309 "gram.c" /* yacc.c:1652  */
27309     break;
27310 
27311   case 168:
27312 #line 1275 "gram.y" /* yacc.c:1652  */
27313     {
27314 					AlterRoleSetStmt *n = makeNode(AlterRoleSetStmt);
27315 					n->role = NULL;
27316 					n->database = (yyvsp[-1].str);
27317 					n->setstmt = (yyvsp[0].vsetstmt);
27318 					(yyval.node) = (Node *)n;
27319 				}
27320 #line 27321 "gram.c" /* yacc.c:1652  */
27321     break;
27322 
27323   case 169:
27324 #line 1296 "gram.y" /* yacc.c:1652  */
27325     {
27326 					DropRoleStmt *n = makeNode(DropRoleStmt);
27327 					n->missing_ok = false;
27328 					n->roles = (yyvsp[0].list);
27329 					(yyval.node) = (Node *)n;
27330 				}
27331 #line 27332 "gram.c" /* yacc.c:1652  */
27332     break;
27333 
27334   case 170:
27335 #line 1303 "gram.y" /* yacc.c:1652  */
27336     {
27337 					DropRoleStmt *n = makeNode(DropRoleStmt);
27338 					n->missing_ok = true;
27339 					n->roles = (yyvsp[0].list);
27340 					(yyval.node) = (Node *)n;
27341 				}
27342 #line 27343 "gram.c" /* yacc.c:1652  */
27343     break;
27344 
27345   case 171:
27346 #line 1310 "gram.y" /* yacc.c:1652  */
27347     {
27348 					DropRoleStmt *n = makeNode(DropRoleStmt);
27349 					n->missing_ok = false;
27350 					n->roles = (yyvsp[0].list);
27351 					(yyval.node) = (Node *)n;
27352 				}
27353 #line 27354 "gram.c" /* yacc.c:1652  */
27354     break;
27355 
27356   case 172:
27357 #line 1317 "gram.y" /* yacc.c:1652  */
27358     {
27359 					DropRoleStmt *n = makeNode(DropRoleStmt);
27360 					n->roles = (yyvsp[0].list);
27361 					n->missing_ok = true;
27362 					(yyval.node) = (Node *)n;
27363 				}
27364 #line 27365 "gram.c" /* yacc.c:1652  */
27365     break;
27366 
27367   case 173:
27368 #line 1324 "gram.y" /* yacc.c:1652  */
27369     {
27370 					DropRoleStmt *n = makeNode(DropRoleStmt);
27371 					n->missing_ok = false;
27372 					n->roles = (yyvsp[0].list);
27373 					(yyval.node) = (Node *)n;
27374 				}
27375 #line 27376 "gram.c" /* yacc.c:1652  */
27376     break;
27377 
27378   case 174:
27379 #line 1331 "gram.y" /* yacc.c:1652  */
27380     {
27381 					DropRoleStmt *n = makeNode(DropRoleStmt);
27382 					n->missing_ok = true;
27383 					n->roles = (yyvsp[0].list);
27384 					(yyval.node) = (Node *)n;
27385 				}
27386 #line 27387 "gram.c" /* yacc.c:1652  */
27387     break;
27388 
27389   case 175:
27390 #line 1348 "gram.y" /* yacc.c:1652  */
27391     {
27392 					CreateRoleStmt *n = makeNode(CreateRoleStmt);
27393 					n->stmt_type = ROLESTMT_GROUP;
27394 					n->role = (yyvsp[-2].str);
27395 					n->options = (yyvsp[0].list);
27396 					(yyval.node) = (Node *)n;
27397 				}
27398 #line 27399 "gram.c" /* yacc.c:1652  */
27399     break;
27400 
27401   case 176:
27402 #line 1366 "gram.y" /* yacc.c:1652  */
27403     {
27404 					AlterRoleStmt *n = makeNode(AlterRoleStmt);
27405 					n->role = (yyvsp[-3].rolespec);
27406 					n->action = (yyvsp[-2].ival);
27407 					n->options = list_make1(makeDefElem("rolemembers",
27408 														(Node *)(yyvsp[0].list), (yylsp[0])));
27409 					(yyval.node) = (Node *)n;
27410 				}
27411 #line 27412 "gram.c" /* yacc.c:1652  */
27412     break;
27413 
27414   case 177:
27415 #line 1376 "gram.y" /* yacc.c:1652  */
27416     { (yyval.ival) = +1; }
27417 #line 27418 "gram.c" /* yacc.c:1652  */
27418     break;
27419 
27420   case 178:
27421 #line 1377 "gram.y" /* yacc.c:1652  */
27422     { (yyval.ival) = -1; }
27423 #line 27424 "gram.c" /* yacc.c:1652  */
27424     break;
27425 
27426   case 179:
27427 #line 1389 "gram.y" /* yacc.c:1652  */
27428     {
27429 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
27430 					/* One can omit the schema name or the authorization id. */
27431 					n->schemaname = (yyvsp[-3].str);
27432 					n->authrole = (yyvsp[-1].rolespec);
27433 					n->schemaElts = (yyvsp[0].list);
27434 					n->if_not_exists = false;
27435 					(yyval.node) = (Node *)n;
27436 				}
27437 #line 27438 "gram.c" /* yacc.c:1652  */
27438     break;
27439 
27440   case 180:
27441 #line 1399 "gram.y" /* yacc.c:1652  */
27442     {
27443 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
27444 					/* ...but not both */
27445 					n->schemaname = (yyvsp[-1].str);
27446 					n->authrole = NULL;
27447 					n->schemaElts = (yyvsp[0].list);
27448 					n->if_not_exists = false;
27449 					(yyval.node) = (Node *)n;
27450 				}
27451 #line 27452 "gram.c" /* yacc.c:1652  */
27452     break;
27453 
27454   case 181:
27455 #line 1409 "gram.y" /* yacc.c:1652  */
27456     {
27457 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
27458 					/* schema name can be omitted here, too */
27459 					n->schemaname = (yyvsp[-3].str);
27460 					n->authrole = (yyvsp[-1].rolespec);
27461 					if ((yyvsp[0].list) != NIL)
27462 						ereport(ERROR,
27463 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
27464 								 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
27465 								 parser_errposition((yylsp[0]))));
27466 					n->schemaElts = (yyvsp[0].list);
27467 					n->if_not_exists = true;
27468 					(yyval.node) = (Node *)n;
27469 				}
27470 #line 27471 "gram.c" /* yacc.c:1652  */
27471     break;
27472 
27473   case 182:
27474 #line 1424 "gram.y" /* yacc.c:1652  */
27475     {
27476 					CreateSchemaStmt *n = makeNode(CreateSchemaStmt);
27477 					/* ...but not here */
27478 					n->schemaname = (yyvsp[-1].str);
27479 					n->authrole = NULL;
27480 					if ((yyvsp[0].list) != NIL)
27481 						ereport(ERROR,
27482 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
27483 								 errmsg("CREATE SCHEMA IF NOT EXISTS cannot include schema elements"),
27484 								 parser_errposition((yylsp[0]))));
27485 					n->schemaElts = (yyvsp[0].list);
27486 					n->if_not_exists = true;
27487 					(yyval.node) = (Node *)n;
27488 				}
27489 #line 27490 "gram.c" /* yacc.c:1652  */
27490     break;
27491 
27492   case 183:
27493 #line 1441 "gram.y" /* yacc.c:1652  */
27494     { (yyval.str) = (yyvsp[0].str); }
27495 #line 27496 "gram.c" /* yacc.c:1652  */
27496     break;
27497 
27498   case 184:
27499 #line 1442 "gram.y" /* yacc.c:1652  */
27500     { (yyval.str) = NULL; }
27501 #line 27502 "gram.c" /* yacc.c:1652  */
27502     break;
27503 
27504   case 185:
27505 #line 1447 "gram.y" /* yacc.c:1652  */
27506     {
27507 					if ((yyloc) < 0)			/* see comments for YYLLOC_DEFAULT */
27508 						(yyloc) = (yylsp[0]);
27509 					(yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node));
27510 				}
27511 #line 27512 "gram.c" /* yacc.c:1652  */
27512     break;
27513 
27514   case 186:
27515 #line 1453 "gram.y" /* yacc.c:1652  */
27516     { (yyval.list) = NIL; }
27517 #line 27518 "gram.c" /* yacc.c:1652  */
27518     break;
27519 
27520   case 193:
27521 #line 1481 "gram.y" /* yacc.c:1652  */
27522     {
27523 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
27524 					n->is_local = false;
27525 					(yyval.node) = (Node *) n;
27526 				}
27527 #line 27528 "gram.c" /* yacc.c:1652  */
27528     break;
27529 
27530   case 194:
27531 #line 1487 "gram.y" /* yacc.c:1652  */
27532     {
27533 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
27534 					n->is_local = true;
27535 					(yyval.node) = (Node *) n;
27536 				}
27537 #line 27538 "gram.c" /* yacc.c:1652  */
27538     break;
27539 
27540   case 195:
27541 #line 1493 "gram.y" /* yacc.c:1652  */
27542     {
27543 					VariableSetStmt *n = (yyvsp[0].vsetstmt);
27544 					n->is_local = false;
27545 					(yyval.node) = (Node *) n;
27546 				}
27547 #line 27548 "gram.c" /* yacc.c:1652  */
27548     break;
27549 
27550   case 196:
27551 #line 1502 "gram.y" /* yacc.c:1652  */
27552     {
27553 					VariableSetStmt *n = makeNode(VariableSetStmt);
27554 					n->kind = VAR_SET_MULTI;
27555 					n->name = "TRANSACTION";
27556 					n->args = (yyvsp[0].list);
27557 					(yyval.vsetstmt) = n;
27558 				}
27559 #line 27560 "gram.c" /* yacc.c:1652  */
27560     break;
27561 
27562   case 197:
27563 #line 1510 "gram.y" /* yacc.c:1652  */
27564     {
27565 					VariableSetStmt *n = makeNode(VariableSetStmt);
27566 					n->kind = VAR_SET_MULTI;
27567 					n->name = "SESSION CHARACTERISTICS";
27568 					n->args = (yyvsp[0].list);
27569 					(yyval.vsetstmt) = n;
27570 				}
27571 #line 27572 "gram.c" /* yacc.c:1652  */
27572     break;
27573 
27574   case 199:
27575 #line 1522 "gram.y" /* yacc.c:1652  */
27576     {
27577 					VariableSetStmt *n = makeNode(VariableSetStmt);
27578 					n->kind = VAR_SET_VALUE;
27579 					n->name = (yyvsp[-2].str);
27580 					n->args = (yyvsp[0].list);
27581 					(yyval.vsetstmt) = n;
27582 				}
27583 #line 27584 "gram.c" /* yacc.c:1652  */
27584     break;
27585 
27586   case 200:
27587 #line 1530 "gram.y" /* yacc.c:1652  */
27588     {
27589 					VariableSetStmt *n = makeNode(VariableSetStmt);
27590 					n->kind = VAR_SET_VALUE;
27591 					n->name = (yyvsp[-2].str);
27592 					n->args = (yyvsp[0].list);
27593 					(yyval.vsetstmt) = n;
27594 				}
27595 #line 27596 "gram.c" /* yacc.c:1652  */
27596     break;
27597 
27598   case 201:
27599 #line 1538 "gram.y" /* yacc.c:1652  */
27600     {
27601 					VariableSetStmt *n = makeNode(VariableSetStmt);
27602 					n->kind = VAR_SET_DEFAULT;
27603 					n->name = (yyvsp[-2].str);
27604 					(yyval.vsetstmt) = n;
27605 				}
27606 #line 27607 "gram.c" /* yacc.c:1652  */
27607     break;
27608 
27609   case 202:
27610 #line 1545 "gram.y" /* yacc.c:1652  */
27611     {
27612 					VariableSetStmt *n = makeNode(VariableSetStmt);
27613 					n->kind = VAR_SET_DEFAULT;
27614 					n->name = (yyvsp[-2].str);
27615 					(yyval.vsetstmt) = n;
27616 				}
27617 #line 27618 "gram.c" /* yacc.c:1652  */
27618     break;
27619 
27620   case 203:
27621 #line 1554 "gram.y" /* yacc.c:1652  */
27622     {(yyval.vsetstmt) = (yyvsp[0].vsetstmt);}
27623 #line 27624 "gram.c" /* yacc.c:1652  */
27624     break;
27625 
27626   case 204:
27627 #line 1556 "gram.y" /* yacc.c:1652  */
27628     {
27629 					VariableSetStmt *n = makeNode(VariableSetStmt);
27630 					n->kind = VAR_SET_CURRENT;
27631 					n->name = (yyvsp[-2].str);
27632 					(yyval.vsetstmt) = n;
27633 				}
27634 #line 27635 "gram.c" /* yacc.c:1652  */
27635     break;
27636 
27637   case 205:
27638 #line 1564 "gram.y" /* yacc.c:1652  */
27639     {
27640 					VariableSetStmt *n = makeNode(VariableSetStmt);
27641 					n->kind = VAR_SET_VALUE;
27642 					n->name = "timezone";
27643 					if ((yyvsp[0].node) != NULL)
27644 						n->args = list_make1((yyvsp[0].node));
27645 					else
27646 						n->kind = VAR_SET_DEFAULT;
27647 					(yyval.vsetstmt) = n;
27648 				}
27649 #line 27650 "gram.c" /* yacc.c:1652  */
27650     break;
27651 
27652   case 206:
27653 #line 1575 "gram.y" /* yacc.c:1652  */
27654     {
27655 					ereport(ERROR,
27656 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
27657 							 errmsg("current database cannot be changed"),
27658 							 parser_errposition((yylsp[0]))));
27659 					(yyval.vsetstmt) = NULL; /*not reached*/
27660 				}
27661 #line 27662 "gram.c" /* yacc.c:1652  */
27662     break;
27663 
27664   case 207:
27665 #line 1583 "gram.y" /* yacc.c:1652  */
27666     {
27667 					VariableSetStmt *n = makeNode(VariableSetStmt);
27668 					n->kind = VAR_SET_VALUE;
27669 					n->name = "search_path";
27670 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
27671 					(yyval.vsetstmt) = n;
27672 				}
27673 #line 27674 "gram.c" /* yacc.c:1652  */
27674     break;
27675 
27676   case 208:
27677 #line 1591 "gram.y" /* yacc.c:1652  */
27678     {
27679 					VariableSetStmt *n = makeNode(VariableSetStmt);
27680 					n->kind = VAR_SET_VALUE;
27681 					n->name = "client_encoding";
27682 					if ((yyvsp[0].str) != NULL)
27683 						n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
27684 					else
27685 						n->kind = VAR_SET_DEFAULT;
27686 					(yyval.vsetstmt) = n;
27687 				}
27688 #line 27689 "gram.c" /* yacc.c:1652  */
27689     break;
27690 
27691   case 209:
27692 #line 1602 "gram.y" /* yacc.c:1652  */
27693     {
27694 					VariableSetStmt *n = makeNode(VariableSetStmt);
27695 					n->kind = VAR_SET_VALUE;
27696 					n->name = "role";
27697 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
27698 					(yyval.vsetstmt) = n;
27699 				}
27700 #line 27701 "gram.c" /* yacc.c:1652  */
27701     break;
27702 
27703   case 210:
27704 #line 1610 "gram.y" /* yacc.c:1652  */
27705     {
27706 					VariableSetStmt *n = makeNode(VariableSetStmt);
27707 					n->kind = VAR_SET_VALUE;
27708 					n->name = "session_authorization";
27709 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
27710 					(yyval.vsetstmt) = n;
27711 				}
27712 #line 27713 "gram.c" /* yacc.c:1652  */
27713     break;
27714 
27715   case 211:
27716 #line 1618 "gram.y" /* yacc.c:1652  */
27717     {
27718 					VariableSetStmt *n = makeNode(VariableSetStmt);
27719 					n->kind = VAR_SET_DEFAULT;
27720 					n->name = "session_authorization";
27721 					(yyval.vsetstmt) = n;
27722 				}
27723 #line 27724 "gram.c" /* yacc.c:1652  */
27724     break;
27725 
27726   case 212:
27727 #line 1625 "gram.y" /* yacc.c:1652  */
27728     {
27729 					VariableSetStmt *n = makeNode(VariableSetStmt);
27730 					n->kind = VAR_SET_VALUE;
27731 					n->name = "xmloption";
27732 					n->args = list_make1(makeStringConst((yyvsp[0].ival) == XMLOPTION_DOCUMENT ? "DOCUMENT" : "CONTENT", (yylsp[0])));
27733 					(yyval.vsetstmt) = n;
27734 				}
27735 #line 27736 "gram.c" /* yacc.c:1652  */
27736     break;
27737 
27738   case 213:
27739 #line 1634 "gram.y" /* yacc.c:1652  */
27740     {
27741 					VariableSetStmt *n = makeNode(VariableSetStmt);
27742 					n->kind = VAR_SET_MULTI;
27743 					n->name = "TRANSACTION SNAPSHOT";
27744 					n->args = list_make1(makeStringConst((yyvsp[0].str), (yylsp[0])));
27745 					(yyval.vsetstmt) = n;
27746 				}
27747 #line 27748 "gram.c" /* yacc.c:1652  */
27748     break;
27749 
27750   case 214:
27751 #line 1643 "gram.y" /* yacc.c:1652  */
27752     { (yyval.str) = (yyvsp[0].str); }
27753 #line 27754 "gram.c" /* yacc.c:1652  */
27754     break;
27755 
27756   case 215:
27757 #line 1645 "gram.y" /* yacc.c:1652  */
27758     { (yyval.str) = psprintf("%s.%s", (yyvsp[-2].str), (yyvsp[0].str)); }
27759 #line 27760 "gram.c" /* yacc.c:1652  */
27760     break;
27761 
27762   case 216:
27763 #line 1648 "gram.y" /* yacc.c:1652  */
27764     { (yyval.list) = list_make1((yyvsp[0].node)); }
27765 #line 27766 "gram.c" /* yacc.c:1652  */
27766     break;
27767 
27768   case 217:
27769 #line 1649 "gram.y" /* yacc.c:1652  */
27770     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
27771 #line 27772 "gram.c" /* yacc.c:1652  */
27772     break;
27773 
27774   case 218:
27775 #line 1653 "gram.y" /* yacc.c:1652  */
27776     { (yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0])); }
27777 #line 27778 "gram.c" /* yacc.c:1652  */
27778     break;
27779 
27780   case 219:
27781 #line 1655 "gram.y" /* yacc.c:1652  */
27782     { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
27783 #line 27784 "gram.c" /* yacc.c:1652  */
27784     break;
27785 
27786   case 220:
27787 #line 1658 "gram.y" /* yacc.c:1652  */
27788     { (yyval.str) = "read uncommitted"; }
27789 #line 27790 "gram.c" /* yacc.c:1652  */
27790     break;
27791 
27792   case 221:
27793 #line 1659 "gram.y" /* yacc.c:1652  */
27794     { (yyval.str) = "read committed"; }
27795 #line 27796 "gram.c" /* yacc.c:1652  */
27796     break;
27797 
27798   case 222:
27799 #line 1660 "gram.y" /* yacc.c:1652  */
27800     { (yyval.str) = "repeatable read"; }
27801 #line 27802 "gram.c" /* yacc.c:1652  */
27802     break;
27803 
27804   case 223:
27805 #line 1661 "gram.y" /* yacc.c:1652  */
27806     { (yyval.str) = "serializable"; }
27807 #line 27808 "gram.c" /* yacc.c:1652  */
27808     break;
27809 
27810   case 224:
27811 #line 1665 "gram.y" /* yacc.c:1652  */
27812     { (yyval.str) = "true"; }
27813 #line 27814 "gram.c" /* yacc.c:1652  */
27814     break;
27815 
27816   case 225:
27817 #line 1666 "gram.y" /* yacc.c:1652  */
27818     { (yyval.str) = "false"; }
27819 #line 27820 "gram.c" /* yacc.c:1652  */
27820     break;
27821 
27822   case 226:
27823 #line 1667 "gram.y" /* yacc.c:1652  */
27824     { (yyval.str) = "on"; }
27825 #line 27826 "gram.c" /* yacc.c:1652  */
27826     break;
27827 
27828   case 227:
27829 #line 1673 "gram.y" /* yacc.c:1652  */
27830     { (yyval.str) = (yyvsp[0].str); }
27831 #line 27832 "gram.c" /* yacc.c:1652  */
27832     break;
27833 
27834   case 228:
27835 #line 1686 "gram.y" /* yacc.c:1652  */
27836     {
27837 					(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
27838 				}
27839 #line 27840 "gram.c" /* yacc.c:1652  */
27840     break;
27841 
27842   case 229:
27843 #line 1690 "gram.y" /* yacc.c:1652  */
27844     {
27845 					(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
27846 				}
27847 #line 27848 "gram.c" /* yacc.c:1652  */
27848     break;
27849 
27850   case 230:
27851 #line 1694 "gram.y" /* yacc.c:1652  */
27852     {
27853 					TypeName *t = (yyvsp[-2].typnam);
27854 					if ((yyvsp[0].list) != NIL)
27855 					{
27856 						A_Const *n = (A_Const *) linitial((yyvsp[0].list));
27857 						if ((n->val.val.ival & ~(INTERVAL_MASK(HOUR) | INTERVAL_MASK(MINUTE))) != 0)
27858 							ereport(ERROR,
27859 									(errcode(ERRCODE_SYNTAX_ERROR),
27860 									 errmsg("time zone interval must be HOUR or HOUR TO MINUTE"),
27861 									 parser_errposition((yylsp[0]))));
27862 					}
27863 					t->typmods = (yyvsp[0].list);
27864 					(yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
27865 				}
27866 #line 27867 "gram.c" /* yacc.c:1652  */
27867     break;
27868 
27869   case 231:
27870 #line 1709 "gram.y" /* yacc.c:1652  */
27871     {
27872 					TypeName *t = (yyvsp[-4].typnam);
27873 					t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
27874 											makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
27875 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
27876 				}
27877 #line 27878 "gram.c" /* yacc.c:1652  */
27878     break;
27879 
27880   case 232:
27881 #line 1715 "gram.y" /* yacc.c:1652  */
27882     { (yyval.node) = makeAConst((yyvsp[0].value), (yylsp[0])); }
27883 #line 27884 "gram.c" /* yacc.c:1652  */
27884     break;
27885 
27886   case 233:
27887 #line 1716 "gram.y" /* yacc.c:1652  */
27888     { (yyval.node) = NULL; }
27889 #line 27890 "gram.c" /* yacc.c:1652  */
27890     break;
27891 
27892   case 234:
27893 #line 1717 "gram.y" /* yacc.c:1652  */
27894     { (yyval.node) = NULL; }
27895 #line 27896 "gram.c" /* yacc.c:1652  */
27896     break;
27897 
27898   case 235:
27899 #line 1721 "gram.y" /* yacc.c:1652  */
27900     { (yyval.str) = (yyvsp[0].str); }
27901 #line 27902 "gram.c" /* yacc.c:1652  */
27902     break;
27903 
27904   case 236:
27905 #line 1722 "gram.y" /* yacc.c:1652  */
27906     { (yyval.str) = NULL; }
27907 #line 27908 "gram.c" /* yacc.c:1652  */
27908     break;
27909 
27910   case 237:
27911 #line 1723 "gram.y" /* yacc.c:1652  */
27912     { (yyval.str) = NULL; }
27913 #line 27914 "gram.c" /* yacc.c:1652  */
27914     break;
27915 
27916   case 238:
27917 #line 1727 "gram.y" /* yacc.c:1652  */
27918     { (yyval.str) = (yyvsp[0].str); }
27919 #line 27920 "gram.c" /* yacc.c:1652  */
27920     break;
27921 
27922   case 239:
27923 #line 1728 "gram.y" /* yacc.c:1652  */
27924     { (yyval.str) = (yyvsp[0].str); }
27925 #line 27926 "gram.c" /* yacc.c:1652  */
27926     break;
27927 
27928   case 240:
27929 #line 1732 "gram.y" /* yacc.c:1652  */
27930     { (yyval.node) = (Node *) (yyvsp[0].vsetstmt); }
27931 #line 27932 "gram.c" /* yacc.c:1652  */
27932     break;
27933 
27934   case 241:
27935 #line 1736 "gram.y" /* yacc.c:1652  */
27936     { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
27937 #line 27938 "gram.c" /* yacc.c:1652  */
27938     break;
27939 
27940   case 242:
27941 #line 1738 "gram.y" /* yacc.c:1652  */
27942     {
27943 					VariableSetStmt *n = makeNode(VariableSetStmt);
27944 					n->kind = VAR_RESET;
27945 					n->name = "timezone";
27946 					(yyval.vsetstmt) = n;
27947 				}
27948 #line 27949 "gram.c" /* yacc.c:1652  */
27949     break;
27950 
27951   case 243:
27952 #line 1745 "gram.y" /* yacc.c:1652  */
27953     {
27954 					VariableSetStmt *n = makeNode(VariableSetStmt);
27955 					n->kind = VAR_RESET;
27956 					n->name = "transaction_isolation";
27957 					(yyval.vsetstmt) = n;
27958 				}
27959 #line 27960 "gram.c" /* yacc.c:1652  */
27960     break;
27961 
27962   case 244:
27963 #line 1752 "gram.y" /* yacc.c:1652  */
27964     {
27965 					VariableSetStmt *n = makeNode(VariableSetStmt);
27966 					n->kind = VAR_RESET;
27967 					n->name = "session_authorization";
27968 					(yyval.vsetstmt) = n;
27969 				}
27970 #line 27971 "gram.c" /* yacc.c:1652  */
27971     break;
27972 
27973   case 245:
27974 #line 1762 "gram.y" /* yacc.c:1652  */
27975     {
27976 					VariableSetStmt *n = makeNode(VariableSetStmt);
27977 					n->kind = VAR_RESET;
27978 					n->name = (yyvsp[0].str);
27979 					(yyval.vsetstmt) = n;
27980 				}
27981 #line 27982 "gram.c" /* yacc.c:1652  */
27982     break;
27983 
27984   case 246:
27985 #line 1769 "gram.y" /* yacc.c:1652  */
27986     {
27987 					VariableSetStmt *n = makeNode(VariableSetStmt);
27988 					n->kind = VAR_RESET_ALL;
27989 					(yyval.vsetstmt) = n;
27990 				}
27991 #line 27992 "gram.c" /* yacc.c:1652  */
27992     break;
27993 
27994   case 247:
27995 #line 1778 "gram.y" /* yacc.c:1652  */
27996     { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
27997 #line 27998 "gram.c" /* yacc.c:1652  */
27998     break;
27999 
28000   case 248:
28001 #line 1779 "gram.y" /* yacc.c:1652  */
28002     { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
28003 #line 28004 "gram.c" /* yacc.c:1652  */
28004     break;
28005 
28006   case 249:
28007 #line 1784 "gram.y" /* yacc.c:1652  */
28008     { (yyval.vsetstmt) = (yyvsp[0].vsetstmt); }
28009 #line 28010 "gram.c" /* yacc.c:1652  */
28010     break;
28011 
28012   case 250:
28013 #line 1785 "gram.y" /* yacc.c:1652  */
28014     { (yyval.vsetstmt) = (VariableSetStmt *) (yyvsp[0].node); }
28015 #line 28016 "gram.c" /* yacc.c:1652  */
28016     break;
28017 
28018   case 251:
28019 #line 1791 "gram.y" /* yacc.c:1652  */
28020     {
28021 					VariableShowStmt *n = makeNode(VariableShowStmt);
28022 					n->name = (yyvsp[0].str);
28023 					(yyval.node) = (Node *) n;
28024 				}
28025 #line 28026 "gram.c" /* yacc.c:1652  */
28026     break;
28027 
28028   case 252:
28029 #line 1797 "gram.y" /* yacc.c:1652  */
28030     {
28031 					VariableShowStmt *n = makeNode(VariableShowStmt);
28032 					n->name = "timezone";
28033 					(yyval.node) = (Node *) n;
28034 				}
28035 #line 28036 "gram.c" /* yacc.c:1652  */
28036     break;
28037 
28038   case 253:
28039 #line 1803 "gram.y" /* yacc.c:1652  */
28040     {
28041 					VariableShowStmt *n = makeNode(VariableShowStmt);
28042 					n->name = "transaction_isolation";
28043 					(yyval.node) = (Node *) n;
28044 				}
28045 #line 28046 "gram.c" /* yacc.c:1652  */
28046     break;
28047 
28048   case 254:
28049 #line 1809 "gram.y" /* yacc.c:1652  */
28050     {
28051 					VariableShowStmt *n = makeNode(VariableShowStmt);
28052 					n->name = "session_authorization";
28053 					(yyval.node) = (Node *) n;
28054 				}
28055 #line 28056 "gram.c" /* yacc.c:1652  */
28056     break;
28057 
28058   case 255:
28059 #line 1815 "gram.y" /* yacc.c:1652  */
28060     {
28061 					VariableShowStmt *n = makeNode(VariableShowStmt);
28062 					n->name = "all";
28063 					(yyval.node) = (Node *) n;
28064 				}
28065 #line 28066 "gram.c" /* yacc.c:1652  */
28066     break;
28067 
28068   case 256:
28069 #line 1825 "gram.y" /* yacc.c:1652  */
28070     {
28071 					ConstraintsSetStmt *n = makeNode(ConstraintsSetStmt);
28072 					n->constraints = (yyvsp[-1].list);
28073 					n->deferred = (yyvsp[0].boolean);
28074 					(yyval.node) = (Node *) n;
28075 				}
28076 #line 28077 "gram.c" /* yacc.c:1652  */
28077     break;
28078 
28079   case 257:
28080 #line 1834 "gram.y" /* yacc.c:1652  */
28081     { (yyval.list) = NIL; }
28082 #line 28083 "gram.c" /* yacc.c:1652  */
28083     break;
28084 
28085   case 258:
28086 #line 1835 "gram.y" /* yacc.c:1652  */
28087     { (yyval.list) = (yyvsp[0].list); }
28088 #line 28089 "gram.c" /* yacc.c:1652  */
28089     break;
28090 
28091   case 259:
28092 #line 1839 "gram.y" /* yacc.c:1652  */
28093     { (yyval.boolean) = true; }
28094 #line 28095 "gram.c" /* yacc.c:1652  */
28095     break;
28096 
28097   case 260:
28098 #line 1840 "gram.y" /* yacc.c:1652  */
28099     { (yyval.boolean) = false; }
28100 #line 28101 "gram.c" /* yacc.c:1652  */
28101     break;
28102 
28103   case 261:
28104 #line 1849 "gram.y" /* yacc.c:1652  */
28105     {
28106 					CheckPointStmt *n = makeNode(CheckPointStmt);
28107 					(yyval.node) = (Node *)n;
28108 				}
28109 #line 28110 "gram.c" /* yacc.c:1652  */
28110     break;
28111 
28112   case 262:
28113 #line 1864 "gram.y" /* yacc.c:1652  */
28114     {
28115 					DiscardStmt *n = makeNode(DiscardStmt);
28116 					n->target = DISCARD_ALL;
28117 					(yyval.node) = (Node *) n;
28118 				}
28119 #line 28120 "gram.c" /* yacc.c:1652  */
28120     break;
28121 
28122   case 263:
28123 #line 1870 "gram.y" /* yacc.c:1652  */
28124     {
28125 					DiscardStmt *n = makeNode(DiscardStmt);
28126 					n->target = DISCARD_TEMP;
28127 					(yyval.node) = (Node *) n;
28128 				}
28129 #line 28130 "gram.c" /* yacc.c:1652  */
28130     break;
28131 
28132   case 264:
28133 #line 1876 "gram.y" /* yacc.c:1652  */
28134     {
28135 					DiscardStmt *n = makeNode(DiscardStmt);
28136 					n->target = DISCARD_TEMP;
28137 					(yyval.node) = (Node *) n;
28138 				}
28139 #line 28140 "gram.c" /* yacc.c:1652  */
28140     break;
28141 
28142   case 265:
28143 #line 1882 "gram.y" /* yacc.c:1652  */
28144     {
28145 					DiscardStmt *n = makeNode(DiscardStmt);
28146 					n->target = DISCARD_PLANS;
28147 					(yyval.node) = (Node *) n;
28148 				}
28149 #line 28150 "gram.c" /* yacc.c:1652  */
28150     break;
28151 
28152   case 266:
28153 #line 1888 "gram.y" /* yacc.c:1652  */
28154     {
28155 					DiscardStmt *n = makeNode(DiscardStmt);
28156 					n->target = DISCARD_SEQUENCES;
28157 					(yyval.node) = (Node *) n;
28158 				}
28159 #line 28160 "gram.c" /* yacc.c:1652  */
28160     break;
28161 
28162   case 267:
28163 #line 1907 "gram.y" /* yacc.c:1652  */
28164     {
28165 					AlterTableStmt *n = makeNode(AlterTableStmt);
28166 					n->relation = (yyvsp[-1].range);
28167 					n->cmds = (yyvsp[0].list);
28168 					n->objtype = OBJECT_TABLE;
28169 					n->missing_ok = false;
28170 					(yyval.node) = (Node *)n;
28171 				}
28172 #line 28173 "gram.c" /* yacc.c:1652  */
28173     break;
28174 
28175   case 268:
28176 #line 1916 "gram.y" /* yacc.c:1652  */
28177     {
28178 					AlterTableStmt *n = makeNode(AlterTableStmt);
28179 					n->relation = (yyvsp[-1].range);
28180 					n->cmds = (yyvsp[0].list);
28181 					n->objtype = OBJECT_TABLE;
28182 					n->missing_ok = true;
28183 					(yyval.node) = (Node *)n;
28184 				}
28185 #line 28186 "gram.c" /* yacc.c:1652  */
28186     break;
28187 
28188   case 269:
28189 #line 1925 "gram.y" /* yacc.c:1652  */
28190     {
28191 					AlterTableStmt *n = makeNode(AlterTableStmt);
28192 					n->relation = (yyvsp[-1].range);
28193 					n->cmds = list_make1((yyvsp[0].node));
28194 					n->objtype = OBJECT_TABLE;
28195 					n->missing_ok = false;
28196 					(yyval.node) = (Node *)n;
28197 				}
28198 #line 28199 "gram.c" /* yacc.c:1652  */
28199     break;
28200 
28201   case 270:
28202 #line 1934 "gram.y" /* yacc.c:1652  */
28203     {
28204 					AlterTableStmt *n = makeNode(AlterTableStmt);
28205 					n->relation = (yyvsp[-1].range);
28206 					n->cmds = list_make1((yyvsp[0].node));
28207 					n->objtype = OBJECT_TABLE;
28208 					n->missing_ok = true;
28209 					(yyval.node) = (Node *)n;
28210 				}
28211 #line 28212 "gram.c" /* yacc.c:1652  */
28212     break;
28213 
28214   case 271:
28215 #line 1943 "gram.y" /* yacc.c:1652  */
28216     {
28217 					AlterTableMoveAllStmt *n =
28218 						makeNode(AlterTableMoveAllStmt);
28219 					n->orig_tablespacename = (yyvsp[-4].str);
28220 					n->objtype = OBJECT_TABLE;
28221 					n->roles = NIL;
28222 					n->new_tablespacename = (yyvsp[-1].str);
28223 					n->nowait = (yyvsp[0].boolean);
28224 					(yyval.node) = (Node *)n;
28225 				}
28226 #line 28227 "gram.c" /* yacc.c:1652  */
28227     break;
28228 
28229   case 272:
28230 #line 1954 "gram.y" /* yacc.c:1652  */
28231     {
28232 					AlterTableMoveAllStmt *n =
28233 						makeNode(AlterTableMoveAllStmt);
28234 					n->orig_tablespacename = (yyvsp[-7].str);
28235 					n->objtype = OBJECT_TABLE;
28236 					n->roles = (yyvsp[-4].list);
28237 					n->new_tablespacename = (yyvsp[-1].str);
28238 					n->nowait = (yyvsp[0].boolean);
28239 					(yyval.node) = (Node *)n;
28240 				}
28241 #line 28242 "gram.c" /* yacc.c:1652  */
28242     break;
28243 
28244   case 273:
28245 #line 1965 "gram.y" /* yacc.c:1652  */
28246     {
28247 					AlterTableStmt *n = makeNode(AlterTableStmt);
28248 					n->relation = (yyvsp[-1].range);
28249 					n->cmds = (yyvsp[0].list);
28250 					n->objtype = OBJECT_INDEX;
28251 					n->missing_ok = false;
28252 					(yyval.node) = (Node *)n;
28253 				}
28254 #line 28255 "gram.c" /* yacc.c:1652  */
28255     break;
28256 
28257   case 274:
28258 #line 1974 "gram.y" /* yacc.c:1652  */
28259     {
28260 					AlterTableStmt *n = makeNode(AlterTableStmt);
28261 					n->relation = (yyvsp[-1].range);
28262 					n->cmds = (yyvsp[0].list);
28263 					n->objtype = OBJECT_INDEX;
28264 					n->missing_ok = true;
28265 					(yyval.node) = (Node *)n;
28266 				}
28267 #line 28268 "gram.c" /* yacc.c:1652  */
28268     break;
28269 
28270   case 275:
28271 #line 1983 "gram.y" /* yacc.c:1652  */
28272     {
28273 					AlterTableStmt *n = makeNode(AlterTableStmt);
28274 					n->relation = (yyvsp[-1].range);
28275 					n->cmds = list_make1((yyvsp[0].node));
28276 					n->objtype = OBJECT_INDEX;
28277 					n->missing_ok = false;
28278 					(yyval.node) = (Node *)n;
28279 				}
28280 #line 28281 "gram.c" /* yacc.c:1652  */
28281     break;
28282 
28283   case 276:
28284 #line 1992 "gram.y" /* yacc.c:1652  */
28285     {
28286 					AlterTableMoveAllStmt *n =
28287 						makeNode(AlterTableMoveAllStmt);
28288 					n->orig_tablespacename = (yyvsp[-4].str);
28289 					n->objtype = OBJECT_INDEX;
28290 					n->roles = NIL;
28291 					n->new_tablespacename = (yyvsp[-1].str);
28292 					n->nowait = (yyvsp[0].boolean);
28293 					(yyval.node) = (Node *)n;
28294 				}
28295 #line 28296 "gram.c" /* yacc.c:1652  */
28296     break;
28297 
28298   case 277:
28299 #line 2003 "gram.y" /* yacc.c:1652  */
28300     {
28301 					AlterTableMoveAllStmt *n =
28302 						makeNode(AlterTableMoveAllStmt);
28303 					n->orig_tablespacename = (yyvsp[-7].str);
28304 					n->objtype = OBJECT_INDEX;
28305 					n->roles = (yyvsp[-4].list);
28306 					n->new_tablespacename = (yyvsp[-1].str);
28307 					n->nowait = (yyvsp[0].boolean);
28308 					(yyval.node) = (Node *)n;
28309 				}
28310 #line 28311 "gram.c" /* yacc.c:1652  */
28311     break;
28312 
28313   case 278:
28314 #line 2014 "gram.y" /* yacc.c:1652  */
28315     {
28316 					AlterTableStmt *n = makeNode(AlterTableStmt);
28317 					n->relation = (yyvsp[-1].range);
28318 					n->cmds = (yyvsp[0].list);
28319 					n->objtype = OBJECT_SEQUENCE;
28320 					n->missing_ok = false;
28321 					(yyval.node) = (Node *)n;
28322 				}
28323 #line 28324 "gram.c" /* yacc.c:1652  */
28324     break;
28325 
28326   case 279:
28327 #line 2023 "gram.y" /* yacc.c:1652  */
28328     {
28329 					AlterTableStmt *n = makeNode(AlterTableStmt);
28330 					n->relation = (yyvsp[-1].range);
28331 					n->cmds = (yyvsp[0].list);
28332 					n->objtype = OBJECT_SEQUENCE;
28333 					n->missing_ok = true;
28334 					(yyval.node) = (Node *)n;
28335 				}
28336 #line 28337 "gram.c" /* yacc.c:1652  */
28337     break;
28338 
28339   case 280:
28340 #line 2032 "gram.y" /* yacc.c:1652  */
28341     {
28342 					AlterTableStmt *n = makeNode(AlterTableStmt);
28343 					n->relation = (yyvsp[-1].range);
28344 					n->cmds = (yyvsp[0].list);
28345 					n->objtype = OBJECT_VIEW;
28346 					n->missing_ok = false;
28347 					(yyval.node) = (Node *)n;
28348 				}
28349 #line 28350 "gram.c" /* yacc.c:1652  */
28350     break;
28351 
28352   case 281:
28353 #line 2041 "gram.y" /* yacc.c:1652  */
28354     {
28355 					AlterTableStmt *n = makeNode(AlterTableStmt);
28356 					n->relation = (yyvsp[-1].range);
28357 					n->cmds = (yyvsp[0].list);
28358 					n->objtype = OBJECT_VIEW;
28359 					n->missing_ok = true;
28360 					(yyval.node) = (Node *)n;
28361 				}
28362 #line 28363 "gram.c" /* yacc.c:1652  */
28363     break;
28364 
28365   case 282:
28366 #line 2050 "gram.y" /* yacc.c:1652  */
28367     {
28368 					AlterTableStmt *n = makeNode(AlterTableStmt);
28369 					n->relation = (yyvsp[-1].range);
28370 					n->cmds = (yyvsp[0].list);
28371 					n->objtype = OBJECT_MATVIEW;
28372 					n->missing_ok = false;
28373 					(yyval.node) = (Node *)n;
28374 				}
28375 #line 28376 "gram.c" /* yacc.c:1652  */
28376     break;
28377 
28378   case 283:
28379 #line 2059 "gram.y" /* yacc.c:1652  */
28380     {
28381 					AlterTableStmt *n = makeNode(AlterTableStmt);
28382 					n->relation = (yyvsp[-1].range);
28383 					n->cmds = (yyvsp[0].list);
28384 					n->objtype = OBJECT_MATVIEW;
28385 					n->missing_ok = true;
28386 					(yyval.node) = (Node *)n;
28387 				}
28388 #line 28389 "gram.c" /* yacc.c:1652  */
28389     break;
28390 
28391   case 284:
28392 #line 2068 "gram.y" /* yacc.c:1652  */
28393     {
28394 					AlterTableMoveAllStmt *n =
28395 						makeNode(AlterTableMoveAllStmt);
28396 					n->orig_tablespacename = (yyvsp[-4].str);
28397 					n->objtype = OBJECT_MATVIEW;
28398 					n->roles = NIL;
28399 					n->new_tablespacename = (yyvsp[-1].str);
28400 					n->nowait = (yyvsp[0].boolean);
28401 					(yyval.node) = (Node *)n;
28402 				}
28403 #line 28404 "gram.c" /* yacc.c:1652  */
28404     break;
28405 
28406   case 285:
28407 #line 2079 "gram.y" /* yacc.c:1652  */
28408     {
28409 					AlterTableMoveAllStmt *n =
28410 						makeNode(AlterTableMoveAllStmt);
28411 					n->orig_tablespacename = (yyvsp[-7].str);
28412 					n->objtype = OBJECT_MATVIEW;
28413 					n->roles = (yyvsp[-4].list);
28414 					n->new_tablespacename = (yyvsp[-1].str);
28415 					n->nowait = (yyvsp[0].boolean);
28416 					(yyval.node) = (Node *)n;
28417 				}
28418 #line 28419 "gram.c" /* yacc.c:1652  */
28419     break;
28420 
28421   case 286:
28422 #line 2090 "gram.y" /* yacc.c:1652  */
28423     {
28424 					AlterTableStmt *n = makeNode(AlterTableStmt);
28425 					n->relation = (yyvsp[-1].range);
28426 					n->cmds = (yyvsp[0].list);
28427 					n->objtype = OBJECT_FOREIGN_TABLE;
28428 					n->missing_ok = false;
28429 					(yyval.node) = (Node *)n;
28430 				}
28431 #line 28432 "gram.c" /* yacc.c:1652  */
28432     break;
28433 
28434   case 287:
28435 #line 2099 "gram.y" /* yacc.c:1652  */
28436     {
28437 					AlterTableStmt *n = makeNode(AlterTableStmt);
28438 					n->relation = (yyvsp[-1].range);
28439 					n->cmds = (yyvsp[0].list);
28440 					n->objtype = OBJECT_FOREIGN_TABLE;
28441 					n->missing_ok = true;
28442 					(yyval.node) = (Node *)n;
28443 				}
28444 #line 28445 "gram.c" /* yacc.c:1652  */
28445     break;
28446 
28447   case 288:
28448 #line 2110 "gram.y" /* yacc.c:1652  */
28449     { (yyval.list) = list_make1((yyvsp[0].node)); }
28450 #line 28451 "gram.c" /* yacc.c:1652  */
28451     break;
28452 
28453   case 289:
28454 #line 2111 "gram.y" /* yacc.c:1652  */
28455     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
28456 #line 28457 "gram.c" /* yacc.c:1652  */
28457     break;
28458 
28459   case 290:
28460 #line 2117 "gram.y" /* yacc.c:1652  */
28461     {
28462 					AlterTableCmd *n = makeNode(AlterTableCmd);
28463 					PartitionCmd *cmd = makeNode(PartitionCmd);
28464 
28465 					n->subtype = AT_AttachPartition;
28466 					cmd->name = (yyvsp[-1].range);
28467 					cmd->bound = (yyvsp[0].partboundspec);
28468 					cmd->concurrent = false;
28469 					n->def = (Node *) cmd;
28470 
28471 					(yyval.node) = (Node *) n;
28472 				}
28473 #line 28474 "gram.c" /* yacc.c:1652  */
28474     break;
28475 
28476   case 291:
28477 #line 2131 "gram.y" /* yacc.c:1652  */
28478     {
28479 					AlterTableCmd *n = makeNode(AlterTableCmd);
28480 					PartitionCmd *cmd = makeNode(PartitionCmd);
28481 
28482 					n->subtype = AT_DetachPartition;
28483 					cmd->name = (yyvsp[-1].range);
28484 					cmd->bound = NULL;
28485 					cmd->concurrent = (yyvsp[0].boolean);
28486 					n->def = (Node *) cmd;
28487 
28488 					(yyval.node) = (Node *) n;
28489 				}
28490 #line 28491 "gram.c" /* yacc.c:1652  */
28491     break;
28492 
28493   case 292:
28494 #line 2144 "gram.y" /* yacc.c:1652  */
28495     {
28496 					AlterTableCmd *n = makeNode(AlterTableCmd);
28497 					PartitionCmd *cmd = makeNode(PartitionCmd);
28498 
28499 					n->subtype = AT_DetachPartitionFinalize;
28500 					cmd->name = (yyvsp[-1].range);
28501 					cmd->bound = NULL;
28502 					cmd->concurrent = false;
28503 					n->def = (Node *) cmd;
28504 					(yyval.node) = (Node *) n;
28505 				}
28506 #line 28507 "gram.c" /* yacc.c:1652  */
28507     break;
28508 
28509   case 293:
28510 #line 2160 "gram.y" /* yacc.c:1652  */
28511     {
28512 					AlterTableCmd *n = makeNode(AlterTableCmd);
28513 					PartitionCmd *cmd = makeNode(PartitionCmd);
28514 
28515 					n->subtype = AT_AttachPartition;
28516 					cmd->name = (yyvsp[0].range);
28517 					cmd->bound = NULL;
28518 					cmd->concurrent = false;
28519 					n->def = (Node *) cmd;
28520 
28521 					(yyval.node) = (Node *) n;
28522 				}
28523 #line 28524 "gram.c" /* yacc.c:1652  */
28524     break;
28525 
28526   case 294:
28527 #line 2177 "gram.y" /* yacc.c:1652  */
28528     {
28529 					AlterTableCmd *n = makeNode(AlterTableCmd);
28530 					n->subtype = AT_AddColumn;
28531 					n->def = (yyvsp[0].node);
28532 					n->missing_ok = false;
28533 					(yyval.node) = (Node *)n;
28534 				}
28535 #line 28536 "gram.c" /* yacc.c:1652  */
28536     break;
28537 
28538   case 295:
28539 #line 2186 "gram.y" /* yacc.c:1652  */
28540     {
28541 					AlterTableCmd *n = makeNode(AlterTableCmd);
28542 					n->subtype = AT_AddColumn;
28543 					n->def = (yyvsp[0].node);
28544 					n->missing_ok = true;
28545 					(yyval.node) = (Node *)n;
28546 				}
28547 #line 28548 "gram.c" /* yacc.c:1652  */
28548     break;
28549 
28550   case 296:
28551 #line 2195 "gram.y" /* yacc.c:1652  */
28552     {
28553 					AlterTableCmd *n = makeNode(AlterTableCmd);
28554 					n->subtype = AT_AddColumn;
28555 					n->def = (yyvsp[0].node);
28556 					n->missing_ok = false;
28557 					(yyval.node) = (Node *)n;
28558 				}
28559 #line 28560 "gram.c" /* yacc.c:1652  */
28560     break;
28561 
28562   case 297:
28563 #line 2204 "gram.y" /* yacc.c:1652  */
28564     {
28565 					AlterTableCmd *n = makeNode(AlterTableCmd);
28566 					n->subtype = AT_AddColumn;
28567 					n->def = (yyvsp[0].node);
28568 					n->missing_ok = true;
28569 					(yyval.node) = (Node *)n;
28570 				}
28571 #line 28572 "gram.c" /* yacc.c:1652  */
28572     break;
28573 
28574   case 298:
28575 #line 2213 "gram.y" /* yacc.c:1652  */
28576     {
28577 					AlterTableCmd *n = makeNode(AlterTableCmd);
28578 					n->subtype = AT_ColumnDefault;
28579 					n->name = (yyvsp[-1].str);
28580 					n->def = (yyvsp[0].node);
28581 					(yyval.node) = (Node *)n;
28582 				}
28583 #line 28584 "gram.c" /* yacc.c:1652  */
28584     break;
28585 
28586   case 299:
28587 #line 2222 "gram.y" /* yacc.c:1652  */
28588     {
28589 					AlterTableCmd *n = makeNode(AlterTableCmd);
28590 					n->subtype = AT_DropNotNull;
28591 					n->name = (yyvsp[-3].str);
28592 					(yyval.node) = (Node *)n;
28593 				}
28594 #line 28595 "gram.c" /* yacc.c:1652  */
28595     break;
28596 
28597   case 300:
28598 #line 2230 "gram.y" /* yacc.c:1652  */
28599     {
28600 					AlterTableCmd *n = makeNode(AlterTableCmd);
28601 					n->subtype = AT_SetNotNull;
28602 					n->name = (yyvsp[-3].str);
28603 					(yyval.node) = (Node *)n;
28604 				}
28605 #line 28606 "gram.c" /* yacc.c:1652  */
28606     break;
28607 
28608   case 301:
28609 #line 2238 "gram.y" /* yacc.c:1652  */
28610     {
28611 					AlterTableCmd *n = makeNode(AlterTableCmd);
28612 					n->subtype = AT_DropExpression;
28613 					n->name = (yyvsp[-2].str);
28614 					(yyval.node) = (Node *)n;
28615 				}
28616 #line 28617 "gram.c" /* yacc.c:1652  */
28617     break;
28618 
28619   case 302:
28620 #line 2246 "gram.y" /* yacc.c:1652  */
28621     {
28622 					AlterTableCmd *n = makeNode(AlterTableCmd);
28623 					n->subtype = AT_DropExpression;
28624 					n->name = (yyvsp[-4].str);
28625 					n->missing_ok = true;
28626 					(yyval.node) = (Node *)n;
28627 				}
28628 #line 28629 "gram.c" /* yacc.c:1652  */
28629     break;
28630 
28631   case 303:
28632 #line 2255 "gram.y" /* yacc.c:1652  */
28633     {
28634 					AlterTableCmd *n = makeNode(AlterTableCmd);
28635 					n->subtype = AT_SetStatistics;
28636 					n->name = (yyvsp[-3].str);
28637 					n->def = (Node *) makeInteger((yyvsp[0].ival));
28638 					(yyval.node) = (Node *)n;
28639 				}
28640 #line 28641 "gram.c" /* yacc.c:1652  */
28641     break;
28642 
28643   case 304:
28644 #line 2264 "gram.y" /* yacc.c:1652  */
28645     {
28646 					AlterTableCmd *n = makeNode(AlterTableCmd);
28647 
28648 					if ((yyvsp[-3].ival) <= 0 || (yyvsp[-3].ival) > PG_INT16_MAX)
28649 						ereport(ERROR,
28650 								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
28651 								 errmsg("column number must be in range from 1 to %d", PG_INT16_MAX),
28652 								 parser_errposition((yylsp[-3]))));
28653 
28654 					n->subtype = AT_SetStatistics;
28655 					n->num = (int16) (yyvsp[-3].ival);
28656 					n->def = (Node *) makeInteger((yyvsp[0].ival));
28657 					(yyval.node) = (Node *)n;
28658 				}
28659 #line 28660 "gram.c" /* yacc.c:1652  */
28660     break;
28661 
28662   case 305:
28663 #line 2280 "gram.y" /* yacc.c:1652  */
28664     {
28665 					AlterTableCmd *n = makeNode(AlterTableCmd);
28666 					n->subtype = AT_SetOptions;
28667 					n->name = (yyvsp[-2].str);
28668 					n->def = (Node *) (yyvsp[0].list);
28669 					(yyval.node) = (Node *)n;
28670 				}
28671 #line 28672 "gram.c" /* yacc.c:1652  */
28672     break;
28673 
28674   case 306:
28675 #line 2289 "gram.y" /* yacc.c:1652  */
28676     {
28677 					AlterTableCmd *n = makeNode(AlterTableCmd);
28678 					n->subtype = AT_ResetOptions;
28679 					n->name = (yyvsp[-2].str);
28680 					n->def = (Node *) (yyvsp[0].list);
28681 					(yyval.node) = (Node *)n;
28682 				}
28683 #line 28684 "gram.c" /* yacc.c:1652  */
28684     break;
28685 
28686   case 307:
28687 #line 2298 "gram.y" /* yacc.c:1652  */
28688     {
28689 					AlterTableCmd *n = makeNode(AlterTableCmd);
28690 					n->subtype = AT_SetStorage;
28691 					n->name = (yyvsp[-3].str);
28692 					n->def = (Node *) makeString((yyvsp[0].str));
28693 					(yyval.node) = (Node *)n;
28694 				}
28695 #line 28696 "gram.c" /* yacc.c:1652  */
28696     break;
28697 
28698   case 308:
28699 #line 2307 "gram.y" /* yacc.c:1652  */
28700     {
28701 					AlterTableCmd *n = makeNode(AlterTableCmd);
28702 					n->subtype = AT_SetCompression;
28703 					n->name = (yyvsp[-2].str);
28704 					n->def = (Node *) makeString((yyvsp[0].str));
28705 					(yyval.node) = (Node *)n;
28706 				}
28707 #line 28708 "gram.c" /* yacc.c:1652  */
28708     break;
28709 
28710   case 309:
28711 #line 2316 "gram.y" /* yacc.c:1652  */
28712     {
28713 					AlterTableCmd *n = makeNode(AlterTableCmd);
28714 					Constraint *c = makeNode(Constraint);
28715 
28716 					c->contype = CONSTR_IDENTITY;
28717 					c->generated_when = (yyvsp[-3].ival);
28718 					c->options = (yyvsp[0].list);
28719 					c->location = (yylsp[-4]);
28720 
28721 					n->subtype = AT_AddIdentity;
28722 					n->name = (yyvsp[-6].str);
28723 					n->def = (Node *) c;
28724 
28725 					(yyval.node) = (Node *)n;
28726 				}
28727 #line 28728 "gram.c" /* yacc.c:1652  */
28728     break;
28729 
28730   case 310:
28731 #line 2333 "gram.y" /* yacc.c:1652  */
28732     {
28733 					AlterTableCmd *n = makeNode(AlterTableCmd);
28734 					n->subtype = AT_SetIdentity;
28735 					n->name = (yyvsp[-1].str);
28736 					n->def = (Node *) (yyvsp[0].list);
28737 					(yyval.node) = (Node *)n;
28738 				}
28739 #line 28740 "gram.c" /* yacc.c:1652  */
28740     break;
28741 
28742   case 311:
28743 #line 2342 "gram.y" /* yacc.c:1652  */
28744     {
28745 					AlterTableCmd *n = makeNode(AlterTableCmd);
28746 					n->subtype = AT_DropIdentity;
28747 					n->name = (yyvsp[-2].str);
28748 					n->missing_ok = false;
28749 					(yyval.node) = (Node *)n;
28750 				}
28751 #line 28752 "gram.c" /* yacc.c:1652  */
28752     break;
28753 
28754   case 312:
28755 #line 2351 "gram.y" /* yacc.c:1652  */
28756     {
28757 					AlterTableCmd *n = makeNode(AlterTableCmd);
28758 					n->subtype = AT_DropIdentity;
28759 					n->name = (yyvsp[-4].str);
28760 					n->missing_ok = true;
28761 					(yyval.node) = (Node *)n;
28762 				}
28763 #line 28764 "gram.c" /* yacc.c:1652  */
28764     break;
28765 
28766   case 313:
28767 #line 2360 "gram.y" /* yacc.c:1652  */
28768     {
28769 					AlterTableCmd *n = makeNode(AlterTableCmd);
28770 					n->subtype = AT_DropColumn;
28771 					n->name = (yyvsp[-1].str);
28772 					n->behavior = (yyvsp[0].dbehavior);
28773 					n->missing_ok = true;
28774 					(yyval.node) = (Node *)n;
28775 				}
28776 #line 28777 "gram.c" /* yacc.c:1652  */
28777     break;
28778 
28779   case 314:
28780 #line 2370 "gram.y" /* yacc.c:1652  */
28781     {
28782 					AlterTableCmd *n = makeNode(AlterTableCmd);
28783 					n->subtype = AT_DropColumn;
28784 					n->name = (yyvsp[-1].str);
28785 					n->behavior = (yyvsp[0].dbehavior);
28786 					n->missing_ok = false;
28787 					(yyval.node) = (Node *)n;
28788 				}
28789 #line 28790 "gram.c" /* yacc.c:1652  */
28790     break;
28791 
28792   case 315:
28793 #line 2383 "gram.y" /* yacc.c:1652  */
28794     {
28795 					AlterTableCmd *n = makeNode(AlterTableCmd);
28796 					ColumnDef *def = makeNode(ColumnDef);
28797 					n->subtype = AT_AlterColumnType;
28798 					n->name = (yyvsp[-5].str);
28799 					n->def = (Node *) def;
28800 					/* We only use these fields of the ColumnDef node */
28801 					def->typeName = (yyvsp[-2].typnam);
28802 					def->collClause = (CollateClause *) (yyvsp[-1].node);
28803 					def->raw_default = (yyvsp[0].node);
28804 					def->location = (yylsp[-5]);
28805 					(yyval.node) = (Node *)n;
28806 				}
28807 #line 28808 "gram.c" /* yacc.c:1652  */
28808     break;
28809 
28810   case 316:
28811 #line 2398 "gram.y" /* yacc.c:1652  */
28812     {
28813 					AlterTableCmd *n = makeNode(AlterTableCmd);
28814 					n->subtype = AT_AlterColumnGenericOptions;
28815 					n->name = (yyvsp[-1].str);
28816 					n->def = (Node *) (yyvsp[0].list);
28817 					(yyval.node) = (Node *)n;
28818 				}
28819 #line 28820 "gram.c" /* yacc.c:1652  */
28820     break;
28821 
28822   case 317:
28823 #line 2407 "gram.y" /* yacc.c:1652  */
28824     {
28825 					AlterTableCmd *n = makeNode(AlterTableCmd);
28826 					n->subtype = AT_AddConstraint;
28827 					n->def = (yyvsp[0].node);
28828 					(yyval.node) = (Node *)n;
28829 				}
28830 #line 28831 "gram.c" /* yacc.c:1652  */
28831     break;
28832 
28833   case 318:
28834 #line 2415 "gram.y" /* yacc.c:1652  */
28835     {
28836 					AlterTableCmd *n = makeNode(AlterTableCmd);
28837 					Constraint *c = makeNode(Constraint);
28838 					n->subtype = AT_AlterConstraint;
28839 					n->def = (Node *) c;
28840 					c->contype = CONSTR_FOREIGN; /* others not supported, yet */
28841 					c->conname = (yyvsp[-1].str);
28842 					processCASbits((yyvsp[0].ival), (yylsp[0]), "ALTER CONSTRAINT statement",
28843 									&c->deferrable,
28844 									&c->initdeferred,
28845 									NULL, NULL, yyscanner);
28846 					(yyval.node) = (Node *)n;
28847 				}
28848 #line 28849 "gram.c" /* yacc.c:1652  */
28849     break;
28850 
28851   case 319:
28852 #line 2430 "gram.y" /* yacc.c:1652  */
28853     {
28854 					AlterTableCmd *n = makeNode(AlterTableCmd);
28855 					n->subtype = AT_ValidateConstraint;
28856 					n->name = (yyvsp[0].str);
28857 					(yyval.node) = (Node *)n;
28858 				}
28859 #line 28860 "gram.c" /* yacc.c:1652  */
28860     break;
28861 
28862   case 320:
28863 #line 2438 "gram.y" /* yacc.c:1652  */
28864     {
28865 					AlterTableCmd *n = makeNode(AlterTableCmd);
28866 					n->subtype = AT_DropConstraint;
28867 					n->name = (yyvsp[-1].str);
28868 					n->behavior = (yyvsp[0].dbehavior);
28869 					n->missing_ok = true;
28870 					(yyval.node) = (Node *)n;
28871 				}
28872 #line 28873 "gram.c" /* yacc.c:1652  */
28873     break;
28874 
28875   case 321:
28876 #line 2448 "gram.y" /* yacc.c:1652  */
28877     {
28878 					AlterTableCmd *n = makeNode(AlterTableCmd);
28879 					n->subtype = AT_DropConstraint;
28880 					n->name = (yyvsp[-1].str);
28881 					n->behavior = (yyvsp[0].dbehavior);
28882 					n->missing_ok = false;
28883 					(yyval.node) = (Node *)n;
28884 				}
28885 #line 28886 "gram.c" /* yacc.c:1652  */
28886     break;
28887 
28888   case 322:
28889 #line 2458 "gram.y" /* yacc.c:1652  */
28890     {
28891 					AlterTableCmd *n = makeNode(AlterTableCmd);
28892 					n->subtype = AT_DropOids;
28893 					(yyval.node) = (Node *)n;
28894 				}
28895 #line 28896 "gram.c" /* yacc.c:1652  */
28896     break;
28897 
28898   case 323:
28899 #line 2465 "gram.y" /* yacc.c:1652  */
28900     {
28901 					AlterTableCmd *n = makeNode(AlterTableCmd);
28902 					n->subtype = AT_ClusterOn;
28903 					n->name = (yyvsp[0].str);
28904 					(yyval.node) = (Node *)n;
28905 				}
28906 #line 28907 "gram.c" /* yacc.c:1652  */
28907     break;
28908 
28909   case 324:
28910 #line 2473 "gram.y" /* yacc.c:1652  */
28911     {
28912 					AlterTableCmd *n = makeNode(AlterTableCmd);
28913 					n->subtype = AT_DropCluster;
28914 					n->name = NULL;
28915 					(yyval.node) = (Node *)n;
28916 				}
28917 #line 28918 "gram.c" /* yacc.c:1652  */
28918     break;
28919 
28920   case 325:
28921 #line 2481 "gram.y" /* yacc.c:1652  */
28922     {
28923 					AlterTableCmd *n = makeNode(AlterTableCmd);
28924 					n->subtype = AT_SetLogged;
28925 					(yyval.node) = (Node *)n;
28926 				}
28927 #line 28928 "gram.c" /* yacc.c:1652  */
28928     break;
28929 
28930   case 326:
28931 #line 2488 "gram.y" /* yacc.c:1652  */
28932     {
28933 					AlterTableCmd *n = makeNode(AlterTableCmd);
28934 					n->subtype = AT_SetUnLogged;
28935 					(yyval.node) = (Node *)n;
28936 				}
28937 #line 28938 "gram.c" /* yacc.c:1652  */
28938     break;
28939 
28940   case 327:
28941 #line 2495 "gram.y" /* yacc.c:1652  */
28942     {
28943 					AlterTableCmd *n = makeNode(AlterTableCmd);
28944 					n->subtype = AT_EnableTrig;
28945 					n->name = (yyvsp[0].str);
28946 					(yyval.node) = (Node *)n;
28947 				}
28948 #line 28949 "gram.c" /* yacc.c:1652  */
28949     break;
28950 
28951   case 328:
28952 #line 2503 "gram.y" /* yacc.c:1652  */
28953     {
28954 					AlterTableCmd *n = makeNode(AlterTableCmd);
28955 					n->subtype = AT_EnableAlwaysTrig;
28956 					n->name = (yyvsp[0].str);
28957 					(yyval.node) = (Node *)n;
28958 				}
28959 #line 28960 "gram.c" /* yacc.c:1652  */
28960     break;
28961 
28962   case 329:
28963 #line 2511 "gram.y" /* yacc.c:1652  */
28964     {
28965 					AlterTableCmd *n = makeNode(AlterTableCmd);
28966 					n->subtype = AT_EnableReplicaTrig;
28967 					n->name = (yyvsp[0].str);
28968 					(yyval.node) = (Node *)n;
28969 				}
28970 #line 28971 "gram.c" /* yacc.c:1652  */
28971     break;
28972 
28973   case 330:
28974 #line 2519 "gram.y" /* yacc.c:1652  */
28975     {
28976 					AlterTableCmd *n = makeNode(AlterTableCmd);
28977 					n->subtype = AT_EnableTrigAll;
28978 					(yyval.node) = (Node *)n;
28979 				}
28980 #line 28981 "gram.c" /* yacc.c:1652  */
28981     break;
28982 
28983   case 331:
28984 #line 2526 "gram.y" /* yacc.c:1652  */
28985     {
28986 					AlterTableCmd *n = makeNode(AlterTableCmd);
28987 					n->subtype = AT_EnableTrigUser;
28988 					(yyval.node) = (Node *)n;
28989 				}
28990 #line 28991 "gram.c" /* yacc.c:1652  */
28991     break;
28992 
28993   case 332:
28994 #line 2533 "gram.y" /* yacc.c:1652  */
28995     {
28996 					AlterTableCmd *n = makeNode(AlterTableCmd);
28997 					n->subtype = AT_DisableTrig;
28998 					n->name = (yyvsp[0].str);
28999 					(yyval.node) = (Node *)n;
29000 				}
29001 #line 29002 "gram.c" /* yacc.c:1652  */
29002     break;
29003 
29004   case 333:
29005 #line 2541 "gram.y" /* yacc.c:1652  */
29006     {
29007 					AlterTableCmd *n = makeNode(AlterTableCmd);
29008 					n->subtype = AT_DisableTrigAll;
29009 					(yyval.node) = (Node *)n;
29010 				}
29011 #line 29012 "gram.c" /* yacc.c:1652  */
29012     break;
29013 
29014   case 334:
29015 #line 2548 "gram.y" /* yacc.c:1652  */
29016     {
29017 					AlterTableCmd *n = makeNode(AlterTableCmd);
29018 					n->subtype = AT_DisableTrigUser;
29019 					(yyval.node) = (Node *)n;
29020 				}
29021 #line 29022 "gram.c" /* yacc.c:1652  */
29022     break;
29023 
29024   case 335:
29025 #line 2555 "gram.y" /* yacc.c:1652  */
29026     {
29027 					AlterTableCmd *n = makeNode(AlterTableCmd);
29028 					n->subtype = AT_EnableRule;
29029 					n->name = (yyvsp[0].str);
29030 					(yyval.node) = (Node *)n;
29031 				}
29032 #line 29033 "gram.c" /* yacc.c:1652  */
29033     break;
29034 
29035   case 336:
29036 #line 2563 "gram.y" /* yacc.c:1652  */
29037     {
29038 					AlterTableCmd *n = makeNode(AlterTableCmd);
29039 					n->subtype = AT_EnableAlwaysRule;
29040 					n->name = (yyvsp[0].str);
29041 					(yyval.node) = (Node *)n;
29042 				}
29043 #line 29044 "gram.c" /* yacc.c:1652  */
29044     break;
29045 
29046   case 337:
29047 #line 2571 "gram.y" /* yacc.c:1652  */
29048     {
29049 					AlterTableCmd *n = makeNode(AlterTableCmd);
29050 					n->subtype = AT_EnableReplicaRule;
29051 					n->name = (yyvsp[0].str);
29052 					(yyval.node) = (Node *)n;
29053 				}
29054 #line 29055 "gram.c" /* yacc.c:1652  */
29055     break;
29056 
29057   case 338:
29058 #line 2579 "gram.y" /* yacc.c:1652  */
29059     {
29060 					AlterTableCmd *n = makeNode(AlterTableCmd);
29061 					n->subtype = AT_DisableRule;
29062 					n->name = (yyvsp[0].str);
29063 					(yyval.node) = (Node *)n;
29064 				}
29065 #line 29066 "gram.c" /* yacc.c:1652  */
29066     break;
29067 
29068   case 339:
29069 #line 2587 "gram.y" /* yacc.c:1652  */
29070     {
29071 					AlterTableCmd *n = makeNode(AlterTableCmd);
29072 					n->subtype = AT_AddInherit;
29073 					n->def = (Node *) (yyvsp[0].range);
29074 					(yyval.node) = (Node *)n;
29075 				}
29076 #line 29077 "gram.c" /* yacc.c:1652  */
29077     break;
29078 
29079   case 340:
29080 #line 2595 "gram.y" /* yacc.c:1652  */
29081     {
29082 					AlterTableCmd *n = makeNode(AlterTableCmd);
29083 					n->subtype = AT_DropInherit;
29084 					n->def = (Node *) (yyvsp[0].range);
29085 					(yyval.node) = (Node *)n;
29086 				}
29087 #line 29088 "gram.c" /* yacc.c:1652  */
29088     break;
29089 
29090   case 341:
29091 #line 2603 "gram.y" /* yacc.c:1652  */
29092     {
29093 					AlterTableCmd *n = makeNode(AlterTableCmd);
29094 					TypeName *def = makeTypeNameFromNameList((yyvsp[0].list));
29095 					def->location = (yylsp[0]);
29096 					n->subtype = AT_AddOf;
29097 					n->def = (Node *) def;
29098 					(yyval.node) = (Node *)n;
29099 				}
29100 #line 29101 "gram.c" /* yacc.c:1652  */
29101     break;
29102 
29103   case 342:
29104 #line 2613 "gram.y" /* yacc.c:1652  */
29105     {
29106 					AlterTableCmd *n = makeNode(AlterTableCmd);
29107 					n->subtype = AT_DropOf;
29108 					(yyval.node) = (Node *)n;
29109 				}
29110 #line 29111 "gram.c" /* yacc.c:1652  */
29111     break;
29112 
29113   case 343:
29114 #line 2620 "gram.y" /* yacc.c:1652  */
29115     {
29116 					AlterTableCmd *n = makeNode(AlterTableCmd);
29117 					n->subtype = AT_ChangeOwner;
29118 					n->newowner = (yyvsp[0].rolespec);
29119 					(yyval.node) = (Node *)n;
29120 				}
29121 #line 29122 "gram.c" /* yacc.c:1652  */
29122     break;
29123 
29124   case 344:
29125 #line 2628 "gram.y" /* yacc.c:1652  */
29126     {
29127 					AlterTableCmd *n = makeNode(AlterTableCmd);
29128 					n->subtype = AT_SetTableSpace;
29129 					n->name = (yyvsp[0].str);
29130 					(yyval.node) = (Node *)n;
29131 				}
29132 #line 29133 "gram.c" /* yacc.c:1652  */
29133     break;
29134 
29135   case 345:
29136 #line 2636 "gram.y" /* yacc.c:1652  */
29137     {
29138 					AlterTableCmd *n = makeNode(AlterTableCmd);
29139 					n->subtype = AT_SetRelOptions;
29140 					n->def = (Node *)(yyvsp[0].list);
29141 					(yyval.node) = (Node *)n;
29142 				}
29143 #line 29144 "gram.c" /* yacc.c:1652  */
29144     break;
29145 
29146   case 346:
29147 #line 2644 "gram.y" /* yacc.c:1652  */
29148     {
29149 					AlterTableCmd *n = makeNode(AlterTableCmd);
29150 					n->subtype = AT_ResetRelOptions;
29151 					n->def = (Node *)(yyvsp[0].list);
29152 					(yyval.node) = (Node *)n;
29153 				}
29154 #line 29155 "gram.c" /* yacc.c:1652  */
29155     break;
29156 
29157   case 347:
29158 #line 2652 "gram.y" /* yacc.c:1652  */
29159     {
29160 					AlterTableCmd *n = makeNode(AlterTableCmd);
29161 					n->subtype = AT_ReplicaIdentity;
29162 					n->def = (yyvsp[0].node);
29163 					(yyval.node) = (Node *)n;
29164 				}
29165 #line 29166 "gram.c" /* yacc.c:1652  */
29166     break;
29167 
29168   case 348:
29169 #line 2660 "gram.y" /* yacc.c:1652  */
29170     {
29171 					AlterTableCmd *n = makeNode(AlterTableCmd);
29172 					n->subtype = AT_EnableRowSecurity;
29173 					(yyval.node) = (Node *)n;
29174 				}
29175 #line 29176 "gram.c" /* yacc.c:1652  */
29176     break;
29177 
29178   case 349:
29179 #line 2667 "gram.y" /* yacc.c:1652  */
29180     {
29181 					AlterTableCmd *n = makeNode(AlterTableCmd);
29182 					n->subtype = AT_DisableRowSecurity;
29183 					(yyval.node) = (Node *)n;
29184 				}
29185 #line 29186 "gram.c" /* yacc.c:1652  */
29186     break;
29187 
29188   case 350:
29189 #line 2674 "gram.y" /* yacc.c:1652  */
29190     {
29191 					AlterTableCmd *n = makeNode(AlterTableCmd);
29192 					n->subtype = AT_ForceRowSecurity;
29193 					(yyval.node) = (Node *)n;
29194 				}
29195 #line 29196 "gram.c" /* yacc.c:1652  */
29196     break;
29197 
29198   case 351:
29199 #line 2681 "gram.y" /* yacc.c:1652  */
29200     {
29201 					AlterTableCmd *n = makeNode(AlterTableCmd);
29202 					n->subtype = AT_NoForceRowSecurity;
29203 					(yyval.node) = (Node *)n;
29204 				}
29205 #line 29206 "gram.c" /* yacc.c:1652  */
29206     break;
29207 
29208   case 352:
29209 #line 2687 "gram.y" /* yacc.c:1652  */
29210     {
29211 					AlterTableCmd *n = makeNode(AlterTableCmd);
29212 					n->subtype = AT_GenericOptions;
29213 					n->def = (Node *)(yyvsp[0].list);
29214 					(yyval.node) = (Node *) n;
29215 				}
29216 #line 29217 "gram.c" /* yacc.c:1652  */
29217     break;
29218 
29219   case 353:
29220 #line 2696 "gram.y" /* yacc.c:1652  */
29221     { (yyval.node) = (yyvsp[0].node); }
29222 #line 29223 "gram.c" /* yacc.c:1652  */
29223     break;
29224 
29225   case 354:
29226 #line 2697 "gram.y" /* yacc.c:1652  */
29227     { (yyval.node) = NULL; }
29228 #line 29229 "gram.c" /* yacc.c:1652  */
29229     break;
29230 
29231   case 355:
29232 #line 2701 "gram.y" /* yacc.c:1652  */
29233     { (yyval.dbehavior) = DROP_CASCADE; }
29234 #line 29235 "gram.c" /* yacc.c:1652  */
29235     break;
29236 
29237   case 356:
29238 #line 2702 "gram.y" /* yacc.c:1652  */
29239     { (yyval.dbehavior) = DROP_RESTRICT; }
29240 #line 29241 "gram.c" /* yacc.c:1652  */
29241     break;
29242 
29243   case 357:
29244 #line 2703 "gram.y" /* yacc.c:1652  */
29245     { (yyval.dbehavior) = DROP_RESTRICT; /* default */ }
29246 #line 29247 "gram.c" /* yacc.c:1652  */
29247     break;
29248 
29249   case 358:
29250 #line 2708 "gram.y" /* yacc.c:1652  */
29251     {
29252 					CollateClause *n = makeNode(CollateClause);
29253 					n->arg = NULL;
29254 					n->collname = (yyvsp[0].list);
29255 					n->location = (yylsp[-1]);
29256 					(yyval.node) = (Node *) n;
29257 				}
29258 #line 29259 "gram.c" /* yacc.c:1652  */
29259     break;
29260 
29261   case 359:
29262 #line 2715 "gram.y" /* yacc.c:1652  */
29263     { (yyval.node) = NULL; }
29264 #line 29265 "gram.c" /* yacc.c:1652  */
29265     break;
29266 
29267   case 360:
29268 #line 2719 "gram.y" /* yacc.c:1652  */
29269     { (yyval.node) = (yyvsp[0].node); }
29270 #line 29271 "gram.c" /* yacc.c:1652  */
29271     break;
29272 
29273   case 361:
29274 #line 2720 "gram.y" /* yacc.c:1652  */
29275     { (yyval.node) = NULL; }
29276 #line 29277 "gram.c" /* yacc.c:1652  */
29277     break;
29278 
29279   case 362:
29280 #line 2725 "gram.y" /* yacc.c:1652  */
29281     {
29282 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
29283 					n->identity_type = REPLICA_IDENTITY_NOTHING;
29284 					n->name = NULL;
29285 					(yyval.node) = (Node *) n;
29286 				}
29287 #line 29288 "gram.c" /* yacc.c:1652  */
29288     break;
29289 
29290   case 363:
29291 #line 2732 "gram.y" /* yacc.c:1652  */
29292     {
29293 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
29294 					n->identity_type = REPLICA_IDENTITY_FULL;
29295 					n->name = NULL;
29296 					(yyval.node) = (Node *) n;
29297 				}
29298 #line 29299 "gram.c" /* yacc.c:1652  */
29299     break;
29300 
29301   case 364:
29302 #line 2739 "gram.y" /* yacc.c:1652  */
29303     {
29304 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
29305 					n->identity_type = REPLICA_IDENTITY_DEFAULT;
29306 					n->name = NULL;
29307 					(yyval.node) = (Node *) n;
29308 				}
29309 #line 29310 "gram.c" /* yacc.c:1652  */
29310     break;
29311 
29312   case 365:
29313 #line 2746 "gram.y" /* yacc.c:1652  */
29314     {
29315 					ReplicaIdentityStmt *n = makeNode(ReplicaIdentityStmt);
29316 					n->identity_type = REPLICA_IDENTITY_INDEX;
29317 					n->name = (yyvsp[0].str);
29318 					(yyval.node) = (Node *) n;
29319 				}
29320 #line 29321 "gram.c" /* yacc.c:1652  */
29321     break;
29322 
29323   case 366:
29324 #line 2755 "gram.y" /* yacc.c:1652  */
29325     { (yyval.list) = (yyvsp[-1].list); }
29326 #line 29327 "gram.c" /* yacc.c:1652  */
29327     break;
29328 
29329   case 367:
29330 #line 2758 "gram.y" /* yacc.c:1652  */
29331     { (yyval.list) = (yyvsp[0].list); }
29332 #line 29333 "gram.c" /* yacc.c:1652  */
29333     break;
29334 
29335   case 368:
29336 #line 2759 "gram.y" /* yacc.c:1652  */
29337     { (yyval.list) = NIL; }
29338 #line 29339 "gram.c" /* yacc.c:1652  */
29339     break;
29340 
29341   case 369:
29342 #line 2763 "gram.y" /* yacc.c:1652  */
29343     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
29344 #line 29345 "gram.c" /* yacc.c:1652  */
29345     break;
29346 
29347   case 370:
29348 #line 2764 "gram.y" /* yacc.c:1652  */
29349     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
29350 #line 29351 "gram.c" /* yacc.c:1652  */
29351     break;
29352 
29353   case 371:
29354 #line 2770 "gram.y" /* yacc.c:1652  */
29355     {
29356 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
29357 				}
29358 #line 29359 "gram.c" /* yacc.c:1652  */
29359     break;
29360 
29361   case 372:
29362 #line 2774 "gram.y" /* yacc.c:1652  */
29363     {
29364 					(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
29365 				}
29366 #line 29367 "gram.c" /* yacc.c:1652  */
29367     break;
29368 
29369   case 373:
29370 #line 2778 "gram.y" /* yacc.c:1652  */
29371     {
29372 					(yyval.defelt) = makeDefElemExtended((yyvsp[-4].str), (yyvsp[-2].str), (Node *) (yyvsp[0].node),
29373 											 DEFELEM_UNSPEC, (yylsp[-4]));
29374 				}
29375 #line 29376 "gram.c" /* yacc.c:1652  */
29376     break;
29377 
29378   case 374:
29379 #line 2783 "gram.y" /* yacc.c:1652  */
29380     {
29381 					(yyval.defelt) = makeDefElemExtended((yyvsp[-2].str), (yyvsp[0].str), NULL, DEFELEM_UNSPEC, (yylsp[-2]));
29382 				}
29383 #line 29384 "gram.c" /* yacc.c:1652  */
29384     break;
29385 
29386   case 375:
29387 #line 2790 "gram.y" /* yacc.c:1652  */
29388     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
29389 #line 29390 "gram.c" /* yacc.c:1652  */
29390     break;
29391 
29392   case 376:
29393 #line 2792 "gram.y" /* yacc.c:1652  */
29394     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
29395 #line 29396 "gram.c" /* yacc.c:1652  */
29396     break;
29397 
29398   case 377:
29399 #line 2797 "gram.y" /* yacc.c:1652  */
29400     {
29401 					(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
29402 				}
29403 #line 29404 "gram.c" /* yacc.c:1652  */
29404     break;
29405 
29406   case 378:
29407 #line 2801 "gram.y" /* yacc.c:1652  */
29408     {
29409 					(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
29410 				}
29411 #line 29412 "gram.c" /* yacc.c:1652  */
29412     break;
29413 
29414   case 379:
29415 #line 2805 "gram.y" /* yacc.c:1652  */
29416     {
29417 					if (strcmp((yyvsp[0].defelt)->defname, "as") == 0 ||
29418 						strcmp((yyvsp[0].defelt)->defname, "restart") == 0 ||
29419 						strcmp((yyvsp[0].defelt)->defname, "owned_by") == 0)
29420 						ereport(ERROR,
29421 								(errcode(ERRCODE_SYNTAX_ERROR),
29422 								 errmsg("sequence option \"%s\" not supported here", (yyvsp[0].defelt)->defname),
29423 								 parser_errposition((yylsp[0]))));
29424 					(yyval.defelt) = (yyvsp[0].defelt);
29425 				}
29426 #line 29427 "gram.c" /* yacc.c:1652  */
29427     break;
29428 
29429   case 380:
29430 #line 2816 "gram.y" /* yacc.c:1652  */
29431     {
29432 					(yyval.defelt) = makeDefElem("generated", (Node *) makeInteger((yyvsp[0].ival)), (yylsp[-2]));
29433 				}
29434 #line 29435 "gram.c" /* yacc.c:1652  */
29435     break;
29436 
29437   case 381:
29438 #line 2824 "gram.y" /* yacc.c:1652  */
29439     {
29440 					ListCell   *lc;
29441 					PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
29442 
29443 					n->strategy = PARTITION_STRATEGY_HASH;
29444 					n->modulus = n->remainder = -1;
29445 
29446 					foreach (lc, (yyvsp[-1].list))
29447 					{
29448 						DefElem    *opt = lfirst_node(DefElem, lc);
29449 
29450 						if (strcmp(opt->defname, "modulus") == 0)
29451 						{
29452 							if (n->modulus != -1)
29453 								ereport(ERROR,
29454 										(errcode(ERRCODE_DUPLICATE_OBJECT),
29455 										 errmsg("modulus for hash partition provided more than once"),
29456 										 parser_errposition(opt->location)));
29457 							n->modulus = defGetInt32(opt);
29458 						}
29459 						else if (strcmp(opt->defname, "remainder") == 0)
29460 						{
29461 							if (n->remainder != -1)
29462 								ereport(ERROR,
29463 										(errcode(ERRCODE_DUPLICATE_OBJECT),
29464 										 errmsg("remainder for hash partition provided more than once"),
29465 										 parser_errposition(opt->location)));
29466 							n->remainder = defGetInt32(opt);
29467 						}
29468 						else
29469 							ereport(ERROR,
29470 									(errcode(ERRCODE_SYNTAX_ERROR),
29471 									 errmsg("unrecognized hash partition bound specification \"%s\"",
29472 											opt->defname),
29473 									 parser_errposition(opt->location)));
29474 					}
29475 
29476 					if (n->modulus == -1)
29477 						ereport(ERROR,
29478 								(errcode(ERRCODE_SYNTAX_ERROR),
29479 								 errmsg("modulus for hash partition must be specified")));
29480 					if (n->remainder == -1)
29481 						ereport(ERROR,
29482 								(errcode(ERRCODE_SYNTAX_ERROR),
29483 								 errmsg("remainder for hash partition must be specified")));
29484 
29485 					n->location = (yylsp[-3]);
29486 
29487 					(yyval.partboundspec) = n;
29488 				}
29489 #line 29490 "gram.c" /* yacc.c:1652  */
29490     break;
29491 
29492   case 382:
29493 #line 2877 "gram.y" /* yacc.c:1652  */
29494     {
29495 					PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
29496 
29497 					n->strategy = PARTITION_STRATEGY_LIST;
29498 					n->is_default = false;
29499 					n->listdatums = (yyvsp[-1].list);
29500 					n->location = (yylsp[-3]);
29501 
29502 					(yyval.partboundspec) = n;
29503 				}
29504 #line 29505 "gram.c" /* yacc.c:1652  */
29505     break;
29506 
29507   case 383:
29508 #line 2890 "gram.y" /* yacc.c:1652  */
29509     {
29510 					PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
29511 
29512 					n->strategy = PARTITION_STRATEGY_RANGE;
29513 					n->is_default = false;
29514 					n->lowerdatums = (yyvsp[-5].list);
29515 					n->upperdatums = (yyvsp[-1].list);
29516 					n->location = (yylsp[-7]);
29517 
29518 					(yyval.partboundspec) = n;
29519 				}
29520 #line 29521 "gram.c" /* yacc.c:1652  */
29521     break;
29522 
29523   case 384:
29524 #line 2904 "gram.y" /* yacc.c:1652  */
29525     {
29526 					PartitionBoundSpec *n = makeNode(PartitionBoundSpec);
29527 
29528 					n->is_default = true;
29529 					n->location = (yylsp[0]);
29530 
29531 					(yyval.partboundspec) = n;
29532 				}
29533 #line 29534 "gram.c" /* yacc.c:1652  */
29534     break;
29535 
29536   case 385:
29537 #line 2916 "gram.y" /* yacc.c:1652  */
29538     {
29539 				(yyval.defelt) = makeDefElem((yyvsp[-1].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-1]));
29540 			}
29541 #line 29542 "gram.c" /* yacc.c:1652  */
29542     break;
29543 
29544   case 386:
29545 #line 2923 "gram.y" /* yacc.c:1652  */
29546     {
29547 				(yyval.list) = list_make1((yyvsp[0].defelt));
29548 			}
29549 #line 29550 "gram.c" /* yacc.c:1652  */
29550     break;
29551 
29552   case 387:
29553 #line 2927 "gram.y" /* yacc.c:1652  */
29554     {
29555 				(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
29556 			}
29557 #line 29558 "gram.c" /* yacc.c:1652  */
29558     break;
29559 
29560   case 388:
29561 #line 2941 "gram.y" /* yacc.c:1652  */
29562     {
29563 					AlterTableStmt *n = makeNode(AlterTableStmt);
29564 
29565 					/* can't use qualified_name, sigh */
29566 					n->relation = makeRangeVarFromAnyName((yyvsp[-1].list), (yylsp[-1]), yyscanner);
29567 					n->cmds = (yyvsp[0].list);
29568 					n->objtype = OBJECT_TYPE;
29569 					(yyval.node) = (Node *)n;
29570 				}
29571 #line 29572 "gram.c" /* yacc.c:1652  */
29572     break;
29573 
29574   case 389:
29575 #line 2953 "gram.y" /* yacc.c:1652  */
29576     { (yyval.list) = list_make1((yyvsp[0].node)); }
29577 #line 29578 "gram.c" /* yacc.c:1652  */
29578     break;
29579 
29580   case 390:
29581 #line 2954 "gram.y" /* yacc.c:1652  */
29582     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
29583 #line 29584 "gram.c" /* yacc.c:1652  */
29584     break;
29585 
29586   case 391:
29587 #line 2960 "gram.y" /* yacc.c:1652  */
29588     {
29589 					AlterTableCmd *n = makeNode(AlterTableCmd);
29590 					n->subtype = AT_AddColumn;
29591 					n->def = (yyvsp[-1].node);
29592 					n->behavior = (yyvsp[0].dbehavior);
29593 					(yyval.node) = (Node *)n;
29594 				}
29595 #line 29596 "gram.c" /* yacc.c:1652  */
29596     break;
29597 
29598   case 392:
29599 #line 2969 "gram.y" /* yacc.c:1652  */
29600     {
29601 					AlterTableCmd *n = makeNode(AlterTableCmd);
29602 					n->subtype = AT_DropColumn;
29603 					n->name = (yyvsp[-1].str);
29604 					n->behavior = (yyvsp[0].dbehavior);
29605 					n->missing_ok = true;
29606 					(yyval.node) = (Node *)n;
29607 				}
29608 #line 29609 "gram.c" /* yacc.c:1652  */
29609     break;
29610 
29611   case 393:
29612 #line 2979 "gram.y" /* yacc.c:1652  */
29613     {
29614 					AlterTableCmd *n = makeNode(AlterTableCmd);
29615 					n->subtype = AT_DropColumn;
29616 					n->name = (yyvsp[-1].str);
29617 					n->behavior = (yyvsp[0].dbehavior);
29618 					n->missing_ok = false;
29619 					(yyval.node) = (Node *)n;
29620 				}
29621 #line 29622 "gram.c" /* yacc.c:1652  */
29622     break;
29623 
29624   case 394:
29625 #line 2989 "gram.y" /* yacc.c:1652  */
29626     {
29627 					AlterTableCmd *n = makeNode(AlterTableCmd);
29628 					ColumnDef *def = makeNode(ColumnDef);
29629 					n->subtype = AT_AlterColumnType;
29630 					n->name = (yyvsp[-5].str);
29631 					n->def = (Node *) def;
29632 					n->behavior = (yyvsp[0].dbehavior);
29633 					/* We only use these fields of the ColumnDef node */
29634 					def->typeName = (yyvsp[-2].typnam);
29635 					def->collClause = (CollateClause *) (yyvsp[-1].node);
29636 					def->raw_default = NULL;
29637 					def->location = (yylsp[-5]);
29638 					(yyval.node) = (Node *)n;
29639 				}
29640 #line 29641 "gram.c" /* yacc.c:1652  */
29641     break;
29642 
29643   case 395:
29644 #line 3015 "gram.y" /* yacc.c:1652  */
29645     {
29646 					ClosePortalStmt *n = makeNode(ClosePortalStmt);
29647 					n->portalname = (yyvsp[0].str);
29648 					(yyval.node) = (Node *)n;
29649 				}
29650 #line 29651 "gram.c" /* yacc.c:1652  */
29651     break;
29652 
29653   case 396:
29654 #line 3021 "gram.y" /* yacc.c:1652  */
29655     {
29656 					ClosePortalStmt *n = makeNode(ClosePortalStmt);
29657 					n->portalname = NULL;
29658 					(yyval.node) = (Node *)n;
29659 				}
29660 #line 29661 "gram.c" /* yacc.c:1652  */
29661     break;
29662 
29663   case 397:
29664 #line 3056 "gram.y" /* yacc.c:1652  */
29665     {
29666 					CopyStmt *n = makeNode(CopyStmt);
29667 					n->relation = (yyvsp[-8].range);
29668 					n->query = NULL;
29669 					n->attlist = (yyvsp[-7].list);
29670 					n->is_from = (yyvsp[-6].boolean);
29671 					n->is_program = (yyvsp[-5].boolean);
29672 					n->filename = (yyvsp[-4].str);
29673 					n->whereClause = (yyvsp[0].node);
29674 
29675 					if (n->is_program && n->filename == NULL)
29676 						ereport(ERROR,
29677 								(errcode(ERRCODE_SYNTAX_ERROR),
29678 								 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
29679 								 parser_errposition((yylsp[-3]))));
29680 
29681 					if (!n->is_from && n->whereClause != NULL)
29682 						ereport(ERROR,
29683 								(errcode(ERRCODE_SYNTAX_ERROR),
29684 								 errmsg("WHERE clause not allowed with COPY TO"),
29685 								 parser_errposition((yylsp[0]))));
29686 
29687 					n->options = NIL;
29688 					/* Concatenate user-supplied flags */
29689 					if ((yyvsp[-9].defelt))
29690 						n->options = lappend(n->options, (yyvsp[-9].defelt));
29691 					if ((yyvsp[-3].defelt))
29692 						n->options = lappend(n->options, (yyvsp[-3].defelt));
29693 					if ((yyvsp[-1].list))
29694 						n->options = list_concat(n->options, (yyvsp[-1].list));
29695 					(yyval.node) = (Node *)n;
29696 				}
29697 #line 29698 "gram.c" /* yacc.c:1652  */
29698     break;
29699 
29700   case 398:
29701 #line 3089 "gram.y" /* yacc.c:1652  */
29702     {
29703 					CopyStmt *n = makeNode(CopyStmt);
29704 					n->relation = NULL;
29705 					n->query = (yyvsp[-6].node);
29706 					n->attlist = NIL;
29707 					n->is_from = false;
29708 					n->is_program = (yyvsp[-3].boolean);
29709 					n->filename = (yyvsp[-2].str);
29710 					n->options = (yyvsp[0].list);
29711 
29712 					if (n->is_program && n->filename == NULL)
29713 						ereport(ERROR,
29714 								(errcode(ERRCODE_SYNTAX_ERROR),
29715 								 errmsg("STDIN/STDOUT not allowed with PROGRAM"),
29716 								 parser_errposition((yylsp[-4]))));
29717 
29718 					(yyval.node) = (Node *)n;
29719 				}
29720 #line 29721 "gram.c" /* yacc.c:1652  */
29721     break;
29722 
29723   case 399:
29724 #line 3110 "gram.y" /* yacc.c:1652  */
29725     { (yyval.boolean) = true; }
29726 #line 29727 "gram.c" /* yacc.c:1652  */
29727     break;
29728 
29729   case 400:
29730 #line 3111 "gram.y" /* yacc.c:1652  */
29731     { (yyval.boolean) = false; }
29732 #line 29733 "gram.c" /* yacc.c:1652  */
29733     break;
29734 
29735   case 401:
29736 #line 3115 "gram.y" /* yacc.c:1652  */
29737     { (yyval.boolean) = true; }
29738 #line 29739 "gram.c" /* yacc.c:1652  */
29739     break;
29740 
29741   case 402:
29742 #line 3116 "gram.y" /* yacc.c:1652  */
29743     { (yyval.boolean) = false; }
29744 #line 29745 "gram.c" /* yacc.c:1652  */
29745     break;
29746 
29747   case 403:
29748 #line 3125 "gram.y" /* yacc.c:1652  */
29749     { (yyval.str) = (yyvsp[0].str); }
29750 #line 29751 "gram.c" /* yacc.c:1652  */
29751     break;
29752 
29753   case 404:
29754 #line 3126 "gram.y" /* yacc.c:1652  */
29755     { (yyval.str) = NULL; }
29756 #line 29757 "gram.c" /* yacc.c:1652  */
29757     break;
29758 
29759   case 405:
29760 #line 3127 "gram.y" /* yacc.c:1652  */
29761     { (yyval.str) = NULL; }
29762 #line 29763 "gram.c" /* yacc.c:1652  */
29763     break;
29764 
29765   case 406:
29766 #line 3130 "gram.y" /* yacc.c:1652  */
29767     { (yyval.list) = (yyvsp[0].list); }
29768 #line 29769 "gram.c" /* yacc.c:1652  */
29769     break;
29770 
29771   case 407:
29772 #line 3131 "gram.y" /* yacc.c:1652  */
29773     { (yyval.list) = (yyvsp[-1].list); }
29774 #line 29775 "gram.c" /* yacc.c:1652  */
29775     break;
29776 
29777   case 408:
29778 #line 3136 "gram.y" /* yacc.c:1652  */
29779     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
29780 #line 29781 "gram.c" /* yacc.c:1652  */
29781     break;
29782 
29783   case 409:
29784 #line 3137 "gram.y" /* yacc.c:1652  */
29785     { (yyval.list) = NIL; }
29786 #line 29787 "gram.c" /* yacc.c:1652  */
29787     break;
29788 
29789   case 410:
29790 #line 3142 "gram.y" /* yacc.c:1652  */
29791     {
29792 					(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
29793 				}
29794 #line 29795 "gram.c" /* yacc.c:1652  */
29795     break;
29796 
29797   case 411:
29798 #line 3146 "gram.y" /* yacc.c:1652  */
29799     {
29800 					(yyval.defelt) = makeDefElem("freeze", (Node *)makeInteger(true), (yylsp[0]));
29801 				}
29802 #line 29803 "gram.c" /* yacc.c:1652  */
29803     break;
29804 
29805   case 412:
29806 #line 3150 "gram.y" /* yacc.c:1652  */
29807     {
29808 					(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
29809 				}
29810 #line 29811 "gram.c" /* yacc.c:1652  */
29811     break;
29812 
29813   case 413:
29814 #line 3154 "gram.y" /* yacc.c:1652  */
29815     {
29816 					(yyval.defelt) = makeDefElem("null", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
29817 				}
29818 #line 29819 "gram.c" /* yacc.c:1652  */
29819     break;
29820 
29821   case 414:
29822 #line 3158 "gram.y" /* yacc.c:1652  */
29823     {
29824 					(yyval.defelt) = makeDefElem("format", (Node *)makeString("csv"), (yylsp[0]));
29825 				}
29826 #line 29827 "gram.c" /* yacc.c:1652  */
29827     break;
29828 
29829   case 415:
29830 #line 3162 "gram.y" /* yacc.c:1652  */
29831     {
29832 					(yyval.defelt) = makeDefElem("header", (Node *)makeInteger(true), (yylsp[0]));
29833 				}
29834 #line 29835 "gram.c" /* yacc.c:1652  */
29835     break;
29836 
29837   case 416:
29838 #line 3166 "gram.y" /* yacc.c:1652  */
29839     {
29840 					(yyval.defelt) = makeDefElem("quote", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
29841 				}
29842 #line 29843 "gram.c" /* yacc.c:1652  */
29843     break;
29844 
29845   case 417:
29846 #line 3170 "gram.y" /* yacc.c:1652  */
29847     {
29848 					(yyval.defelt) = makeDefElem("escape", (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
29849 				}
29850 #line 29851 "gram.c" /* yacc.c:1652  */
29851     break;
29852 
29853   case 418:
29854 #line 3174 "gram.y" /* yacc.c:1652  */
29855     {
29856 					(yyval.defelt) = makeDefElem("force_quote", (Node *)(yyvsp[0].list), (yylsp[-2]));
29857 				}
29858 #line 29859 "gram.c" /* yacc.c:1652  */
29859     break;
29860 
29861   case 419:
29862 #line 3178 "gram.y" /* yacc.c:1652  */
29863     {
29864 					(yyval.defelt) = makeDefElem("force_quote", (Node *)makeNode(A_Star), (yylsp[-2]));
29865 				}
29866 #line 29867 "gram.c" /* yacc.c:1652  */
29867     break;
29868 
29869   case 420:
29870 #line 3182 "gram.y" /* yacc.c:1652  */
29871     {
29872 					(yyval.defelt) = makeDefElem("force_not_null", (Node *)(yyvsp[0].list), (yylsp[-3]));
29873 				}
29874 #line 29875 "gram.c" /* yacc.c:1652  */
29875     break;
29876 
29877   case 421:
29878 #line 3186 "gram.y" /* yacc.c:1652  */
29879     {
29880 					(yyval.defelt) = makeDefElem("force_null", (Node *)(yyvsp[0].list), (yylsp[-2]));
29881 				}
29882 #line 29883 "gram.c" /* yacc.c:1652  */
29883     break;
29884 
29885   case 422:
29886 #line 3190 "gram.y" /* yacc.c:1652  */
29887     {
29888 					(yyval.defelt) = makeDefElem("encoding", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
29889 				}
29890 #line 29891 "gram.c" /* yacc.c:1652  */
29891     break;
29892 
29893   case 423:
29894 #line 3199 "gram.y" /* yacc.c:1652  */
29895     {
29896 					(yyval.defelt) = makeDefElem("format", (Node *)makeString("binary"), (yylsp[0]));
29897 				}
29898 #line 29899 "gram.c" /* yacc.c:1652  */
29899     break;
29900 
29901   case 424:
29902 #line 3202 "gram.y" /* yacc.c:1652  */
29903     { (yyval.defelt) = NULL; }
29904 #line 29905 "gram.c" /* yacc.c:1652  */
29905     break;
29906 
29907   case 425:
29908 #line 3207 "gram.y" /* yacc.c:1652  */
29909     {
29910 					(yyval.defelt) = makeDefElem("delimiter", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
29911 				}
29912 #line 29913 "gram.c" /* yacc.c:1652  */
29913     break;
29914 
29915   case 426:
29916 #line 3210 "gram.y" /* yacc.c:1652  */
29917     { (yyval.defelt) = NULL; }
29918 #line 29919 "gram.c" /* yacc.c:1652  */
29919     break;
29920 
29921   case 429:
29922 #line 3221 "gram.y" /* yacc.c:1652  */
29923     {
29924 					(yyval.list) = list_make1((yyvsp[0].defelt));
29925 				}
29926 #line 29927 "gram.c" /* yacc.c:1652  */
29927     break;
29928 
29929   case 430:
29930 #line 3225 "gram.y" /* yacc.c:1652  */
29931     {
29932 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
29933 				}
29934 #line 29935 "gram.c" /* yacc.c:1652  */
29935     break;
29936 
29937   case 431:
29938 #line 3232 "gram.y" /* yacc.c:1652  */
29939     {
29940 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
29941 				}
29942 #line 29943 "gram.c" /* yacc.c:1652  */
29943     break;
29944 
29945   case 432:
29946 #line 3238 "gram.y" /* yacc.c:1652  */
29947     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
29948 #line 29949 "gram.c" /* yacc.c:1652  */
29949     break;
29950 
29951   case 433:
29952 #line 3239 "gram.y" /* yacc.c:1652  */
29953     { (yyval.node) = (Node *) (yyvsp[0].value); }
29954 #line 29955 "gram.c" /* yacc.c:1652  */
29955     break;
29956 
29957   case 434:
29958 #line 3240 "gram.y" /* yacc.c:1652  */
29959     { (yyval.node) = (Node *) makeNode(A_Star); }
29960 #line 29961 "gram.c" /* yacc.c:1652  */
29961     break;
29962 
29963   case 435:
29964 #line 3241 "gram.y" /* yacc.c:1652  */
29965     { (yyval.node) = (Node *) (yyvsp[-1].list); }
29966 #line 29967 "gram.c" /* yacc.c:1652  */
29967     break;
29968 
29969   case 436:
29970 #line 3242 "gram.y" /* yacc.c:1652  */
29971     { (yyval.node) = NULL; }
29972 #line 29973 "gram.c" /* yacc.c:1652  */
29973     break;
29974 
29975   case 437:
29976 #line 3247 "gram.y" /* yacc.c:1652  */
29977     {
29978 					(yyval.list) = list_make1((yyvsp[0].node));
29979 				}
29980 #line 29981 "gram.c" /* yacc.c:1652  */
29981     break;
29982 
29983   case 438:
29984 #line 3251 "gram.y" /* yacc.c:1652  */
29985     {
29986 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
29987 				}
29988 #line 29989 "gram.c" /* yacc.c:1652  */
29989     break;
29990 
29991   case 439:
29992 #line 3258 "gram.y" /* yacc.c:1652  */
29993     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
29994 #line 29995 "gram.c" /* yacc.c:1652  */
29995     break;
29996 
29997   case 440:
29998 #line 3272 "gram.y" /* yacc.c:1652  */
29999     {
30000 					CreateStmt *n = makeNode(CreateStmt);
30001 					(yyvsp[-9].range)->relpersistence = (yyvsp[-11].ival);
30002 					n->relation = (yyvsp[-9].range);
30003 					n->tableElts = (yyvsp[-7].list);
30004 					n->inhRelations = (yyvsp[-5].list);
30005 					n->partspec = (yyvsp[-4].partspec);
30006 					n->ofTypename = NULL;
30007 					n->constraints = NIL;
30008 					n->accessMethod = (yyvsp[-3].str);
30009 					n->options = (yyvsp[-2].list);
30010 					n->oncommit = (yyvsp[-1].oncommit);
30011 					n->tablespacename = (yyvsp[0].str);
30012 					n->if_not_exists = false;
30013 					(yyval.node) = (Node *)n;
30014 				}
30015 #line 30016 "gram.c" /* yacc.c:1652  */
30016     break;
30017 
30018   case 441:
30019 #line 3291 "gram.y" /* yacc.c:1652  */
30020     {
30021 					CreateStmt *n = makeNode(CreateStmt);
30022 					(yyvsp[-9].range)->relpersistence = (yyvsp[-14].ival);
30023 					n->relation = (yyvsp[-9].range);
30024 					n->tableElts = (yyvsp[-7].list);
30025 					n->inhRelations = (yyvsp[-5].list);
30026 					n->partspec = (yyvsp[-4].partspec);
30027 					n->ofTypename = NULL;
30028 					n->constraints = NIL;
30029 					n->accessMethod = (yyvsp[-3].str);
30030 					n->options = (yyvsp[-2].list);
30031 					n->oncommit = (yyvsp[-1].oncommit);
30032 					n->tablespacename = (yyvsp[0].str);
30033 					n->if_not_exists = true;
30034 					(yyval.node) = (Node *)n;
30035 				}
30036 #line 30037 "gram.c" /* yacc.c:1652  */
30037     break;
30038 
30039   case 442:
30040 #line 3310 "gram.y" /* yacc.c:1652  */
30041     {
30042 					CreateStmt *n = makeNode(CreateStmt);
30043 					(yyvsp[-8].range)->relpersistence = (yyvsp[-10].ival);
30044 					n->relation = (yyvsp[-8].range);
30045 					n->tableElts = (yyvsp[-5].list);
30046 					n->inhRelations = NIL;
30047 					n->partspec = (yyvsp[-4].partspec);
30048 					n->ofTypename = makeTypeNameFromNameList((yyvsp[-6].list));
30049 					n->ofTypename->location = (yylsp[-6]);
30050 					n->constraints = NIL;
30051 					n->accessMethod = (yyvsp[-3].str);
30052 					n->options = (yyvsp[-2].list);
30053 					n->oncommit = (yyvsp[-1].oncommit);
30054 					n->tablespacename = (yyvsp[0].str);
30055 					n->if_not_exists = false;
30056 					(yyval.node) = (Node *)n;
30057 				}
30058 #line 30059 "gram.c" /* yacc.c:1652  */
30059     break;
30060 
30061   case 443:
30062 #line 3330 "gram.y" /* yacc.c:1652  */
30063     {
30064 					CreateStmt *n = makeNode(CreateStmt);
30065 					(yyvsp[-8].range)->relpersistence = (yyvsp[-13].ival);
30066 					n->relation = (yyvsp[-8].range);
30067 					n->tableElts = (yyvsp[-5].list);
30068 					n->inhRelations = NIL;
30069 					n->partspec = (yyvsp[-4].partspec);
30070 					n->ofTypename = makeTypeNameFromNameList((yyvsp[-6].list));
30071 					n->ofTypename->location = (yylsp[-6]);
30072 					n->constraints = NIL;
30073 					n->accessMethod = (yyvsp[-3].str);
30074 					n->options = (yyvsp[-2].list);
30075 					n->oncommit = (yyvsp[-1].oncommit);
30076 					n->tablespacename = (yyvsp[0].str);
30077 					n->if_not_exists = true;
30078 					(yyval.node) = (Node *)n;
30079 				}
30080 #line 30081 "gram.c" /* yacc.c:1652  */
30081     break;
30082 
30083   case 444:
30084 #line 3350 "gram.y" /* yacc.c:1652  */
30085     {
30086 					CreateStmt *n = makeNode(CreateStmt);
30087 					(yyvsp[-10].range)->relpersistence = (yyvsp[-12].ival);
30088 					n->relation = (yyvsp[-10].range);
30089 					n->tableElts = (yyvsp[-6].list);
30090 					n->inhRelations = list_make1((yyvsp[-7].range));
30091 					n->partbound = (yyvsp[-5].partboundspec);
30092 					n->partspec = (yyvsp[-4].partspec);
30093 					n->ofTypename = NULL;
30094 					n->constraints = NIL;
30095 					n->accessMethod = (yyvsp[-3].str);
30096 					n->options = (yyvsp[-2].list);
30097 					n->oncommit = (yyvsp[-1].oncommit);
30098 					n->tablespacename = (yyvsp[0].str);
30099 					n->if_not_exists = false;
30100 					(yyval.node) = (Node *)n;
30101 				}
30102 #line 30103 "gram.c" /* yacc.c:1652  */
30103     break;
30104 
30105   case 445:
30106 #line 3370 "gram.y" /* yacc.c:1652  */
30107     {
30108 					CreateStmt *n = makeNode(CreateStmt);
30109 					(yyvsp[-10].range)->relpersistence = (yyvsp[-15].ival);
30110 					n->relation = (yyvsp[-10].range);
30111 					n->tableElts = (yyvsp[-6].list);
30112 					n->inhRelations = list_make1((yyvsp[-7].range));
30113 					n->partbound = (yyvsp[-5].partboundspec);
30114 					n->partspec = (yyvsp[-4].partspec);
30115 					n->ofTypename = NULL;
30116 					n->constraints = NIL;
30117 					n->accessMethod = (yyvsp[-3].str);
30118 					n->options = (yyvsp[-2].list);
30119 					n->oncommit = (yyvsp[-1].oncommit);
30120 					n->tablespacename = (yyvsp[0].str);
30121 					n->if_not_exists = true;
30122 					(yyval.node) = (Node *)n;
30123 				}
30124 #line 30125 "gram.c" /* yacc.c:1652  */
30125     break;
30126 
30127   case 446:
30128 #line 3400 "gram.y" /* yacc.c:1652  */
30129     { (yyval.ival) = RELPERSISTENCE_TEMP; }
30130 #line 30131 "gram.c" /* yacc.c:1652  */
30131     break;
30132 
30133   case 447:
30134 #line 3401 "gram.y" /* yacc.c:1652  */
30135     { (yyval.ival) = RELPERSISTENCE_TEMP; }
30136 #line 30137 "gram.c" /* yacc.c:1652  */
30137     break;
30138 
30139   case 448:
30140 #line 3402 "gram.y" /* yacc.c:1652  */
30141     { (yyval.ival) = RELPERSISTENCE_TEMP; }
30142 #line 30143 "gram.c" /* yacc.c:1652  */
30143     break;
30144 
30145   case 449:
30146 #line 3403 "gram.y" /* yacc.c:1652  */
30147     { (yyval.ival) = RELPERSISTENCE_TEMP; }
30148 #line 30149 "gram.c" /* yacc.c:1652  */
30149     break;
30150 
30151   case 450:
30152 #line 3405 "gram.y" /* yacc.c:1652  */
30153     {
30154 					ereport(WARNING,
30155 							(errmsg("GLOBAL is deprecated in temporary table creation"),
30156 							 parser_errposition((yylsp[-1]))));
30157 					(yyval.ival) = RELPERSISTENCE_TEMP;
30158 				}
30159 #line 30160 "gram.c" /* yacc.c:1652  */
30160     break;
30161 
30162   case 451:
30163 #line 3412 "gram.y" /* yacc.c:1652  */
30164     {
30165 					ereport(WARNING,
30166 							(errmsg("GLOBAL is deprecated in temporary table creation"),
30167 							 parser_errposition((yylsp[-1]))));
30168 					(yyval.ival) = RELPERSISTENCE_TEMP;
30169 				}
30170 #line 30171 "gram.c" /* yacc.c:1652  */
30171     break;
30172 
30173   case 452:
30174 #line 3418 "gram.y" /* yacc.c:1652  */
30175     { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
30176 #line 30177 "gram.c" /* yacc.c:1652  */
30177     break;
30178 
30179   case 453:
30180 #line 3419 "gram.y" /* yacc.c:1652  */
30181     { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
30182 #line 30183 "gram.c" /* yacc.c:1652  */
30183     break;
30184 
30185   case 454:
30186 #line 3423 "gram.y" /* yacc.c:1652  */
30187     { (yyval.list) = (yyvsp[0].list); }
30188 #line 30189 "gram.c" /* yacc.c:1652  */
30189     break;
30190 
30191   case 455:
30192 #line 3424 "gram.y" /* yacc.c:1652  */
30193     { (yyval.list) = NIL; }
30194 #line 30195 "gram.c" /* yacc.c:1652  */
30195     break;
30196 
30197   case 456:
30198 #line 3428 "gram.y" /* yacc.c:1652  */
30199     { (yyval.list) = (yyvsp[-1].list); }
30200 #line 30201 "gram.c" /* yacc.c:1652  */
30201     break;
30202 
30203   case 457:
30204 #line 3429 "gram.y" /* yacc.c:1652  */
30205     { (yyval.list) = NIL; }
30206 #line 30207 "gram.c" /* yacc.c:1652  */
30207     break;
30208 
30209   case 458:
30210 #line 3434 "gram.y" /* yacc.c:1652  */
30211     {
30212 					(yyval.list) = list_make1((yyvsp[0].node));
30213 				}
30214 #line 30215 "gram.c" /* yacc.c:1652  */
30215     break;
30216 
30217   case 459:
30218 #line 3438 "gram.y" /* yacc.c:1652  */
30219     {
30220 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
30221 				}
30222 #line 30223 "gram.c" /* yacc.c:1652  */
30223     break;
30224 
30225   case 460:
30226 #line 3445 "gram.y" /* yacc.c:1652  */
30227     {
30228 					(yyval.list) = list_make1((yyvsp[0].node));
30229 				}
30230 #line 30231 "gram.c" /* yacc.c:1652  */
30231     break;
30232 
30233   case 461:
30234 #line 3449 "gram.y" /* yacc.c:1652  */
30235     {
30236 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
30237 				}
30238 #line 30239 "gram.c" /* yacc.c:1652  */
30239     break;
30240 
30241   case 462:
30242 #line 3455 "gram.y" /* yacc.c:1652  */
30243     { (yyval.node) = (yyvsp[0].node); }
30244 #line 30245 "gram.c" /* yacc.c:1652  */
30245     break;
30246 
30247   case 463:
30248 #line 3456 "gram.y" /* yacc.c:1652  */
30249     { (yyval.node) = (yyvsp[0].node); }
30250 #line 30251 "gram.c" /* yacc.c:1652  */
30251     break;
30252 
30253   case 464:
30254 #line 3457 "gram.y" /* yacc.c:1652  */
30255     { (yyval.node) = (yyvsp[0].node); }
30256 #line 30257 "gram.c" /* yacc.c:1652  */
30257     break;
30258 
30259   case 465:
30260 #line 3461 "gram.y" /* yacc.c:1652  */
30261     { (yyval.node) = (yyvsp[0].node); }
30262 #line 30263 "gram.c" /* yacc.c:1652  */
30263     break;
30264 
30265   case 466:
30266 #line 3462 "gram.y" /* yacc.c:1652  */
30267     { (yyval.node) = (yyvsp[0].node); }
30268 #line 30269 "gram.c" /* yacc.c:1652  */
30269     break;
30270 
30271   case 467:
30272 #line 3466 "gram.y" /* yacc.c:1652  */
30273     {
30274 					ColumnDef *n = makeNode(ColumnDef);
30275 					n->colname = (yyvsp[-4].str);
30276 					n->typeName = (yyvsp[-3].typnam);
30277 					n->compression = (yyvsp[-2].str);
30278 					n->inhcount = 0;
30279 					n->is_local = true;
30280 					n->is_not_null = false;
30281 					n->is_from_type = false;
30282 					n->storage = 0;
30283 					n->raw_default = NULL;
30284 					n->cooked_default = NULL;
30285 					n->collOid = InvalidOid;
30286 					n->fdwoptions = (yyvsp[-1].list);
30287 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
30288 									 yyscanner);
30289 					n->location = (yylsp[-4]);
30290 					(yyval.node) = (Node *)n;
30291 				}
30292 #line 30293 "gram.c" /* yacc.c:1652  */
30293     break;
30294 
30295   case 468:
30296 #line 3488 "gram.y" /* yacc.c:1652  */
30297     {
30298 					ColumnDef *n = makeNode(ColumnDef);
30299 					n->colname = (yyvsp[-1].str);
30300 					n->typeName = NULL;
30301 					n->inhcount = 0;
30302 					n->is_local = true;
30303 					n->is_not_null = false;
30304 					n->is_from_type = false;
30305 					n->storage = 0;
30306 					n->raw_default = NULL;
30307 					n->cooked_default = NULL;
30308 					n->collOid = InvalidOid;
30309 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
30310 									 yyscanner);
30311 					n->location = (yylsp[-1]);
30312 					(yyval.node) = (Node *)n;
30313 				}
30314 #line 30315 "gram.c" /* yacc.c:1652  */
30315     break;
30316 
30317   case 469:
30318 #line 3506 "gram.y" /* yacc.c:1652  */
30319     {
30320 					ColumnDef *n = makeNode(ColumnDef);
30321 					n->colname = (yyvsp[-3].str);
30322 					n->typeName = NULL;
30323 					n->inhcount = 0;
30324 					n->is_local = true;
30325 					n->is_not_null = false;
30326 					n->is_from_type = false;
30327 					n->storage = 0;
30328 					n->raw_default = NULL;
30329 					n->cooked_default = NULL;
30330 					n->collOid = InvalidOid;
30331 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
30332 									 yyscanner);
30333 					n->location = (yylsp[-3]);
30334 					(yyval.node) = (Node *)n;
30335 				}
30336 #line 30337 "gram.c" /* yacc.c:1652  */
30337     break;
30338 
30339   case 470:
30340 #line 3526 "gram.y" /* yacc.c:1652  */
30341     { (yyval.str) = (yyvsp[0].str); }
30342 #line 30343 "gram.c" /* yacc.c:1652  */
30343     break;
30344 
30345   case 471:
30346 #line 3527 "gram.y" /* yacc.c:1652  */
30347     { (yyval.str) = pstrdup("default"); }
30348 #line 30349 "gram.c" /* yacc.c:1652  */
30349     break;
30350 
30351   case 472:
30352 #line 3531 "gram.y" /* yacc.c:1652  */
30353     { (yyval.str) = (yyvsp[0].str); }
30354 #line 30355 "gram.c" /* yacc.c:1652  */
30355     break;
30356 
30357   case 473:
30358 #line 3532 "gram.y" /* yacc.c:1652  */
30359     { (yyval.str) = NULL; }
30360 #line 30361 "gram.c" /* yacc.c:1652  */
30361     break;
30362 
30363   case 474:
30364 #line 3536 "gram.y" /* yacc.c:1652  */
30365     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
30366 #line 30367 "gram.c" /* yacc.c:1652  */
30367     break;
30368 
30369   case 475:
30370 #line 3537 "gram.y" /* yacc.c:1652  */
30371     { (yyval.list) = NIL; }
30372 #line 30373 "gram.c" /* yacc.c:1652  */
30373     break;
30374 
30375   case 476:
30376 #line 3542 "gram.y" /* yacc.c:1652  */
30377     {
30378 					Constraint *n = castNode(Constraint, (yyvsp[0].node));
30379 					n->conname = (yyvsp[-1].str);
30380 					n->location = (yylsp[-2]);
30381 					(yyval.node) = (Node *) n;
30382 				}
30383 #line 30384 "gram.c" /* yacc.c:1652  */
30384     break;
30385 
30386   case 477:
30387 #line 3548 "gram.y" /* yacc.c:1652  */
30388     { (yyval.node) = (yyvsp[0].node); }
30389 #line 30390 "gram.c" /* yacc.c:1652  */
30390     break;
30391 
30392   case 478:
30393 #line 3549 "gram.y" /* yacc.c:1652  */
30394     { (yyval.node) = (yyvsp[0].node); }
30395 #line 30396 "gram.c" /* yacc.c:1652  */
30396     break;
30397 
30398   case 479:
30399 #line 3551 "gram.y" /* yacc.c:1652  */
30400     {
30401 					/*
30402 					 * Note: the CollateClause is momentarily included in
30403 					 * the list built by ColQualList, but we split it out
30404 					 * again in SplitColQualList.
30405 					 */
30406 					CollateClause *n = makeNode(CollateClause);
30407 					n->arg = NULL;
30408 					n->collname = (yyvsp[0].list);
30409 					n->location = (yylsp[-1]);
30410 					(yyval.node) = (Node *) n;
30411 				}
30412 #line 30413 "gram.c" /* yacc.c:1652  */
30413     break;
30414 
30415   case 480:
30416 #line 3582 "gram.y" /* yacc.c:1652  */
30417     {
30418 					Constraint *n = makeNode(Constraint);
30419 					n->contype = CONSTR_NOTNULL;
30420 					n->location = (yylsp[-1]);
30421 					(yyval.node) = (Node *)n;
30422 				}
30423 #line 30424 "gram.c" /* yacc.c:1652  */
30424     break;
30425 
30426   case 481:
30427 #line 3589 "gram.y" /* yacc.c:1652  */
30428     {
30429 					Constraint *n = makeNode(Constraint);
30430 					n->contype = CONSTR_NULL;
30431 					n->location = (yylsp[0]);
30432 					(yyval.node) = (Node *)n;
30433 				}
30434 #line 30435 "gram.c" /* yacc.c:1652  */
30435     break;
30436 
30437   case 482:
30438 #line 3596 "gram.y" /* yacc.c:1652  */
30439     {
30440 					Constraint *n = makeNode(Constraint);
30441 					n->contype = CONSTR_UNIQUE;
30442 					n->location = (yylsp[-2]);
30443 					n->keys = NULL;
30444 					n->options = (yyvsp[-1].list);
30445 					n->indexname = NULL;
30446 					n->indexspace = (yyvsp[0].str);
30447 					(yyval.node) = (Node *)n;
30448 				}
30449 #line 30450 "gram.c" /* yacc.c:1652  */
30450     break;
30451 
30452   case 483:
30453 #line 3607 "gram.y" /* yacc.c:1652  */
30454     {
30455 					Constraint *n = makeNode(Constraint);
30456 					n->contype = CONSTR_PRIMARY;
30457 					n->location = (yylsp[-3]);
30458 					n->keys = NULL;
30459 					n->options = (yyvsp[-1].list);
30460 					n->indexname = NULL;
30461 					n->indexspace = (yyvsp[0].str);
30462 					(yyval.node) = (Node *)n;
30463 				}
30464 #line 30465 "gram.c" /* yacc.c:1652  */
30465     break;
30466 
30467   case 484:
30468 #line 3618 "gram.y" /* yacc.c:1652  */
30469     {
30470 					Constraint *n = makeNode(Constraint);
30471 					n->contype = CONSTR_CHECK;
30472 					n->location = (yylsp[-4]);
30473 					n->is_no_inherit = (yyvsp[0].boolean);
30474 					n->raw_expr = (yyvsp[-2].node);
30475 					n->cooked_expr = NULL;
30476 					n->skip_validation = false;
30477 					n->initially_valid = true;
30478 					(yyval.node) = (Node *)n;
30479 				}
30480 #line 30481 "gram.c" /* yacc.c:1652  */
30481     break;
30482 
30483   case 485:
30484 #line 3630 "gram.y" /* yacc.c:1652  */
30485     {
30486 					Constraint *n = makeNode(Constraint);
30487 					n->contype = CONSTR_DEFAULT;
30488 					n->location = (yylsp[-1]);
30489 					n->raw_expr = (yyvsp[0].node);
30490 					n->cooked_expr = NULL;
30491 					(yyval.node) = (Node *)n;
30492 				}
30493 #line 30494 "gram.c" /* yacc.c:1652  */
30494     break;
30495 
30496   case 486:
30497 #line 3639 "gram.y" /* yacc.c:1652  */
30498     {
30499 					Constraint *n = makeNode(Constraint);
30500 					n->contype = CONSTR_IDENTITY;
30501 					n->generated_when = (yyvsp[-3].ival);
30502 					n->options = (yyvsp[0].list);
30503 					n->location = (yylsp[-4]);
30504 					(yyval.node) = (Node *)n;
30505 				}
30506 #line 30507 "gram.c" /* yacc.c:1652  */
30507     break;
30508 
30509   case 487:
30510 #line 3648 "gram.y" /* yacc.c:1652  */
30511     {
30512 					Constraint *n = makeNode(Constraint);
30513 					n->contype = CONSTR_GENERATED;
30514 					n->generated_when = (yyvsp[-5].ival);
30515 					n->raw_expr = (yyvsp[-2].node);
30516 					n->cooked_expr = NULL;
30517 					n->location = (yylsp[-6]);
30518 
30519 					/*
30520 					 * Can't do this in the grammar because of shift/reduce
30521 					 * conflicts.  (IDENTITY allows both ALWAYS and BY
30522 					 * DEFAULT, but generated columns only allow ALWAYS.)  We
30523 					 * can also give a more useful error message and location.
30524 					 */
30525 					if ((yyvsp[-5].ival) != ATTRIBUTE_IDENTITY_ALWAYS)
30526 						ereport(ERROR,
30527 								(errcode(ERRCODE_SYNTAX_ERROR),
30528 								 errmsg("for a generated column, GENERATED ALWAYS must be specified"),
30529 								 parser_errposition((yylsp[-5]))));
30530 
30531 					(yyval.node) = (Node *)n;
30532 				}
30533 #line 30534 "gram.c" /* yacc.c:1652  */
30534     break;
30535 
30536   case 488:
30537 #line 3671 "gram.y" /* yacc.c:1652  */
30538     {
30539 					Constraint *n = makeNode(Constraint);
30540 					n->contype = CONSTR_FOREIGN;
30541 					n->location = (yylsp[-4]);
30542 					n->pktable			= (yyvsp[-3].range);
30543 					n->fk_attrs			= NIL;
30544 					n->pk_attrs			= (yyvsp[-2].list);
30545 					n->fk_matchtype		= (yyvsp[-1].ival);
30546 					n->fk_upd_action	= (char) ((yyvsp[0].ival) >> 8);
30547 					n->fk_del_action	= (char) ((yyvsp[0].ival) & 0xFF);
30548 					n->skip_validation  = false;
30549 					n->initially_valid  = true;
30550 					(yyval.node) = (Node *)n;
30551 				}
30552 #line 30553 "gram.c" /* yacc.c:1652  */
30553     break;
30554 
30555   case 489:
30556 #line 3688 "gram.y" /* yacc.c:1652  */
30557     { (yyval.ival) = ATTRIBUTE_IDENTITY_ALWAYS; }
30558 #line 30559 "gram.c" /* yacc.c:1652  */
30559     break;
30560 
30561   case 490:
30562 #line 3689 "gram.y" /* yacc.c:1652  */
30563     { (yyval.ival) = ATTRIBUTE_IDENTITY_BY_DEFAULT; }
30564 #line 30565 "gram.c" /* yacc.c:1652  */
30565     break;
30566 
30567   case 491:
30568 #line 3709 "gram.y" /* yacc.c:1652  */
30569     {
30570 					Constraint *n = makeNode(Constraint);
30571 					n->contype = CONSTR_ATTR_DEFERRABLE;
30572 					n->location = (yylsp[0]);
30573 					(yyval.node) = (Node *)n;
30574 				}
30575 #line 30576 "gram.c" /* yacc.c:1652  */
30576     break;
30577 
30578   case 492:
30579 #line 3716 "gram.y" /* yacc.c:1652  */
30580     {
30581 					Constraint *n = makeNode(Constraint);
30582 					n->contype = CONSTR_ATTR_NOT_DEFERRABLE;
30583 					n->location = (yylsp[-1]);
30584 					(yyval.node) = (Node *)n;
30585 				}
30586 #line 30587 "gram.c" /* yacc.c:1652  */
30587     break;
30588 
30589   case 493:
30590 #line 3723 "gram.y" /* yacc.c:1652  */
30591     {
30592 					Constraint *n = makeNode(Constraint);
30593 					n->contype = CONSTR_ATTR_DEFERRED;
30594 					n->location = (yylsp[-1]);
30595 					(yyval.node) = (Node *)n;
30596 				}
30597 #line 30598 "gram.c" /* yacc.c:1652  */
30598     break;
30599 
30600   case 494:
30601 #line 3730 "gram.y" /* yacc.c:1652  */
30602     {
30603 					Constraint *n = makeNode(Constraint);
30604 					n->contype = CONSTR_ATTR_IMMEDIATE;
30605 					n->location = (yylsp[-1]);
30606 					(yyval.node) = (Node *)n;
30607 				}
30608 #line 30609 "gram.c" /* yacc.c:1652  */
30609     break;
30610 
30611   case 495:
30612 #line 3741 "gram.y" /* yacc.c:1652  */
30613     {
30614 					TableLikeClause *n = makeNode(TableLikeClause);
30615 					n->relation = (yyvsp[-1].range);
30616 					n->options = (yyvsp[0].ival);
30617 					n->relationOid = InvalidOid;
30618 					(yyval.node) = (Node *)n;
30619 				}
30620 #line 30621 "gram.c" /* yacc.c:1652  */
30621     break;
30622 
30623   case 496:
30624 #line 3751 "gram.y" /* yacc.c:1652  */
30625     { (yyval.ival) = (yyvsp[-2].ival) | (yyvsp[0].ival); }
30626 #line 30627 "gram.c" /* yacc.c:1652  */
30627     break;
30628 
30629   case 497:
30630 #line 3752 "gram.y" /* yacc.c:1652  */
30631     { (yyval.ival) = (yyvsp[-2].ival) & ~(yyvsp[0].ival); }
30632 #line 30633 "gram.c" /* yacc.c:1652  */
30633     break;
30634 
30635   case 498:
30636 #line 3753 "gram.y" /* yacc.c:1652  */
30637     { (yyval.ival) = 0; }
30638 #line 30639 "gram.c" /* yacc.c:1652  */
30639     break;
30640 
30641   case 499:
30642 #line 3757 "gram.y" /* yacc.c:1652  */
30643     { (yyval.ival) = CREATE_TABLE_LIKE_COMMENTS; }
30644 #line 30645 "gram.c" /* yacc.c:1652  */
30645     break;
30646 
30647   case 500:
30648 #line 3758 "gram.y" /* yacc.c:1652  */
30649     { (yyval.ival) = CREATE_TABLE_LIKE_COMPRESSION; }
30650 #line 30651 "gram.c" /* yacc.c:1652  */
30651     break;
30652 
30653   case 501:
30654 #line 3759 "gram.y" /* yacc.c:1652  */
30655     { (yyval.ival) = CREATE_TABLE_LIKE_CONSTRAINTS; }
30656 #line 30657 "gram.c" /* yacc.c:1652  */
30657     break;
30658 
30659   case 502:
30660 #line 3760 "gram.y" /* yacc.c:1652  */
30661     { (yyval.ival) = CREATE_TABLE_LIKE_DEFAULTS; }
30662 #line 30663 "gram.c" /* yacc.c:1652  */
30663     break;
30664 
30665   case 503:
30666 #line 3761 "gram.y" /* yacc.c:1652  */
30667     { (yyval.ival) = CREATE_TABLE_LIKE_IDENTITY; }
30668 #line 30669 "gram.c" /* yacc.c:1652  */
30669     break;
30670 
30671   case 504:
30672 #line 3762 "gram.y" /* yacc.c:1652  */
30673     { (yyval.ival) = CREATE_TABLE_LIKE_GENERATED; }
30674 #line 30675 "gram.c" /* yacc.c:1652  */
30675     break;
30676 
30677   case 505:
30678 #line 3763 "gram.y" /* yacc.c:1652  */
30679     { (yyval.ival) = CREATE_TABLE_LIKE_INDEXES; }
30680 #line 30681 "gram.c" /* yacc.c:1652  */
30681     break;
30682 
30683   case 506:
30684 #line 3764 "gram.y" /* yacc.c:1652  */
30685     { (yyval.ival) = CREATE_TABLE_LIKE_STATISTICS; }
30686 #line 30687 "gram.c" /* yacc.c:1652  */
30687     break;
30688 
30689   case 507:
30690 #line 3765 "gram.y" /* yacc.c:1652  */
30691     { (yyval.ival) = CREATE_TABLE_LIKE_STORAGE; }
30692 #line 30693 "gram.c" /* yacc.c:1652  */
30693     break;
30694 
30695   case 508:
30696 #line 3766 "gram.y" /* yacc.c:1652  */
30697     { (yyval.ival) = CREATE_TABLE_LIKE_ALL; }
30698 #line 30699 "gram.c" /* yacc.c:1652  */
30699     break;
30700 
30701   case 509:
30702 #line 3776 "gram.y" /* yacc.c:1652  */
30703     {
30704 					Constraint *n = castNode(Constraint, (yyvsp[0].node));
30705 					n->conname = (yyvsp[-1].str);
30706 					n->location = (yylsp[-2]);
30707 					(yyval.node) = (Node *) n;
30708 				}
30709 #line 30710 "gram.c" /* yacc.c:1652  */
30710     break;
30711 
30712   case 510:
30713 #line 3782 "gram.y" /* yacc.c:1652  */
30714     { (yyval.node) = (yyvsp[0].node); }
30715 #line 30716 "gram.c" /* yacc.c:1652  */
30716     break;
30717 
30718   case 511:
30719 #line 3787 "gram.y" /* yacc.c:1652  */
30720     {
30721 					Constraint *n = makeNode(Constraint);
30722 					n->contype = CONSTR_CHECK;
30723 					n->location = (yylsp[-4]);
30724 					n->raw_expr = (yyvsp[-2].node);
30725 					n->cooked_expr = NULL;
30726 					processCASbits((yyvsp[0].ival), (yylsp[0]), "CHECK",
30727 								   NULL, NULL, &n->skip_validation,
30728 								   &n->is_no_inherit, yyscanner);
30729 					n->initially_valid = !n->skip_validation;
30730 					(yyval.node) = (Node *)n;
30731 				}
30732 #line 30733 "gram.c" /* yacc.c:1652  */
30733     break;
30734 
30735   case 512:
30736 #line 3801 "gram.y" /* yacc.c:1652  */
30737     {
30738 					Constraint *n = makeNode(Constraint);
30739 					n->contype = CONSTR_UNIQUE;
30740 					n->location = (yylsp[-7]);
30741 					n->keys = (yyvsp[-5].list);
30742 					n->including = (yyvsp[-3].list);
30743 					n->options = (yyvsp[-2].list);
30744 					n->indexname = NULL;
30745 					n->indexspace = (yyvsp[-1].str);
30746 					processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
30747 								   &n->deferrable, &n->initdeferred, NULL,
30748 								   NULL, yyscanner);
30749 					(yyval.node) = (Node *)n;
30750 				}
30751 #line 30752 "gram.c" /* yacc.c:1652  */
30752     break;
30753 
30754   case 513:
30755 #line 3816 "gram.y" /* yacc.c:1652  */
30756     {
30757 					Constraint *n = makeNode(Constraint);
30758 					n->contype = CONSTR_UNIQUE;
30759 					n->location = (yylsp[-2]);
30760 					n->keys = NIL;
30761 					n->including = NIL;
30762 					n->options = NIL;
30763 					n->indexname = (yyvsp[-1].str);
30764 					n->indexspace = NULL;
30765 					processCASbits((yyvsp[0].ival), (yylsp[0]), "UNIQUE",
30766 								   &n->deferrable, &n->initdeferred, NULL,
30767 								   NULL, yyscanner);
30768 					(yyval.node) = (Node *)n;
30769 				}
30770 #line 30771 "gram.c" /* yacc.c:1652  */
30771     break;
30772 
30773   case 514:
30774 #line 3832 "gram.y" /* yacc.c:1652  */
30775     {
30776 					Constraint *n = makeNode(Constraint);
30777 					n->contype = CONSTR_PRIMARY;
30778 					n->location = (yylsp[-8]);
30779 					n->keys = (yyvsp[-5].list);
30780 					n->including = (yyvsp[-3].list);
30781 					n->options = (yyvsp[-2].list);
30782 					n->indexname = NULL;
30783 					n->indexspace = (yyvsp[-1].str);
30784 					processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
30785 								   &n->deferrable, &n->initdeferred, NULL,
30786 								   NULL, yyscanner);
30787 					(yyval.node) = (Node *)n;
30788 				}
30789 #line 30790 "gram.c" /* yacc.c:1652  */
30790     break;
30791 
30792   case 515:
30793 #line 3847 "gram.y" /* yacc.c:1652  */
30794     {
30795 					Constraint *n = makeNode(Constraint);
30796 					n->contype = CONSTR_PRIMARY;
30797 					n->location = (yylsp[-3]);
30798 					n->keys = NIL;
30799 					n->including = NIL;
30800 					n->options = NIL;
30801 					n->indexname = (yyvsp[-1].str);
30802 					n->indexspace = NULL;
30803 					processCASbits((yyvsp[0].ival), (yylsp[0]), "PRIMARY KEY",
30804 								   &n->deferrable, &n->initdeferred, NULL,
30805 								   NULL, yyscanner);
30806 					(yyval.node) = (Node *)n;
30807 				}
30808 #line 30809 "gram.c" /* yacc.c:1652  */
30809     break;
30810 
30811   case 516:
30812 #line 3864 "gram.y" /* yacc.c:1652  */
30813     {
30814 					Constraint *n = makeNode(Constraint);
30815 					n->contype = CONSTR_EXCLUSION;
30816 					n->location = (yylsp[-9]);
30817 					n->access_method	= (yyvsp[-8].str);
30818 					n->exclusions		= (yyvsp[-6].list);
30819 					n->including		= (yyvsp[-4].list);
30820 					n->options			= (yyvsp[-3].list);
30821 					n->indexname		= NULL;
30822 					n->indexspace		= (yyvsp[-2].str);
30823 					n->where_clause		= (yyvsp[-1].node);
30824 					processCASbits((yyvsp[0].ival), (yylsp[0]), "EXCLUDE",
30825 								   &n->deferrable, &n->initdeferred, NULL,
30826 								   NULL, yyscanner);
30827 					(yyval.node) = (Node *)n;
30828 				}
30829 #line 30830 "gram.c" /* yacc.c:1652  */
30830     break;
30831 
30832   case 517:
30833 #line 3882 "gram.y" /* yacc.c:1652  */
30834     {
30835 					Constraint *n = makeNode(Constraint);
30836 					n->contype = CONSTR_FOREIGN;
30837 					n->location = (yylsp[-10]);
30838 					n->pktable			= (yyvsp[-4].range);
30839 					n->fk_attrs			= (yyvsp[-7].list);
30840 					n->pk_attrs			= (yyvsp[-3].list);
30841 					n->fk_matchtype		= (yyvsp[-2].ival);
30842 					n->fk_upd_action	= (char) ((yyvsp[-1].ival) >> 8);
30843 					n->fk_del_action	= (char) ((yyvsp[-1].ival) & 0xFF);
30844 					processCASbits((yyvsp[0].ival), (yylsp[0]), "FOREIGN KEY",
30845 								   &n->deferrable, &n->initdeferred,
30846 								   &n->skip_validation, NULL,
30847 								   yyscanner);
30848 					n->initially_valid = !n->skip_validation;
30849 					(yyval.node) = (Node *)n;
30850 				}
30851 #line 30852 "gram.c" /* yacc.c:1652  */
30852     break;
30853 
30854   case 518:
30855 #line 3901 "gram.y" /* yacc.c:1652  */
30856     {  (yyval.boolean) = true; }
30857 #line 30858 "gram.c" /* yacc.c:1652  */
30858     break;
30859 
30860   case 519:
30861 #line 3902 "gram.y" /* yacc.c:1652  */
30862     {  (yyval.boolean) = false; }
30863 #line 30864 "gram.c" /* yacc.c:1652  */
30864     break;
30865 
30866   case 520:
30867 #line 3906 "gram.y" /* yacc.c:1652  */
30868     { (yyval.list) = (yyvsp[-1].list); }
30869 #line 30870 "gram.c" /* yacc.c:1652  */
30870     break;
30871 
30872   case 521:
30873 #line 3907 "gram.y" /* yacc.c:1652  */
30874     { (yyval.list) = NIL; }
30875 #line 30876 "gram.c" /* yacc.c:1652  */
30876     break;
30877 
30878   case 522:
30879 #line 3911 "gram.y" /* yacc.c:1652  */
30880     { (yyval.list) = list_make1((yyvsp[0].node)); }
30881 #line 30882 "gram.c" /* yacc.c:1652  */
30882     break;
30883 
30884   case 523:
30885 #line 3912 "gram.y" /* yacc.c:1652  */
30886     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
30887 #line 30888 "gram.c" /* yacc.c:1652  */
30888     break;
30889 
30890   case 524:
30891 #line 3916 "gram.y" /* yacc.c:1652  */
30892     {
30893 					(yyval.node) = (Node *) makeString((yyvsp[0].str));
30894 				}
30895 #line 30896 "gram.c" /* yacc.c:1652  */
30896     break;
30897 
30898   case 525:
30899 #line 3921 "gram.y" /* yacc.c:1652  */
30900     { (yyval.list) = (yyvsp[-1].list); }
30901 #line 30902 "gram.c" /* yacc.c:1652  */
30902     break;
30903 
30904   case 526:
30905 #line 3922 "gram.y" /* yacc.c:1652  */
30906     { (yyval.list) = NIL; }
30907 #line 30908 "gram.c" /* yacc.c:1652  */
30908     break;
30909 
30910   case 527:
30911 #line 3926 "gram.y" /* yacc.c:1652  */
30912     {
30913 				(yyval.ival) = FKCONSTR_MATCH_FULL;
30914 			}
30915 #line 30916 "gram.c" /* yacc.c:1652  */
30916     break;
30917 
30918   case 528:
30919 #line 3930 "gram.y" /* yacc.c:1652  */
30920     {
30921 				ereport(ERROR,
30922 						(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
30923 						 errmsg("MATCH PARTIAL not yet implemented"),
30924 						 parser_errposition((yylsp[-1]))));
30925 				(yyval.ival) = FKCONSTR_MATCH_PARTIAL;
30926 			}
30927 #line 30928 "gram.c" /* yacc.c:1652  */
30928     break;
30929 
30930   case 529:
30931 #line 3938 "gram.y" /* yacc.c:1652  */
30932     {
30933 				(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
30934 			}
30935 #line 30936 "gram.c" /* yacc.c:1652  */
30936     break;
30937 
30938   case 530:
30939 #line 3942 "gram.y" /* yacc.c:1652  */
30940     {
30941 				(yyval.ival) = FKCONSTR_MATCH_SIMPLE;
30942 			}
30943 #line 30944 "gram.c" /* yacc.c:1652  */
30944     break;
30945 
30946   case 531:
30947 #line 3948 "gram.y" /* yacc.c:1652  */
30948     { (yyval.list) = list_make1((yyvsp[0].list)); }
30949 #line 30950 "gram.c" /* yacc.c:1652  */
30950     break;
30951 
30952   case 532:
30953 #line 3950 "gram.y" /* yacc.c:1652  */
30954     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
30955 #line 30956 "gram.c" /* yacc.c:1652  */
30956     break;
30957 
30958   case 533:
30959 #line 3954 "gram.y" /* yacc.c:1652  */
30960     {
30961 				(yyval.list) = list_make2((yyvsp[-2].ielem), (yyvsp[0].list));
30962 			}
30963 #line 30964 "gram.c" /* yacc.c:1652  */
30964     break;
30965 
30966   case 534:
30967 #line 3959 "gram.y" /* yacc.c:1652  */
30968     {
30969 				(yyval.list) = list_make2((yyvsp[-5].ielem), (yyvsp[-1].list));
30970 			}
30971 #line 30972 "gram.c" /* yacc.c:1652  */
30972     break;
30973 
30974   case 535:
30975 #line 3965 "gram.y" /* yacc.c:1652  */
30976     { (yyval.node) = (yyvsp[-1].node); }
30977 #line 30978 "gram.c" /* yacc.c:1652  */
30978     break;
30979 
30980   case 536:
30981 #line 3966 "gram.y" /* yacc.c:1652  */
30982     { (yyval.node) = NULL; }
30983 #line 30984 "gram.c" /* yacc.c:1652  */
30984     break;
30985 
30986   case 537:
30987 #line 3977 "gram.y" /* yacc.c:1652  */
30988     { (yyval.ival) = ((yyvsp[0].ival) << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
30989 #line 30990 "gram.c" /* yacc.c:1652  */
30990     break;
30991 
30992   case 538:
30993 #line 3979 "gram.y" /* yacc.c:1652  */
30994     { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | ((yyvsp[0].ival) & 0xFF); }
30995 #line 30996 "gram.c" /* yacc.c:1652  */
30996     break;
30997 
30998   case 539:
30999 #line 3981 "gram.y" /* yacc.c:1652  */
31000     { (yyval.ival) = ((yyvsp[-1].ival) << 8) | ((yyvsp[0].ival) & 0xFF); }
31001 #line 31002 "gram.c" /* yacc.c:1652  */
31002     break;
31003 
31004   case 540:
31005 #line 3983 "gram.y" /* yacc.c:1652  */
31006     { (yyval.ival) = ((yyvsp[0].ival) << 8) | ((yyvsp[-1].ival) & 0xFF); }
31007 #line 31008 "gram.c" /* yacc.c:1652  */
31008     break;
31009 
31010   case 541:
31011 #line 3985 "gram.y" /* yacc.c:1652  */
31012     { (yyval.ival) = (FKCONSTR_ACTION_NOACTION << 8) | (FKCONSTR_ACTION_NOACTION & 0xFF); }
31013 #line 31014 "gram.c" /* yacc.c:1652  */
31014     break;
31015 
31016   case 542:
31017 #line 3988 "gram.y" /* yacc.c:1652  */
31018     { (yyval.ival) = (yyvsp[0].ival); }
31019 #line 31020 "gram.c" /* yacc.c:1652  */
31020     break;
31021 
31022   case 543:
31023 #line 3991 "gram.y" /* yacc.c:1652  */
31024     { (yyval.ival) = (yyvsp[0].ival); }
31025 #line 31026 "gram.c" /* yacc.c:1652  */
31026     break;
31027 
31028   case 544:
31029 #line 3995 "gram.y" /* yacc.c:1652  */
31030     { (yyval.ival) = FKCONSTR_ACTION_NOACTION; }
31031 #line 31032 "gram.c" /* yacc.c:1652  */
31032     break;
31033 
31034   case 545:
31035 #line 3996 "gram.y" /* yacc.c:1652  */
31036     { (yyval.ival) = FKCONSTR_ACTION_RESTRICT; }
31037 #line 31038 "gram.c" /* yacc.c:1652  */
31038     break;
31039 
31040   case 546:
31041 #line 3997 "gram.y" /* yacc.c:1652  */
31042     { (yyval.ival) = FKCONSTR_ACTION_CASCADE; }
31043 #line 31044 "gram.c" /* yacc.c:1652  */
31044     break;
31045 
31046   case 547:
31047 #line 3998 "gram.y" /* yacc.c:1652  */
31048     { (yyval.ival) = FKCONSTR_ACTION_SETNULL; }
31049 #line 31050 "gram.c" /* yacc.c:1652  */
31050     break;
31051 
31052   case 548:
31053 #line 3999 "gram.y" /* yacc.c:1652  */
31054     { (yyval.ival) = FKCONSTR_ACTION_SETDEFAULT; }
31055 #line 31056 "gram.c" /* yacc.c:1652  */
31056     break;
31057 
31058   case 549:
31059 #line 4002 "gram.y" /* yacc.c:1652  */
31060     { (yyval.list) = (yyvsp[-1].list); }
31061 #line 31062 "gram.c" /* yacc.c:1652  */
31062     break;
31063 
31064   case 550:
31065 #line 4003 "gram.y" /* yacc.c:1652  */
31066     { (yyval.list) = NIL; }
31067 #line 31068 "gram.c" /* yacc.c:1652  */
31068     break;
31069 
31070   case 551:
31071 #line 4007 "gram.y" /* yacc.c:1652  */
31072     { (yyval.partspec) = (yyvsp[0].partspec); }
31073 #line 31074 "gram.c" /* yacc.c:1652  */
31074     break;
31075 
31076   case 552:
31077 #line 4008 "gram.y" /* yacc.c:1652  */
31078     { (yyval.partspec) = NULL; }
31079 #line 31080 "gram.c" /* yacc.c:1652  */
31080     break;
31081 
31082   case 553:
31083 #line 4012 "gram.y" /* yacc.c:1652  */
31084     {
31085 					PartitionSpec *n = makeNode(PartitionSpec);
31086 
31087 					n->strategy = (yyvsp[-3].str);
31088 					n->partParams = (yyvsp[-1].list);
31089 					n->location = (yylsp[-5]);
31090 
31091 					(yyval.partspec) = n;
31092 				}
31093 #line 31094 "gram.c" /* yacc.c:1652  */
31094     break;
31095 
31096   case 554:
31097 #line 4023 "gram.y" /* yacc.c:1652  */
31098     { (yyval.list) = list_make1((yyvsp[0].partelem)); }
31099 #line 31100 "gram.c" /* yacc.c:1652  */
31100     break;
31101 
31102   case 555:
31103 #line 4024 "gram.y" /* yacc.c:1652  */
31104     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].partelem)); }
31105 #line 31106 "gram.c" /* yacc.c:1652  */
31106     break;
31107 
31108   case 556:
31109 #line 4028 "gram.y" /* yacc.c:1652  */
31110     {
31111 					PartitionElem *n = makeNode(PartitionElem);
31112 
31113 					n->name = (yyvsp[-2].str);
31114 					n->expr = NULL;
31115 					n->collation = (yyvsp[-1].list);
31116 					n->opclass = (yyvsp[0].list);
31117 					n->location = (yylsp[-2]);
31118 					(yyval.partelem) = n;
31119 				}
31120 #line 31121 "gram.c" /* yacc.c:1652  */
31121     break;
31122 
31123   case 557:
31124 #line 4039 "gram.y" /* yacc.c:1652  */
31125     {
31126 					PartitionElem *n = makeNode(PartitionElem);
31127 
31128 					n->name = NULL;
31129 					n->expr = (yyvsp[-2].node);
31130 					n->collation = (yyvsp[-1].list);
31131 					n->opclass = (yyvsp[0].list);
31132 					n->location = (yylsp[-2]);
31133 					(yyval.partelem) = n;
31134 				}
31135 #line 31136 "gram.c" /* yacc.c:1652  */
31136     break;
31137 
31138   case 558:
31139 #line 4050 "gram.y" /* yacc.c:1652  */
31140     {
31141 					PartitionElem *n = makeNode(PartitionElem);
31142 
31143 					n->name = NULL;
31144 					n->expr = (yyvsp[-3].node);
31145 					n->collation = (yyvsp[-1].list);
31146 					n->opclass = (yyvsp[0].list);
31147 					n->location = (yylsp[-4]);
31148 					(yyval.partelem) = n;
31149 				}
31150 #line 31151 "gram.c" /* yacc.c:1652  */
31151     break;
31152 
31153   case 559:
31154 #line 4063 "gram.y" /* yacc.c:1652  */
31155     { (yyval.str) = (yyvsp[0].str); }
31156 #line 31157 "gram.c" /* yacc.c:1652  */
31157     break;
31158 
31159   case 560:
31160 #line 4064 "gram.y" /* yacc.c:1652  */
31161     { (yyval.str) = NULL; }
31162 #line 31163 "gram.c" /* yacc.c:1652  */
31163     break;
31164 
31165   case 561:
31166 #line 4069 "gram.y" /* yacc.c:1652  */
31167     { (yyval.list) = (yyvsp[0].list); }
31168 #line 31169 "gram.c" /* yacc.c:1652  */
31169     break;
31170 
31171   case 562:
31172 #line 4070 "gram.y" /* yacc.c:1652  */
31173     { (yyval.list) = NIL; }
31174 #line 31175 "gram.c" /* yacc.c:1652  */
31175     break;
31176 
31177   case 563:
31178 #line 4071 "gram.y" /* yacc.c:1652  */
31179     { (yyval.list) = NIL; }
31180 #line 31181 "gram.c" /* yacc.c:1652  */
31181     break;
31182 
31183   case 564:
31184 #line 4074 "gram.y" /* yacc.c:1652  */
31185     { (yyval.oncommit) = ONCOMMIT_DROP; }
31186 #line 31187 "gram.c" /* yacc.c:1652  */
31187     break;
31188 
31189   case 565:
31190 #line 4075 "gram.y" /* yacc.c:1652  */
31191     { (yyval.oncommit) = ONCOMMIT_DELETE_ROWS; }
31192 #line 31193 "gram.c" /* yacc.c:1652  */
31193     break;
31194 
31195   case 566:
31196 #line 4076 "gram.y" /* yacc.c:1652  */
31197     { (yyval.oncommit) = ONCOMMIT_PRESERVE_ROWS; }
31198 #line 31199 "gram.c" /* yacc.c:1652  */
31199     break;
31200 
31201   case 567:
31202 #line 4077 "gram.y" /* yacc.c:1652  */
31203     { (yyval.oncommit) = ONCOMMIT_NOOP; }
31204 #line 31205 "gram.c" /* yacc.c:1652  */
31205     break;
31206 
31207   case 568:
31208 #line 4080 "gram.y" /* yacc.c:1652  */
31209     { (yyval.str) = (yyvsp[0].str); }
31210 #line 31211 "gram.c" /* yacc.c:1652  */
31211     break;
31212 
31213   case 569:
31214 #line 4081 "gram.y" /* yacc.c:1652  */
31215     { (yyval.str) = NULL; }
31216 #line 31217 "gram.c" /* yacc.c:1652  */
31217     break;
31218 
31219   case 570:
31220 #line 4084 "gram.y" /* yacc.c:1652  */
31221     { (yyval.str) = (yyvsp[0].str); }
31222 #line 31223 "gram.c" /* yacc.c:1652  */
31223     break;
31224 
31225   case 571:
31226 #line 4085 "gram.y" /* yacc.c:1652  */
31227     { (yyval.str) = NULL; }
31228 #line 31229 "gram.c" /* yacc.c:1652  */
31229     break;
31230 
31231   case 572:
31232 #line 4088 "gram.y" /* yacc.c:1652  */
31233     { (yyval.str) = (yyvsp[0].str); }
31234 #line 31235 "gram.c" /* yacc.c:1652  */
31235     break;
31236 
31237   case 573:
31238 #line 4108 "gram.y" /* yacc.c:1652  */
31239     {
31240 					CreateStatsStmt *n = makeNode(CreateStatsStmt);
31241 					n->defnames = (yyvsp[-5].list);
31242 					n->stat_types = (yyvsp[-4].list);
31243 					n->exprs = (yyvsp[-2].list);
31244 					n->relations = (yyvsp[0].list);
31245 					n->stxcomment = NULL;
31246 					n->if_not_exists = false;
31247 					(yyval.node) = (Node *)n;
31248 				}
31249 #line 31250 "gram.c" /* yacc.c:1652  */
31250     break;
31251 
31252   case 574:
31253 #line 4120 "gram.y" /* yacc.c:1652  */
31254     {
31255 					CreateStatsStmt *n = makeNode(CreateStatsStmt);
31256 					n->defnames = (yyvsp[-5].list);
31257 					n->stat_types = (yyvsp[-4].list);
31258 					n->exprs = (yyvsp[-2].list);
31259 					n->relations = (yyvsp[0].list);
31260 					n->stxcomment = NULL;
31261 					n->if_not_exists = true;
31262 					(yyval.node) = (Node *)n;
31263 				}
31264 #line 31265 "gram.c" /* yacc.c:1652  */
31265     break;
31266 
31267   case 575:
31268 #line 4139 "gram.y" /* yacc.c:1652  */
31269     { (yyval.list) = list_make1((yyvsp[0].selem)); }
31270 #line 31271 "gram.c" /* yacc.c:1652  */
31271     break;
31272 
31273   case 576:
31274 #line 4140 "gram.y" /* yacc.c:1652  */
31275     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].selem)); }
31276 #line 31277 "gram.c" /* yacc.c:1652  */
31277     break;
31278 
31279   case 577:
31280 #line 4144 "gram.y" /* yacc.c:1652  */
31281     {
31282 					(yyval.selem) = makeNode(StatsElem);
31283 					(yyval.selem)->name = (yyvsp[0].str);
31284 					(yyval.selem)->expr = NULL;
31285 				}
31286 #line 31287 "gram.c" /* yacc.c:1652  */
31287     break;
31288 
31289   case 578:
31290 #line 4150 "gram.y" /* yacc.c:1652  */
31291     {
31292 					(yyval.selem) = makeNode(StatsElem);
31293 					(yyval.selem)->name = NULL;
31294 					(yyval.selem)->expr = (yyvsp[0].node);
31295 				}
31296 #line 31297 "gram.c" /* yacc.c:1652  */
31297     break;
31298 
31299   case 579:
31300 #line 4156 "gram.y" /* yacc.c:1652  */
31301     {
31302 					(yyval.selem) = makeNode(StatsElem);
31303 					(yyval.selem)->name = NULL;
31304 					(yyval.selem)->expr = (yyvsp[-1].node);
31305 				}
31306 #line 31307 "gram.c" /* yacc.c:1652  */
31307     break;
31308 
31309   case 580:
31310 #line 4173 "gram.y" /* yacc.c:1652  */
31311     {
31312 					AlterStatsStmt *n = makeNode(AlterStatsStmt);
31313 					n->defnames = (yyvsp[-3].list);
31314 					n->missing_ok = false;
31315 					n->stxstattarget = (yyvsp[0].ival);
31316 					(yyval.node) = (Node *)n;
31317 				}
31318 #line 31319 "gram.c" /* yacc.c:1652  */
31319     break;
31320 
31321   case 581:
31322 #line 4181 "gram.y" /* yacc.c:1652  */
31323     {
31324 					AlterStatsStmt *n = makeNode(AlterStatsStmt);
31325 					n->defnames = (yyvsp[-3].list);
31326 					n->missing_ok = true;
31327 					n->stxstattarget = (yyvsp[0].ival);
31328 					(yyval.node) = (Node *)n;
31329 				}
31330 #line 31331 "gram.c" /* yacc.c:1652  */
31331     break;
31332 
31333   case 582:
31334 #line 4202 "gram.y" /* yacc.c:1652  */
31335     {
31336 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
31337 					ctas->query = (yyvsp[-1].node);
31338 					ctas->into = (yyvsp[-3].into);
31339 					ctas->objtype = OBJECT_TABLE;
31340 					ctas->is_select_into = false;
31341 					ctas->if_not_exists = false;
31342 					/* cram additional flags into the IntoClause */
31343 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-5].ival);
31344 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
31345 					(yyval.node) = (Node *) ctas;
31346 				}
31347 #line 31348 "gram.c" /* yacc.c:1652  */
31348     break;
31349 
31350   case 583:
31351 #line 4215 "gram.y" /* yacc.c:1652  */
31352     {
31353 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
31354 					ctas->query = (yyvsp[-1].node);
31355 					ctas->into = (yyvsp[-3].into);
31356 					ctas->objtype = OBJECT_TABLE;
31357 					ctas->is_select_into = false;
31358 					ctas->if_not_exists = true;
31359 					/* cram additional flags into the IntoClause */
31360 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-8].ival);
31361 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
31362 					(yyval.node) = (Node *) ctas;
31363 				}
31364 #line 31365 "gram.c" /* yacc.c:1652  */
31365     break;
31366 
31367   case 584:
31368 #line 4232 "gram.y" /* yacc.c:1652  */
31369     {
31370 					(yyval.into) = makeNode(IntoClause);
31371 					(yyval.into)->rel = (yyvsp[-5].range);
31372 					(yyval.into)->colNames = (yyvsp[-4].list);
31373 					(yyval.into)->accessMethod = (yyvsp[-3].str);
31374 					(yyval.into)->options = (yyvsp[-2].list);
31375 					(yyval.into)->onCommit = (yyvsp[-1].oncommit);
31376 					(yyval.into)->tableSpaceName = (yyvsp[0].str);
31377 					(yyval.into)->viewQuery = NULL;
31378 					(yyval.into)->skipData = false;		/* might get changed later */
31379 				}
31380 #line 31381 "gram.c" /* yacc.c:1652  */
31381     break;
31382 
31383   case 585:
31384 #line 4246 "gram.y" /* yacc.c:1652  */
31385     { (yyval.boolean) = true; }
31386 #line 31387 "gram.c" /* yacc.c:1652  */
31387     break;
31388 
31389   case 586:
31390 #line 4247 "gram.y" /* yacc.c:1652  */
31391     { (yyval.boolean) = false; }
31392 #line 31393 "gram.c" /* yacc.c:1652  */
31393     break;
31394 
31395   case 587:
31396 #line 4248 "gram.y" /* yacc.c:1652  */
31397     { (yyval.boolean) = true; }
31398 #line 31399 "gram.c" /* yacc.c:1652  */
31399     break;
31400 
31401   case 588:
31402 #line 4261 "gram.y" /* yacc.c:1652  */
31403     {
31404 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
31405 					ctas->query = (yyvsp[-1].node);
31406 					ctas->into = (yyvsp[-3].into);
31407 					ctas->objtype = OBJECT_MATVIEW;
31408 					ctas->is_select_into = false;
31409 					ctas->if_not_exists = false;
31410 					/* cram additional flags into the IntoClause */
31411 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-6].ival);
31412 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
31413 					(yyval.node) = (Node *) ctas;
31414 				}
31415 #line 31416 "gram.c" /* yacc.c:1652  */
31416     break;
31417 
31418   case 589:
31419 #line 4274 "gram.y" /* yacc.c:1652  */
31420     {
31421 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
31422 					ctas->query = (yyvsp[-1].node);
31423 					ctas->into = (yyvsp[-3].into);
31424 					ctas->objtype = OBJECT_MATVIEW;
31425 					ctas->is_select_into = false;
31426 					ctas->if_not_exists = true;
31427 					/* cram additional flags into the IntoClause */
31428 					(yyvsp[-3].into)->rel->relpersistence = (yyvsp[-9].ival);
31429 					(yyvsp[-3].into)->skipData = !((yyvsp[0].boolean));
31430 					(yyval.node) = (Node *) ctas;
31431 				}
31432 #line 31433 "gram.c" /* yacc.c:1652  */
31433     break;
31434 
31435   case 590:
31436 #line 4290 "gram.y" /* yacc.c:1652  */
31437     {
31438 					(yyval.into) = makeNode(IntoClause);
31439 					(yyval.into)->rel = (yyvsp[-4].range);
31440 					(yyval.into)->colNames = (yyvsp[-3].list);
31441 					(yyval.into)->accessMethod = (yyvsp[-2].str);
31442 					(yyval.into)->options = (yyvsp[-1].list);
31443 					(yyval.into)->onCommit = ONCOMMIT_NOOP;
31444 					(yyval.into)->tableSpaceName = (yyvsp[0].str);
31445 					(yyval.into)->viewQuery = NULL;		/* filled at analysis time */
31446 					(yyval.into)->skipData = false;		/* might get changed later */
31447 				}
31448 #line 31449 "gram.c" /* yacc.c:1652  */
31449     break;
31450 
31451   case 591:
31452 #line 4303 "gram.y" /* yacc.c:1652  */
31453     { (yyval.ival) = RELPERSISTENCE_UNLOGGED; }
31454 #line 31455 "gram.c" /* yacc.c:1652  */
31455     break;
31456 
31457   case 592:
31458 #line 4304 "gram.y" /* yacc.c:1652  */
31459     { (yyval.ival) = RELPERSISTENCE_PERMANENT; }
31460 #line 31461 "gram.c" /* yacc.c:1652  */
31461     break;
31462 
31463   case 593:
31464 #line 4317 "gram.y" /* yacc.c:1652  */
31465     {
31466 					RefreshMatViewStmt *n = makeNode(RefreshMatViewStmt);
31467 					n->concurrent = (yyvsp[-2].boolean);
31468 					n->relation = (yyvsp[-1].range);
31469 					n->skipData = !((yyvsp[0].boolean));
31470 					(yyval.node) = (Node *) n;
31471 				}
31472 #line 31473 "gram.c" /* yacc.c:1652  */
31473     break;
31474 
31475   case 594:
31476 #line 4337 "gram.y" /* yacc.c:1652  */
31477     {
31478 					CreateSeqStmt *n = makeNode(CreateSeqStmt);
31479 					(yyvsp[-1].range)->relpersistence = (yyvsp[-3].ival);
31480 					n->sequence = (yyvsp[-1].range);
31481 					n->options = (yyvsp[0].list);
31482 					n->ownerId = InvalidOid;
31483 					n->if_not_exists = false;
31484 					(yyval.node) = (Node *)n;
31485 				}
31486 #line 31487 "gram.c" /* yacc.c:1652  */
31487     break;
31488 
31489   case 595:
31490 #line 4347 "gram.y" /* yacc.c:1652  */
31491     {
31492 					CreateSeqStmt *n = makeNode(CreateSeqStmt);
31493 					(yyvsp[-1].range)->relpersistence = (yyvsp[-6].ival);
31494 					n->sequence = (yyvsp[-1].range);
31495 					n->options = (yyvsp[0].list);
31496 					n->ownerId = InvalidOid;
31497 					n->if_not_exists = true;
31498 					(yyval.node) = (Node *)n;
31499 				}
31500 #line 31501 "gram.c" /* yacc.c:1652  */
31501     break;
31502 
31503   case 596:
31504 #line 4360 "gram.y" /* yacc.c:1652  */
31505     {
31506 					AlterSeqStmt *n = makeNode(AlterSeqStmt);
31507 					n->sequence = (yyvsp[-1].range);
31508 					n->options = (yyvsp[0].list);
31509 					n->missing_ok = false;
31510 					(yyval.node) = (Node *)n;
31511 				}
31512 #line 31513 "gram.c" /* yacc.c:1652  */
31513     break;
31514 
31515   case 597:
31516 #line 4368 "gram.y" /* yacc.c:1652  */
31517     {
31518 					AlterSeqStmt *n = makeNode(AlterSeqStmt);
31519 					n->sequence = (yyvsp[-1].range);
31520 					n->options = (yyvsp[0].list);
31521 					n->missing_ok = true;
31522 					(yyval.node) = (Node *)n;
31523 				}
31524 #line 31525 "gram.c" /* yacc.c:1652  */
31525     break;
31526 
31527   case 598:
31528 #line 4378 "gram.y" /* yacc.c:1652  */
31529     { (yyval.list) = (yyvsp[0].list); }
31530 #line 31531 "gram.c" /* yacc.c:1652  */
31531     break;
31532 
31533   case 599:
31534 #line 4379 "gram.y" /* yacc.c:1652  */
31535     { (yyval.list) = NIL; }
31536 #line 31537 "gram.c" /* yacc.c:1652  */
31537     break;
31538 
31539   case 600:
31540 #line 4382 "gram.y" /* yacc.c:1652  */
31541     { (yyval.list) = (yyvsp[-1].list); }
31542 #line 31543 "gram.c" /* yacc.c:1652  */
31543     break;
31544 
31545   case 601:
31546 #line 4383 "gram.y" /* yacc.c:1652  */
31547     { (yyval.list) = NIL; }
31548 #line 31549 "gram.c" /* yacc.c:1652  */
31549     break;
31550 
31551   case 602:
31552 #line 4386 "gram.y" /* yacc.c:1652  */
31553     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
31554 #line 31555 "gram.c" /* yacc.c:1652  */
31555     break;
31556 
31557   case 603:
31558 #line 4387 "gram.y" /* yacc.c:1652  */
31559     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31560 #line 31561 "gram.c" /* yacc.c:1652  */
31561     break;
31562 
31563   case 604:
31564 #line 4391 "gram.y" /* yacc.c:1652  */
31565     {
31566 					(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].typnam), (yylsp[-1]));
31567 				}
31568 #line 31569 "gram.c" /* yacc.c:1652  */
31569     break;
31570 
31571   case 605:
31572 #line 4395 "gram.y" /* yacc.c:1652  */
31573     {
31574 					(yyval.defelt) = makeDefElem("cache", (Node *)(yyvsp[0].value), (yylsp[-1]));
31575 				}
31576 #line 31577 "gram.c" /* yacc.c:1652  */
31577     break;
31578 
31579   case 606:
31580 #line 4399 "gram.y" /* yacc.c:1652  */
31581     {
31582 					(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(true), (yylsp[0]));
31583 				}
31584 #line 31585 "gram.c" /* yacc.c:1652  */
31585     break;
31586 
31587   case 607:
31588 #line 4403 "gram.y" /* yacc.c:1652  */
31589     {
31590 					(yyval.defelt) = makeDefElem("cycle", (Node *)makeInteger(false), (yylsp[-1]));
31591 				}
31592 #line 31593 "gram.c" /* yacc.c:1652  */
31593     break;
31594 
31595   case 608:
31596 #line 4407 "gram.y" /* yacc.c:1652  */
31597     {
31598 					(yyval.defelt) = makeDefElem("increment", (Node *)(yyvsp[0].value), (yylsp[-2]));
31599 				}
31600 #line 31601 "gram.c" /* yacc.c:1652  */
31601     break;
31602 
31603   case 609:
31604 #line 4411 "gram.y" /* yacc.c:1652  */
31605     {
31606 					(yyval.defelt) = makeDefElem("maxvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
31607 				}
31608 #line 31609 "gram.c" /* yacc.c:1652  */
31609     break;
31610 
31611   case 610:
31612 #line 4415 "gram.y" /* yacc.c:1652  */
31613     {
31614 					(yyval.defelt) = makeDefElem("minvalue", (Node *)(yyvsp[0].value), (yylsp[-1]));
31615 				}
31616 #line 31617 "gram.c" /* yacc.c:1652  */
31617     break;
31618 
31619   case 611:
31620 #line 4419 "gram.y" /* yacc.c:1652  */
31621     {
31622 					(yyval.defelt) = makeDefElem("maxvalue", NULL, (yylsp[-1]));
31623 				}
31624 #line 31625 "gram.c" /* yacc.c:1652  */
31625     break;
31626 
31627   case 612:
31628 #line 4423 "gram.y" /* yacc.c:1652  */
31629     {
31630 					(yyval.defelt) = makeDefElem("minvalue", NULL, (yylsp[-1]));
31631 				}
31632 #line 31633 "gram.c" /* yacc.c:1652  */
31633     break;
31634 
31635   case 613:
31636 #line 4427 "gram.y" /* yacc.c:1652  */
31637     {
31638 					(yyval.defelt) = makeDefElem("owned_by", (Node *)(yyvsp[0].list), (yylsp[-2]));
31639 				}
31640 #line 31641 "gram.c" /* yacc.c:1652  */
31641     break;
31642 
31643   case 614:
31644 #line 4431 "gram.y" /* yacc.c:1652  */
31645     {
31646 					/* not documented, only used by pg_dump */
31647 					(yyval.defelt) = makeDefElem("sequence_name", (Node *)(yyvsp[0].list), (yylsp[-2]));
31648 				}
31649 #line 31650 "gram.c" /* yacc.c:1652  */
31650     break;
31651 
31652   case 615:
31653 #line 4436 "gram.y" /* yacc.c:1652  */
31654     {
31655 					(yyval.defelt) = makeDefElem("start", (Node *)(yyvsp[0].value), (yylsp[-2]));
31656 				}
31657 #line 31658 "gram.c" /* yacc.c:1652  */
31658     break;
31659 
31660   case 616:
31661 #line 4440 "gram.y" /* yacc.c:1652  */
31662     {
31663 					(yyval.defelt) = makeDefElem("restart", NULL, (yylsp[0]));
31664 				}
31665 #line 31666 "gram.c" /* yacc.c:1652  */
31666     break;
31667 
31668   case 617:
31669 #line 4444 "gram.y" /* yacc.c:1652  */
31670     {
31671 					(yyval.defelt) = makeDefElem("restart", (Node *)(yyvsp[0].value), (yylsp[-2]));
31672 				}
31673 #line 31674 "gram.c" /* yacc.c:1652  */
31674     break;
31675 
31676   case 620:
31677 #line 4454 "gram.y" /* yacc.c:1652  */
31678     { (yyval.value) = makeFloat((yyvsp[0].str)); }
31679 #line 31680 "gram.c" /* yacc.c:1652  */
31680     break;
31681 
31682   case 621:
31683 #line 4455 "gram.y" /* yacc.c:1652  */
31684     { (yyval.value) = makeFloat((yyvsp[0].str)); }
31685 #line 31686 "gram.c" /* yacc.c:1652  */
31686     break;
31687 
31688   case 622:
31689 #line 4457 "gram.y" /* yacc.c:1652  */
31690     {
31691 					(yyval.value) = makeFloat((yyvsp[0].str));
31692 					doNegateFloat((yyval.value));
31693 				}
31694 #line 31695 "gram.c" /* yacc.c:1652  */
31695     break;
31696 
31697   case 623:
31698 #line 4461 "gram.y" /* yacc.c:1652  */
31699     { (yyval.value) = makeInteger((yyvsp[0].ival)); }
31700 #line 31701 "gram.c" /* yacc.c:1652  */
31701     break;
31702 
31703   case 624:
31704 #line 4464 "gram.y" /* yacc.c:1652  */
31705     { (yyval.list) = list_make1((yyvsp[0].value)); }
31706 #line 31707 "gram.c" /* yacc.c:1652  */
31707     break;
31708 
31709   case 625:
31710 #line 4465 "gram.y" /* yacc.c:1652  */
31711     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
31712 #line 31713 "gram.c" /* yacc.c:1652  */
31713     break;
31714 
31715   case 626:
31716 #line 4478 "gram.y" /* yacc.c:1652  */
31717     {
31718 				/*
31719 				 * We now interpret parameterless CREATE LANGUAGE as
31720 				 * CREATE EXTENSION.  "OR REPLACE" is silently translated
31721 				 * to "IF NOT EXISTS", which isn't quite the same, but
31722 				 * seems more useful than throwing an error.  We just
31723 				 * ignore TRUSTED, as the previous code would have too.
31724 				 */
31725 				CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
31726 				n->if_not_exists = (yyvsp[-4].boolean);
31727 				n->extname = (yyvsp[0].str);
31728 				n->options = NIL;
31729 				(yyval.node) = (Node *)n;
31730 			}
31731 #line 31732 "gram.c" /* yacc.c:1652  */
31732     break;
31733 
31734   case 627:
31735 #line 4494 "gram.y" /* yacc.c:1652  */
31736     {
31737 				CreatePLangStmt *n = makeNode(CreatePLangStmt);
31738 				n->replace = (yyvsp[-8].boolean);
31739 				n->plname = (yyvsp[-4].str);
31740 				n->plhandler = (yyvsp[-2].list);
31741 				n->plinline = (yyvsp[-1].list);
31742 				n->plvalidator = (yyvsp[0].list);
31743 				n->pltrusted = (yyvsp[-7].boolean);
31744 				(yyval.node) = (Node *)n;
31745 			}
31746 #line 31747 "gram.c" /* yacc.c:1652  */
31747     break;
31748 
31749   case 628:
31750 #line 4507 "gram.y" /* yacc.c:1652  */
31751     { (yyval.boolean) = true; }
31752 #line 31753 "gram.c" /* yacc.c:1652  */
31753     break;
31754 
31755   case 629:
31756 #line 4508 "gram.y" /* yacc.c:1652  */
31757     { (yyval.boolean) = false; }
31758 #line 31759 "gram.c" /* yacc.c:1652  */
31759     break;
31760 
31761   case 630:
31762 #line 4516 "gram.y" /* yacc.c:1652  */
31763     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
31764 #line 31765 "gram.c" /* yacc.c:1652  */
31765     break;
31766 
31767   case 631:
31768 #line 4517 "gram.y" /* yacc.c:1652  */
31769     { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
31770 #line 31771 "gram.c" /* yacc.c:1652  */
31771     break;
31772 
31773   case 632:
31774 #line 4521 "gram.y" /* yacc.c:1652  */
31775     { (yyval.list) = (yyvsp[0].list); }
31776 #line 31777 "gram.c" /* yacc.c:1652  */
31777     break;
31778 
31779   case 633:
31780 #line 4522 "gram.y" /* yacc.c:1652  */
31781     { (yyval.list) = NIL; }
31782 #line 31783 "gram.c" /* yacc.c:1652  */
31783     break;
31784 
31785   case 634:
31786 #line 4526 "gram.y" /* yacc.c:1652  */
31787     { (yyval.list) = (yyvsp[0].list); }
31788 #line 31789 "gram.c" /* yacc.c:1652  */
31789     break;
31790 
31791   case 635:
31792 #line 4527 "gram.y" /* yacc.c:1652  */
31793     { (yyval.list) = NIL; }
31794 #line 31795 "gram.c" /* yacc.c:1652  */
31795     break;
31796 
31797   case 636:
31798 #line 4531 "gram.y" /* yacc.c:1652  */
31799     { (yyval.list) = (yyvsp[0].list); }
31800 #line 31801 "gram.c" /* yacc.c:1652  */
31801     break;
31802 
31803   case 637:
31804 #line 4532 "gram.y" /* yacc.c:1652  */
31805     { (yyval.list) = NIL; }
31806 #line 31807 "gram.c" /* yacc.c:1652  */
31807     break;
31808 
31809   case 640:
31810 #line 4548 "gram.y" /* yacc.c:1652  */
31811     {
31812 					CreateTableSpaceStmt *n = makeNode(CreateTableSpaceStmt);
31813 					n->tablespacename = (yyvsp[-4].str);
31814 					n->owner = (yyvsp[-3].rolespec);
31815 					n->location = (yyvsp[-1].str);
31816 					n->options = (yyvsp[0].list);
31817 					(yyval.node) = (Node *) n;
31818 				}
31819 #line 31820 "gram.c" /* yacc.c:1652  */
31820     break;
31821 
31822   case 641:
31823 #line 4558 "gram.y" /* yacc.c:1652  */
31824     { (yyval.rolespec) = (yyvsp[0].rolespec); }
31825 #line 31826 "gram.c" /* yacc.c:1652  */
31826     break;
31827 
31828   case 642:
31829 #line 4559 "gram.y" /* yacc.c:1652  */
31830     { (yyval.rolespec) = NULL; }
31831 #line 31832 "gram.c" /* yacc.c:1652  */
31832     break;
31833 
31834   case 643:
31835 #line 4573 "gram.y" /* yacc.c:1652  */
31836     {
31837 					DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
31838 					n->tablespacename = (yyvsp[0].str);
31839 					n->missing_ok = false;
31840 					(yyval.node) = (Node *) n;
31841 				}
31842 #line 31843 "gram.c" /* yacc.c:1652  */
31843     break;
31844 
31845   case 644:
31846 #line 4580 "gram.y" /* yacc.c:1652  */
31847     {
31848 					DropTableSpaceStmt *n = makeNode(DropTableSpaceStmt);
31849 					n->tablespacename = (yyvsp[0].str);
31850 					n->missing_ok = true;
31851 					(yyval.node) = (Node *) n;
31852 				}
31853 #line 31854 "gram.c" /* yacc.c:1652  */
31854     break;
31855 
31856   case 645:
31857 #line 4597 "gram.y" /* yacc.c:1652  */
31858     {
31859 					CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
31860 					n->extname = (yyvsp[-2].str);
31861 					n->if_not_exists = false;
31862 					n->options = (yyvsp[0].list);
31863 					(yyval.node) = (Node *) n;
31864 				}
31865 #line 31866 "gram.c" /* yacc.c:1652  */
31866     break;
31867 
31868   case 646:
31869 #line 4605 "gram.y" /* yacc.c:1652  */
31870     {
31871 					CreateExtensionStmt *n = makeNode(CreateExtensionStmt);
31872 					n->extname = (yyvsp[-2].str);
31873 					n->if_not_exists = true;
31874 					n->options = (yyvsp[0].list);
31875 					(yyval.node) = (Node *) n;
31876 				}
31877 #line 31878 "gram.c" /* yacc.c:1652  */
31878     break;
31879 
31880   case 647:
31881 #line 4616 "gram.y" /* yacc.c:1652  */
31882     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31883 #line 31884 "gram.c" /* yacc.c:1652  */
31884     break;
31885 
31886   case 648:
31887 #line 4618 "gram.y" /* yacc.c:1652  */
31888     { (yyval.list) = NIL; }
31889 #line 31890 "gram.c" /* yacc.c:1652  */
31890     break;
31891 
31892   case 649:
31893 #line 4623 "gram.y" /* yacc.c:1652  */
31894     {
31895 					(yyval.defelt) = makeDefElem("schema", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
31896 				}
31897 #line 31898 "gram.c" /* yacc.c:1652  */
31898     break;
31899 
31900   case 650:
31901 #line 4627 "gram.y" /* yacc.c:1652  */
31902     {
31903 					(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
31904 				}
31905 #line 31906 "gram.c" /* yacc.c:1652  */
31906     break;
31907 
31908   case 651:
31909 #line 4631 "gram.y" /* yacc.c:1652  */
31910     {
31911 					ereport(ERROR,
31912 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
31913 							 errmsg("CREATE EXTENSION ... FROM is no longer supported"),
31914 							 parser_errposition((yylsp[-1]))));
31915 				}
31916 #line 31917 "gram.c" /* yacc.c:1652  */
31917     break;
31918 
31919   case 652:
31920 #line 4638 "gram.y" /* yacc.c:1652  */
31921     {
31922 					(yyval.defelt) = makeDefElem("cascade", (Node *)makeInteger(true), (yylsp[0]));
31923 				}
31924 #line 31925 "gram.c" /* yacc.c:1652  */
31925     break;
31926 
31927   case 653:
31928 #line 4650 "gram.y" /* yacc.c:1652  */
31929     {
31930 					AlterExtensionStmt *n = makeNode(AlterExtensionStmt);
31931 					n->extname = (yyvsp[-2].str);
31932 					n->options = (yyvsp[0].list);
31933 					(yyval.node) = (Node *) n;
31934 				}
31935 #line 31936 "gram.c" /* yacc.c:1652  */
31936     break;
31937 
31938   case 654:
31939 #line 4660 "gram.y" /* yacc.c:1652  */
31940     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
31941 #line 31942 "gram.c" /* yacc.c:1652  */
31942     break;
31943 
31944   case 655:
31945 #line 4662 "gram.y" /* yacc.c:1652  */
31946     { (yyval.list) = NIL; }
31947 #line 31948 "gram.c" /* yacc.c:1652  */
31948     break;
31949 
31950   case 656:
31951 #line 4667 "gram.y" /* yacc.c:1652  */
31952     {
31953 					(yyval.defelt) = makeDefElem("new_version", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
31954 				}
31955 #line 31956 "gram.c" /* yacc.c:1652  */
31956     break;
31957 
31958   case 657:
31959 #line 4680 "gram.y" /* yacc.c:1652  */
31960     {
31961 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31962 					n->extname = (yyvsp[-3].str);
31963 					n->action = (yyvsp[-2].ival);
31964 					n->objtype = (yyvsp[-1].objtype);
31965 					n->object = (Node *) makeString((yyvsp[0].str));
31966 					(yyval.node) = (Node *)n;
31967 				}
31968 #line 31969 "gram.c" /* yacc.c:1652  */
31969     break;
31970 
31971   case 658:
31972 #line 4689 "gram.y" /* yacc.c:1652  */
31973     {
31974 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31975 					n->extname = (yyvsp[-3].str);
31976 					n->action = (yyvsp[-2].ival);
31977 					n->objtype = (yyvsp[-1].objtype);
31978 					n->object = (Node *) (yyvsp[0].list);
31979 					(yyval.node) = (Node *)n;
31980 				}
31981 #line 31982 "gram.c" /* yacc.c:1652  */
31982     break;
31983 
31984   case 659:
31985 #line 4698 "gram.y" /* yacc.c:1652  */
31986     {
31987 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
31988 					n->extname = (yyvsp[-3].str);
31989 					n->action = (yyvsp[-2].ival);
31990 					n->objtype = OBJECT_AGGREGATE;
31991 					n->object = (Node *) (yyvsp[0].objwithargs);
31992 					(yyval.node) = (Node *)n;
31993 				}
31994 #line 31995 "gram.c" /* yacc.c:1652  */
31995     break;
31996 
31997   case 660:
31998 #line 4707 "gram.y" /* yacc.c:1652  */
31999     {
32000 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
32001 					n->extname = (yyvsp[-7].str);
32002 					n->action = (yyvsp[-6].ival);
32003 					n->objtype = OBJECT_CAST;
32004 					n->object = (Node *) list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam));
32005 					(yyval.node) = (Node *) n;
32006 				}
32007 #line 32008 "gram.c" /* yacc.c:1652  */
32008     break;
32009 
32010   case 661:
32011 #line 4716 "gram.y" /* yacc.c:1652  */
32012     {
32013 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
32014 					n->extname = (yyvsp[-3].str);
32015 					n->action = (yyvsp[-2].ival);
32016 					n->objtype = OBJECT_DOMAIN;
32017 					n->object = (Node *) (yyvsp[0].typnam);
32018 					(yyval.node) = (Node *)n;
32019 				}
32020 #line 32021 "gram.c" /* yacc.c:1652  */
32021     break;
32022 
32023   case 662:
32024 #line 4725 "gram.y" /* yacc.c:1652  */
32025     {
32026 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
32027 					n->extname = (yyvsp[-3].str);
32028 					n->action = (yyvsp[-2].ival);
32029 					n->objtype = OBJECT_FUNCTION;
32030 					n->object = (Node *) (yyvsp[0].objwithargs);
32031 					(yyval.node) = (Node *)n;
32032 				}
32033 #line 32034 "gram.c" /* yacc.c:1652  */
32034     break;
32035 
32036   case 663:
32037 #line 4734 "gram.y" /* yacc.c:1652  */
32038     {
32039 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
32040 					n->extname = (yyvsp[-3].str);
32041 					n->action = (yyvsp[-2].ival);
32042 					n->objtype = OBJECT_OPERATOR;
32043 					n->object = (Node *) (yyvsp[0].objwithargs);
32044 					(yyval.node) = (Node *)n;
32045 				}
32046 #line 32047 "gram.c" /* yacc.c:1652  */
32047     break;
32048 
32049   case 664:
32050 #line 4743 "gram.y" /* yacc.c:1652  */
32051     {
32052 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
32053 					n->extname = (yyvsp[-6].str);
32054 					n->action = (yyvsp[-5].ival);
32055 					n->objtype = OBJECT_OPCLASS;
32056 					n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
32057 					(yyval.node) = (Node *)n;
32058 				}
32059 #line 32060 "gram.c" /* yacc.c:1652  */
32060     break;
32061 
32062   case 665:
32063 #line 4752 "gram.y" /* yacc.c:1652  */
32064     {
32065 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
32066 					n->extname = (yyvsp[-6].str);
32067 					n->action = (yyvsp[-5].ival);
32068 					n->objtype = OBJECT_OPFAMILY;
32069 					n->object = (Node *) lcons(makeString((yyvsp[0].str)), (yyvsp[-2].list));
32070 					(yyval.node) = (Node *)n;
32071 				}
32072 #line 32073 "gram.c" /* yacc.c:1652  */
32073     break;
32074 
32075   case 666:
32076 #line 4761 "gram.y" /* yacc.c:1652  */
32077     {
32078 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
32079 					n->extname = (yyvsp[-3].str);
32080 					n->action = (yyvsp[-2].ival);
32081 					n->objtype = OBJECT_PROCEDURE;
32082 					n->object = (Node *) (yyvsp[0].objwithargs);
32083 					(yyval.node) = (Node *)n;
32084 				}
32085 #line 32086 "gram.c" /* yacc.c:1652  */
32086     break;
32087 
32088   case 667:
32089 #line 4770 "gram.y" /* yacc.c:1652  */
32090     {
32091 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
32092 					n->extname = (yyvsp[-3].str);
32093 					n->action = (yyvsp[-2].ival);
32094 					n->objtype = OBJECT_ROUTINE;
32095 					n->object = (Node *) (yyvsp[0].objwithargs);
32096 					(yyval.node) = (Node *)n;
32097 				}
32098 #line 32099 "gram.c" /* yacc.c:1652  */
32099     break;
32100 
32101   case 668:
32102 #line 4779 "gram.y" /* yacc.c:1652  */
32103     {
32104 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
32105 					n->extname = (yyvsp[-6].str);
32106 					n->action = (yyvsp[-5].ival);
32107 					n->objtype = OBJECT_TRANSFORM;
32108 					n->object = (Node *) list_make2((yyvsp[-2].typnam), makeString((yyvsp[0].str)));
32109 					(yyval.node) = (Node *)n;
32110 				}
32111 #line 32112 "gram.c" /* yacc.c:1652  */
32112     break;
32113 
32114   case 669:
32115 #line 4788 "gram.y" /* yacc.c:1652  */
32116     {
32117 					AlterExtensionContentsStmt *n = makeNode(AlterExtensionContentsStmt);
32118 					n->extname = (yyvsp[-3].str);
32119 					n->action = (yyvsp[-2].ival);
32120 					n->objtype = OBJECT_TYPE;
32121 					n->object = (Node *) (yyvsp[0].typnam);
32122 					(yyval.node) = (Node *)n;
32123 				}
32124 #line 32125 "gram.c" /* yacc.c:1652  */
32125     break;
32126 
32127   case 670:
32128 #line 4806 "gram.y" /* yacc.c:1652  */
32129     {
32130 					CreateFdwStmt *n = makeNode(CreateFdwStmt);
32131 					n->fdwname = (yyvsp[-2].str);
32132 					n->func_options = (yyvsp[-1].list);
32133 					n->options = (yyvsp[0].list);
32134 					(yyval.node) = (Node *) n;
32135 				}
32136 #line 32137 "gram.c" /* yacc.c:1652  */
32137     break;
32138 
32139   case 671:
32140 #line 4816 "gram.y" /* yacc.c:1652  */
32141     { (yyval.defelt) = makeDefElem("handler", (Node *)(yyvsp[0].list), (yylsp[-1])); }
32142 #line 32143 "gram.c" /* yacc.c:1652  */
32143     break;
32144 
32145   case 672:
32146 #line 4817 "gram.y" /* yacc.c:1652  */
32147     { (yyval.defelt) = makeDefElem("handler", NULL, (yylsp[-1])); }
32148 #line 32149 "gram.c" /* yacc.c:1652  */
32149     break;
32150 
32151   case 673:
32152 #line 4818 "gram.y" /* yacc.c:1652  */
32153     { (yyval.defelt) = makeDefElem("validator", (Node *)(yyvsp[0].list), (yylsp[-1])); }
32154 #line 32155 "gram.c" /* yacc.c:1652  */
32155     break;
32156 
32157   case 674:
32158 #line 4819 "gram.y" /* yacc.c:1652  */
32159     { (yyval.defelt) = makeDefElem("validator", NULL, (yylsp[-1])); }
32160 #line 32161 "gram.c" /* yacc.c:1652  */
32161     break;
32162 
32163   case 675:
32164 #line 4823 "gram.y" /* yacc.c:1652  */
32165     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
32166 #line 32167 "gram.c" /* yacc.c:1652  */
32167     break;
32168 
32169   case 676:
32170 #line 4824 "gram.y" /* yacc.c:1652  */
32171     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
32172 #line 32173 "gram.c" /* yacc.c:1652  */
32173     break;
32174 
32175   case 677:
32176 #line 4828 "gram.y" /* yacc.c:1652  */
32177     { (yyval.list) = (yyvsp[0].list); }
32178 #line 32179 "gram.c" /* yacc.c:1652  */
32179     break;
32180 
32181   case 678:
32182 #line 4829 "gram.y" /* yacc.c:1652  */
32183     { (yyval.list) = NIL; }
32184 #line 32185 "gram.c" /* yacc.c:1652  */
32185     break;
32186 
32187   case 679:
32188 #line 4840 "gram.y" /* yacc.c:1652  */
32189     {
32190 					AlterFdwStmt *n = makeNode(AlterFdwStmt);
32191 					n->fdwname = (yyvsp[-2].str);
32192 					n->func_options = (yyvsp[-1].list);
32193 					n->options = (yyvsp[0].list);
32194 					(yyval.node) = (Node *) n;
32195 				}
32196 #line 32197 "gram.c" /* yacc.c:1652  */
32197     break;
32198 
32199   case 680:
32200 #line 4848 "gram.y" /* yacc.c:1652  */
32201     {
32202 					AlterFdwStmt *n = makeNode(AlterFdwStmt);
32203 					n->fdwname = (yyvsp[-1].str);
32204 					n->func_options = (yyvsp[0].list);
32205 					n->options = NIL;
32206 					(yyval.node) = (Node *) n;
32207 				}
32208 #line 32209 "gram.c" /* yacc.c:1652  */
32209     break;
32210 
32211   case 681:
32212 #line 4859 "gram.y" /* yacc.c:1652  */
32213     { (yyval.list) = (yyvsp[-1].list); }
32214 #line 32215 "gram.c" /* yacc.c:1652  */
32215     break;
32216 
32217   case 682:
32218 #line 4860 "gram.y" /* yacc.c:1652  */
32219     { (yyval.list) = NIL; }
32220 #line 32221 "gram.c" /* yacc.c:1652  */
32221     break;
32222 
32223   case 683:
32224 #line 4865 "gram.y" /* yacc.c:1652  */
32225     {
32226 					(yyval.list) = list_make1((yyvsp[0].defelt));
32227 				}
32228 #line 32229 "gram.c" /* yacc.c:1652  */
32229     break;
32230 
32231   case 684:
32232 #line 4869 "gram.y" /* yacc.c:1652  */
32233     {
32234 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
32235 				}
32236 #line 32237 "gram.c" /* yacc.c:1652  */
32237     break;
32238 
32239   case 685:
32240 #line 4876 "gram.y" /* yacc.c:1652  */
32241     { (yyval.list) = (yyvsp[-1].list); }
32242 #line 32243 "gram.c" /* yacc.c:1652  */
32243     break;
32244 
32245   case 686:
32246 #line 4881 "gram.y" /* yacc.c:1652  */
32247     {
32248 					(yyval.list) = list_make1((yyvsp[0].defelt));
32249 				}
32250 #line 32251 "gram.c" /* yacc.c:1652  */
32251     break;
32252 
32253   case 687:
32254 #line 4885 "gram.y" /* yacc.c:1652  */
32255     {
32256 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
32257 				}
32258 #line 32259 "gram.c" /* yacc.c:1652  */
32259     break;
32260 
32261   case 688:
32262 #line 4892 "gram.y" /* yacc.c:1652  */
32263     {
32264 					(yyval.defelt) = (yyvsp[0].defelt);
32265 				}
32266 #line 32267 "gram.c" /* yacc.c:1652  */
32267     break;
32268 
32269   case 689:
32270 #line 4896 "gram.y" /* yacc.c:1652  */
32271     {
32272 					(yyval.defelt) = (yyvsp[0].defelt);
32273 					(yyval.defelt)->defaction = DEFELEM_SET;
32274 				}
32275 #line 32276 "gram.c" /* yacc.c:1652  */
32276     break;
32277 
32278   case 690:
32279 #line 4901 "gram.y" /* yacc.c:1652  */
32280     {
32281 					(yyval.defelt) = (yyvsp[0].defelt);
32282 					(yyval.defelt)->defaction = DEFELEM_ADD;
32283 				}
32284 #line 32285 "gram.c" /* yacc.c:1652  */
32285     break;
32286 
32287   case 691:
32288 #line 4906 "gram.y" /* yacc.c:1652  */
32289     {
32290 					(yyval.defelt) = makeDefElemExtended(NULL, (yyvsp[0].str), NULL, DEFELEM_DROP, (yylsp[0]));
32291 				}
32292 #line 32293 "gram.c" /* yacc.c:1652  */
32293     break;
32294 
32295   case 692:
32296 #line 4913 "gram.y" /* yacc.c:1652  */
32297     {
32298 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
32299 				}
32300 #line 32301 "gram.c" /* yacc.c:1652  */
32301     break;
32302 
32303   case 693:
32304 #line 4919 "gram.y" /* yacc.c:1652  */
32305     { (yyval.str) = (yyvsp[0].str); }
32306 #line 32307 "gram.c" /* yacc.c:1652  */
32307     break;
32308 
32309   case 694:
32310 #line 4924 "gram.y" /* yacc.c:1652  */
32311     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
32312 #line 32313 "gram.c" /* yacc.c:1652  */
32313     break;
32314 
32315   case 695:
32316 #line 4936 "gram.y" /* yacc.c:1652  */
32317     {
32318 					CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
32319 					n->servername = (yyvsp[-7].str);
32320 					n->servertype = (yyvsp[-6].str);
32321 					n->version = (yyvsp[-5].str);
32322 					n->fdwname = (yyvsp[-1].str);
32323 					n->options = (yyvsp[0].list);
32324 					n->if_not_exists = false;
32325 					(yyval.node) = (Node *) n;
32326 				}
32327 #line 32328 "gram.c" /* yacc.c:1652  */
32328     break;
32329 
32330   case 696:
32331 #line 4948 "gram.y" /* yacc.c:1652  */
32332     {
32333 					CreateForeignServerStmt *n = makeNode(CreateForeignServerStmt);
32334 					n->servername = (yyvsp[-7].str);
32335 					n->servertype = (yyvsp[-6].str);
32336 					n->version = (yyvsp[-5].str);
32337 					n->fdwname = (yyvsp[-1].str);
32338 					n->options = (yyvsp[0].list);
32339 					n->if_not_exists = true;
32340 					(yyval.node) = (Node *) n;
32341 				}
32342 #line 32343 "gram.c" /* yacc.c:1652  */
32343     break;
32344 
32345   case 697:
32346 #line 4961 "gram.y" /* yacc.c:1652  */
32347     { (yyval.str) = (yyvsp[0].str); }
32348 #line 32349 "gram.c" /* yacc.c:1652  */
32349     break;
32350 
32351   case 698:
32352 #line 4962 "gram.y" /* yacc.c:1652  */
32353     { (yyval.str) = NULL; }
32354 #line 32355 "gram.c" /* yacc.c:1652  */
32355     break;
32356 
32357   case 699:
32358 #line 4967 "gram.y" /* yacc.c:1652  */
32359     { (yyval.str) = (yyvsp[0].str); }
32360 #line 32361 "gram.c" /* yacc.c:1652  */
32361     break;
32362 
32363   case 700:
32364 #line 4968 "gram.y" /* yacc.c:1652  */
32365     { (yyval.str) = NULL; }
32366 #line 32367 "gram.c" /* yacc.c:1652  */
32367     break;
32368 
32369   case 701:
32370 #line 4972 "gram.y" /* yacc.c:1652  */
32371     { (yyval.str) = (yyvsp[0].str); }
32372 #line 32373 "gram.c" /* yacc.c:1652  */
32373     break;
32374 
32375   case 702:
32376 #line 4973 "gram.y" /* yacc.c:1652  */
32377     { (yyval.str) = NULL; }
32378 #line 32379 "gram.c" /* yacc.c:1652  */
32379     break;
32380 
32381   case 703:
32382 #line 4984 "gram.y" /* yacc.c:1652  */
32383     {
32384 					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
32385 					n->servername = (yyvsp[-2].str);
32386 					n->version = (yyvsp[-1].str);
32387 					n->options = (yyvsp[0].list);
32388 					n->has_version = true;
32389 					(yyval.node) = (Node *) n;
32390 				}
32391 #line 32392 "gram.c" /* yacc.c:1652  */
32392     break;
32393 
32394   case 704:
32395 #line 4993 "gram.y" /* yacc.c:1652  */
32396     {
32397 					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
32398 					n->servername = (yyvsp[-1].str);
32399 					n->version = (yyvsp[0].str);
32400 					n->has_version = true;
32401 					(yyval.node) = (Node *) n;
32402 				}
32403 #line 32404 "gram.c" /* yacc.c:1652  */
32404     break;
32405 
32406   case 705:
32407 #line 5001 "gram.y" /* yacc.c:1652  */
32408     {
32409 					AlterForeignServerStmt *n = makeNode(AlterForeignServerStmt);
32410 					n->servername = (yyvsp[-1].str);
32411 					n->options = (yyvsp[0].list);
32412 					(yyval.node) = (Node *) n;
32413 				}
32414 #line 32415 "gram.c" /* yacc.c:1652  */
32415     break;
32416 
32417   case 706:
32418 #line 5020 "gram.y" /* yacc.c:1652  */
32419     {
32420 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
32421 					(yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
32422 					n->base.relation = (yyvsp[-7].range);
32423 					n->base.tableElts = (yyvsp[-5].list);
32424 					n->base.inhRelations = (yyvsp[-3].list);
32425 					n->base.ofTypename = NULL;
32426 					n->base.constraints = NIL;
32427 					n->base.options = NIL;
32428 					n->base.oncommit = ONCOMMIT_NOOP;
32429 					n->base.tablespacename = NULL;
32430 					n->base.if_not_exists = false;
32431 					/* FDW-specific data */
32432 					n->servername = (yyvsp[-1].str);
32433 					n->options = (yyvsp[0].list);
32434 					(yyval.node) = (Node *) n;
32435 				}
32436 #line 32437 "gram.c" /* yacc.c:1652  */
32437     break;
32438 
32439   case 707:
32440 #line 5040 "gram.y" /* yacc.c:1652  */
32441     {
32442 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
32443 					(yyvsp[-7].range)->relpersistence = RELPERSISTENCE_PERMANENT;
32444 					n->base.relation = (yyvsp[-7].range);
32445 					n->base.tableElts = (yyvsp[-5].list);
32446 					n->base.inhRelations = (yyvsp[-3].list);
32447 					n->base.ofTypename = NULL;
32448 					n->base.constraints = NIL;
32449 					n->base.options = NIL;
32450 					n->base.oncommit = ONCOMMIT_NOOP;
32451 					n->base.tablespacename = NULL;
32452 					n->base.if_not_exists = true;
32453 					/* FDW-specific data */
32454 					n->servername = (yyvsp[-1].str);
32455 					n->options = (yyvsp[0].list);
32456 					(yyval.node) = (Node *) n;
32457 				}
32458 #line 32459 "gram.c" /* yacc.c:1652  */
32459     break;
32460 
32461   case 708:
32462 #line 5060 "gram.y" /* yacc.c:1652  */
32463     {
32464 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
32465 					(yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
32466 					n->base.relation = (yyvsp[-8].range);
32467 					n->base.inhRelations = list_make1((yyvsp[-5].range));
32468 					n->base.tableElts = (yyvsp[-4].list);
32469 					n->base.partbound = (yyvsp[-3].partboundspec);
32470 					n->base.ofTypename = NULL;
32471 					n->base.constraints = NIL;
32472 					n->base.options = NIL;
32473 					n->base.oncommit = ONCOMMIT_NOOP;
32474 					n->base.tablespacename = NULL;
32475 					n->base.if_not_exists = false;
32476 					/* FDW-specific data */
32477 					n->servername = (yyvsp[-1].str);
32478 					n->options = (yyvsp[0].list);
32479 					(yyval.node) = (Node *) n;
32480 				}
32481 #line 32482 "gram.c" /* yacc.c:1652  */
32482     break;
32483 
32484   case 709:
32485 #line 5081 "gram.y" /* yacc.c:1652  */
32486     {
32487 					CreateForeignTableStmt *n = makeNode(CreateForeignTableStmt);
32488 					(yyvsp[-8].range)->relpersistence = RELPERSISTENCE_PERMANENT;
32489 					n->base.relation = (yyvsp[-8].range);
32490 					n->base.inhRelations = list_make1((yyvsp[-5].range));
32491 					n->base.tableElts = (yyvsp[-4].list);
32492 					n->base.partbound = (yyvsp[-3].partboundspec);
32493 					n->base.ofTypename = NULL;
32494 					n->base.constraints = NIL;
32495 					n->base.options = NIL;
32496 					n->base.oncommit = ONCOMMIT_NOOP;
32497 					n->base.tablespacename = NULL;
32498 					n->base.if_not_exists = true;
32499 					/* FDW-specific data */
32500 					n->servername = (yyvsp[-1].str);
32501 					n->options = (yyvsp[0].list);
32502 					(yyval.node) = (Node *) n;
32503 				}
32504 #line 32505 "gram.c" /* yacc.c:1652  */
32505     break;
32506 
32507   case 710:
32508 #line 5113 "gram.y" /* yacc.c:1652  */
32509     {
32510 				ImportForeignSchemaStmt *n = makeNode(ImportForeignSchemaStmt);
32511 				n->server_name = (yyvsp[-3].str);
32512 				n->remote_schema = (yyvsp[-7].str);
32513 				n->local_schema = (yyvsp[-1].str);
32514 				n->list_type = (yyvsp[-6].importqual)->type;
32515 				n->table_list = (yyvsp[-6].importqual)->table_names;
32516 				n->options = (yyvsp[0].list);
32517 				(yyval.node) = (Node *) n;
32518 			}
32519 #line 32520 "gram.c" /* yacc.c:1652  */
32520     break;
32521 
32522   case 711:
32523 #line 5126 "gram.y" /* yacc.c:1652  */
32524     { (yyval.ival) = FDW_IMPORT_SCHEMA_LIMIT_TO; }
32525 #line 32526 "gram.c" /* yacc.c:1652  */
32526     break;
32527 
32528   case 712:
32529 #line 5127 "gram.y" /* yacc.c:1652  */
32530     { (yyval.ival) = FDW_IMPORT_SCHEMA_EXCEPT; }
32531 #line 32532 "gram.c" /* yacc.c:1652  */
32532     break;
32533 
32534   case 713:
32535 #line 5132 "gram.y" /* yacc.c:1652  */
32536     {
32537 				ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
32538 				n->type = (yyvsp[-3].ival);
32539 				n->table_names = (yyvsp[-1].list);
32540 				(yyval.importqual) = n;
32541 			}
32542 #line 32543 "gram.c" /* yacc.c:1652  */
32543     break;
32544 
32545   case 714:
32546 #line 5139 "gram.y" /* yacc.c:1652  */
32547     {
32548 				ImportQual *n = (ImportQual *) palloc(sizeof(ImportQual));
32549 				n->type = FDW_IMPORT_SCHEMA_ALL;
32550 				n->table_names = NIL;
32551 				(yyval.importqual) = n;
32552 			}
32553 #line 32554 "gram.c" /* yacc.c:1652  */
32554     break;
32555 
32556   case 715:
32557 #line 5155 "gram.y" /* yacc.c:1652  */
32558     {
32559 					CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
32560 					n->user = (yyvsp[-3].rolespec);
32561 					n->servername = (yyvsp[-1].str);
32562 					n->options = (yyvsp[0].list);
32563 					n->if_not_exists = false;
32564 					(yyval.node) = (Node *) n;
32565 				}
32566 #line 32567 "gram.c" /* yacc.c:1652  */
32567     break;
32568 
32569   case 716:
32570 #line 5164 "gram.y" /* yacc.c:1652  */
32571     {
32572 					CreateUserMappingStmt *n = makeNode(CreateUserMappingStmt);
32573 					n->user = (yyvsp[-3].rolespec);
32574 					n->servername = (yyvsp[-1].str);
32575 					n->options = (yyvsp[0].list);
32576 					n->if_not_exists = true;
32577 					(yyval.node) = (Node *) n;
32578 				}
32579 #line 32580 "gram.c" /* yacc.c:1652  */
32580     break;
32581 
32582   case 717:
32583 #line 5175 "gram.y" /* yacc.c:1652  */
32584     { (yyval.rolespec) = (yyvsp[0].rolespec); }
32585 #line 32586 "gram.c" /* yacc.c:1652  */
32586     break;
32587 
32588   case 718:
32589 #line 5176 "gram.y" /* yacc.c:1652  */
32590     { (yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0])); }
32591 #line 32592 "gram.c" /* yacc.c:1652  */
32592     break;
32593 
32594   case 719:
32595 #line 5189 "gram.y" /* yacc.c:1652  */
32596     {
32597 					DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
32598 					n->user = (yyvsp[-2].rolespec);
32599 					n->servername = (yyvsp[0].str);
32600 					n->missing_ok = false;
32601 					(yyval.node) = (Node *) n;
32602 				}
32603 #line 32604 "gram.c" /* yacc.c:1652  */
32604     break;
32605 
32606   case 720:
32607 #line 5197 "gram.y" /* yacc.c:1652  */
32608     {
32609 					DropUserMappingStmt *n = makeNode(DropUserMappingStmt);
32610 					n->user = (yyvsp[-2].rolespec);
32611 					n->servername = (yyvsp[0].str);
32612 					n->missing_ok = true;
32613 					(yyval.node) = (Node *) n;
32614 				}
32615 #line 32616 "gram.c" /* yacc.c:1652  */
32616     break;
32617 
32618   case 721:
32619 #line 5214 "gram.y" /* yacc.c:1652  */
32620     {
32621 					AlterUserMappingStmt *n = makeNode(AlterUserMappingStmt);
32622 					n->user = (yyvsp[-3].rolespec);
32623 					n->servername = (yyvsp[-1].str);
32624 					n->options = (yyvsp[0].list);
32625 					(yyval.node) = (Node *) n;
32626 				}
32627 #line 32628 "gram.c" /* yacc.c:1652  */
32628     break;
32629 
32630   case 722:
32631 #line 5240 "gram.y" /* yacc.c:1652  */
32632     {
32633 					CreatePolicyStmt *n = makeNode(CreatePolicyStmt);
32634 					n->policy_name = (yyvsp[-7].str);
32635 					n->table = (yyvsp[-5].range);
32636 					n->permissive = (yyvsp[-4].boolean);
32637 					n->cmd_name = (yyvsp[-3].str);
32638 					n->roles = (yyvsp[-2].list);
32639 					n->qual = (yyvsp[-1].node);
32640 					n->with_check = (yyvsp[0].node);
32641 					(yyval.node) = (Node *) n;
32642 				}
32643 #line 32644 "gram.c" /* yacc.c:1652  */
32644     break;
32645 
32646   case 723:
32647 #line 5256 "gram.y" /* yacc.c:1652  */
32648     {
32649 					AlterPolicyStmt *n = makeNode(AlterPolicyStmt);
32650 					n->policy_name = (yyvsp[-5].str);
32651 					n->table = (yyvsp[-3].range);
32652 					n->roles = (yyvsp[-2].list);
32653 					n->qual = (yyvsp[-1].node);
32654 					n->with_check = (yyvsp[0].node);
32655 					(yyval.node) = (Node *) n;
32656 				}
32657 #line 32658 "gram.c" /* yacc.c:1652  */
32658     break;
32659 
32660   case 724:
32661 #line 5268 "gram.y" /* yacc.c:1652  */
32662     { (yyval.node) = (yyvsp[-1].node); }
32663 #line 32664 "gram.c" /* yacc.c:1652  */
32664     break;
32665 
32666   case 725:
32667 #line 5269 "gram.y" /* yacc.c:1652  */
32668     { (yyval.node) = NULL; }
32669 #line 32670 "gram.c" /* yacc.c:1652  */
32670     break;
32671 
32672   case 726:
32673 #line 5273 "gram.y" /* yacc.c:1652  */
32674     { (yyval.node) = (yyvsp[-1].node); }
32675 #line 32676 "gram.c" /* yacc.c:1652  */
32676     break;
32677 
32678   case 727:
32679 #line 5274 "gram.y" /* yacc.c:1652  */
32680     { (yyval.node) = NULL; }
32681 #line 32682 "gram.c" /* yacc.c:1652  */
32682     break;
32683 
32684   case 728:
32685 #line 5278 "gram.y" /* yacc.c:1652  */
32686     { (yyval.list) = (yyvsp[0].list); }
32687 #line 32688 "gram.c" /* yacc.c:1652  */
32688     break;
32689 
32690   case 729:
32691 #line 5279 "gram.y" /* yacc.c:1652  */
32692     { (yyval.list) = list_make1(makeRoleSpec(ROLESPEC_PUBLIC, -1)); }
32693 #line 32694 "gram.c" /* yacc.c:1652  */
32694     break;
32695 
32696   case 730:
32697 #line 5283 "gram.y" /* yacc.c:1652  */
32698     { (yyval.list) = (yyvsp[0].list); }
32699 #line 32700 "gram.c" /* yacc.c:1652  */
32700     break;
32701 
32702   case 731:
32703 #line 5284 "gram.y" /* yacc.c:1652  */
32704     { (yyval.list) = NULL; }
32705 #line 32706 "gram.c" /* yacc.c:1652  */
32706     break;
32707 
32708   case 732:
32709 #line 5289 "gram.y" /* yacc.c:1652  */
32710     {
32711 					if (strcmp((yyvsp[0].str), "permissive") == 0)
32712 						(yyval.boolean) = true;
32713 					else if (strcmp((yyvsp[0].str), "restrictive") == 0)
32714 						(yyval.boolean) = false;
32715 					else
32716 						ereport(ERROR,
32717 								(errcode(ERRCODE_SYNTAX_ERROR),
32718 							 errmsg("unrecognized row security option \"%s\"", (yyvsp[0].str)),
32719 								 errhint("Only PERMISSIVE or RESTRICTIVE policies are supported currently."),
32720 									 parser_errposition((yylsp[0]))));
32721 
32722 				}
32723 #line 32724 "gram.c" /* yacc.c:1652  */
32724     break;
32725 
32726   case 733:
32727 #line 5302 "gram.y" /* yacc.c:1652  */
32728     { (yyval.boolean) = true; }
32729 #line 32730 "gram.c" /* yacc.c:1652  */
32730     break;
32731 
32732   case 734:
32733 #line 5306 "gram.y" /* yacc.c:1652  */
32734     { (yyval.str) = (yyvsp[0].str); }
32735 #line 32736 "gram.c" /* yacc.c:1652  */
32736     break;
32737 
32738   case 735:
32739 #line 5307 "gram.y" /* yacc.c:1652  */
32740     { (yyval.str) = "all"; }
32741 #line 32742 "gram.c" /* yacc.c:1652  */
32742     break;
32743 
32744   case 736:
32745 #line 5311 "gram.y" /* yacc.c:1652  */
32746     { (yyval.str) = "all"; }
32747 #line 32748 "gram.c" /* yacc.c:1652  */
32748     break;
32749 
32750   case 737:
32751 #line 5312 "gram.y" /* yacc.c:1652  */
32752     { (yyval.str) = "select"; }
32753 #line 32754 "gram.c" /* yacc.c:1652  */
32754     break;
32755 
32756   case 738:
32757 #line 5313 "gram.y" /* yacc.c:1652  */
32758     { (yyval.str) = "insert"; }
32759 #line 32760 "gram.c" /* yacc.c:1652  */
32760     break;
32761 
32762   case 739:
32763 #line 5314 "gram.y" /* yacc.c:1652  */
32764     { (yyval.str) = "update"; }
32765 #line 32766 "gram.c" /* yacc.c:1652  */
32766     break;
32767 
32768   case 740:
32769 #line 5315 "gram.y" /* yacc.c:1652  */
32770     { (yyval.str) = "delete"; }
32771 #line 32772 "gram.c" /* yacc.c:1652  */
32772     break;
32773 
32774   case 741:
32775 #line 5326 "gram.y" /* yacc.c:1652  */
32776     {
32777 					CreateAmStmt *n = makeNode(CreateAmStmt);
32778 					n->amname = (yyvsp[-4].str);
32779 					n->handler_name = (yyvsp[0].list);
32780 					n->amtype = (yyvsp[-2].chr);
32781 					(yyval.node) = (Node *) n;
32782 				}
32783 #line 32784 "gram.c" /* yacc.c:1652  */
32784     break;
32785 
32786   case 742:
32787 #line 5336 "gram.y" /* yacc.c:1652  */
32788     { (yyval.chr) = AMTYPE_INDEX; }
32789 #line 32790 "gram.c" /* yacc.c:1652  */
32790     break;
32791 
32792   case 743:
32793 #line 5337 "gram.y" /* yacc.c:1652  */
32794     { (yyval.chr) = AMTYPE_TABLE; }
32795 #line 32796 "gram.c" /* yacc.c:1652  */
32796     break;
32797 
32798   case 744:
32799 #line 5351 "gram.y" /* yacc.c:1652  */
32800     {
32801 					CreateTrigStmt *n = makeNode(CreateTrigStmt);
32802 					n->replace = (yyvsp[-15].boolean);
32803 					n->isconstraint = false;
32804 					n->trigname = (yyvsp[-13].str);
32805 					n->relation = (yyvsp[-9].range);
32806 					n->funcname = (yyvsp[-3].list);
32807 					n->args = (yyvsp[-1].list);
32808 					n->row = (yyvsp[-7].boolean);
32809 					n->timing = (yyvsp[-12].ival);
32810 					n->events = intVal(linitial((yyvsp[-11].list)));
32811 					n->columns = (List *) lsecond((yyvsp[-11].list));
32812 					n->whenClause = (yyvsp[-6].node);
32813 					n->transitionRels = (yyvsp[-8].list);
32814 					n->deferrable = false;
32815 					n->initdeferred = false;
32816 					n->constrrel = NULL;
32817 					(yyval.node) = (Node *)n;
32818 				}
32819 #line 32820 "gram.c" /* yacc.c:1652  */
32820     break;
32821 
32822   case 745:
32823 #line 5374 "gram.y" /* yacc.c:1652  */
32824     {
32825 					CreateTrigStmt *n = makeNode(CreateTrigStmt);
32826 					n->replace = (yyvsp[-19].boolean);
32827 					if (n->replace) /* not supported, see CreateTrigger */
32828 						ereport(ERROR,
32829 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
32830 								 errmsg("CREATE OR REPLACE CONSTRAINT TRIGGER is not supported")));
32831 					n->isconstraint = true;
32832 					n->trigname = (yyvsp[-16].str);
32833 					n->relation = (yyvsp[-12].range);
32834 					n->funcname = (yyvsp[-3].list);
32835 					n->args = (yyvsp[-1].list);
32836 					n->row = true;
32837 					n->timing = TRIGGER_TYPE_AFTER;
32838 					n->events = intVal(linitial((yyvsp[-14].list)));
32839 					n->columns = (List *) lsecond((yyvsp[-14].list));
32840 					n->whenClause = (yyvsp[-6].node);
32841 					n->transitionRels = NIL;
32842 					processCASbits((yyvsp[-10].ival), (yylsp[-10]), "TRIGGER",
32843 								   &n->deferrable, &n->initdeferred, NULL,
32844 								   NULL, yyscanner);
32845 					n->constrrel = (yyvsp[-11].range);
32846 					(yyval.node) = (Node *)n;
32847 				}
32848 #line 32849 "gram.c" /* yacc.c:1652  */
32849     break;
32850 
32851   case 746:
32852 #line 5401 "gram.y" /* yacc.c:1652  */
32853     { (yyval.ival) = TRIGGER_TYPE_BEFORE; }
32854 #line 32855 "gram.c" /* yacc.c:1652  */
32855     break;
32856 
32857   case 747:
32858 #line 5402 "gram.y" /* yacc.c:1652  */
32859     { (yyval.ival) = TRIGGER_TYPE_AFTER; }
32860 #line 32861 "gram.c" /* yacc.c:1652  */
32861     break;
32862 
32863   case 748:
32864 #line 5403 "gram.y" /* yacc.c:1652  */
32865     { (yyval.ival) = TRIGGER_TYPE_INSTEAD; }
32866 #line 32867 "gram.c" /* yacc.c:1652  */
32867     break;
32868 
32869   case 749:
32870 #line 5408 "gram.y" /* yacc.c:1652  */
32871     { (yyval.list) = (yyvsp[0].list); }
32872 #line 32873 "gram.c" /* yacc.c:1652  */
32873     break;
32874 
32875   case 750:
32876 #line 5410 "gram.y" /* yacc.c:1652  */
32877     {
32878 					int		events1 = intVal(linitial((yyvsp[-2].list)));
32879 					int		events2 = intVal(linitial((yyvsp[0].list)));
32880 					List   *columns1 = (List *) lsecond((yyvsp[-2].list));
32881 					List   *columns2 = (List *) lsecond((yyvsp[0].list));
32882 
32883 					if (events1 & events2)
32884 						parser_yyerror("duplicate trigger events specified");
32885 					/*
32886 					 * concat'ing the columns lists loses information about
32887 					 * which columns went with which event, but so long as
32888 					 * only UPDATE carries columns and we disallow multiple
32889 					 * UPDATE items, it doesn't matter.  Command execution
32890 					 * should just ignore the columns for non-UPDATE events.
32891 					 */
32892 					(yyval.list) = list_make2(makeInteger(events1 | events2),
32893 									list_concat(columns1, columns2));
32894 				}
32895 #line 32896 "gram.c" /* yacc.c:1652  */
32896     break;
32897 
32898   case 751:
32899 #line 5432 "gram.y" /* yacc.c:1652  */
32900     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_INSERT), NIL); }
32901 #line 32902 "gram.c" /* yacc.c:1652  */
32902     break;
32903 
32904   case 752:
32905 #line 5434 "gram.y" /* yacc.c:1652  */
32906     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_DELETE), NIL); }
32907 #line 32908 "gram.c" /* yacc.c:1652  */
32908     break;
32909 
32910   case 753:
32911 #line 5436 "gram.y" /* yacc.c:1652  */
32912     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), NIL); }
32913 #line 32914 "gram.c" /* yacc.c:1652  */
32914     break;
32915 
32916   case 754:
32917 #line 5438 "gram.y" /* yacc.c:1652  */
32918     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_UPDATE), (yyvsp[0].list)); }
32919 #line 32920 "gram.c" /* yacc.c:1652  */
32920     break;
32921 
32922   case 755:
32923 #line 5440 "gram.y" /* yacc.c:1652  */
32924     { (yyval.list) = list_make2(makeInteger(TRIGGER_TYPE_TRUNCATE), NIL); }
32925 #line 32926 "gram.c" /* yacc.c:1652  */
32926     break;
32927 
32928   case 756:
32929 #line 5444 "gram.y" /* yacc.c:1652  */
32930     { (yyval.list) = (yyvsp[0].list); }
32931 #line 32932 "gram.c" /* yacc.c:1652  */
32932     break;
32933 
32934   case 757:
32935 #line 5445 "gram.y" /* yacc.c:1652  */
32936     { (yyval.list) = NIL; }
32937 #line 32938 "gram.c" /* yacc.c:1652  */
32938     break;
32939 
32940   case 758:
32941 #line 5449 "gram.y" /* yacc.c:1652  */
32942     { (yyval.list) = list_make1((yyvsp[0].node)); }
32943 #line 32944 "gram.c" /* yacc.c:1652  */
32944     break;
32945 
32946   case 759:
32947 #line 5450 "gram.y" /* yacc.c:1652  */
32948     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
32949 #line 32950 "gram.c" /* yacc.c:1652  */
32950     break;
32951 
32952   case 760:
32953 #line 5455 "gram.y" /* yacc.c:1652  */
32954     {
32955 					TriggerTransition *n = makeNode(TriggerTransition);
32956 					n->name = (yyvsp[0].str);
32957 					n->isNew = (yyvsp[-3].boolean);
32958 					n->isTable = (yyvsp[-2].boolean);
32959 					(yyval.node) = (Node *)n;
32960 				}
32961 #line 32962 "gram.c" /* yacc.c:1652  */
32962     break;
32963 
32964   case 761:
32965 #line 5465 "gram.y" /* yacc.c:1652  */
32966     { (yyval.boolean) = true; }
32967 #line 32968 "gram.c" /* yacc.c:1652  */
32968     break;
32969 
32970   case 762:
32971 #line 5466 "gram.y" /* yacc.c:1652  */
32972     { (yyval.boolean) = false; }
32973 #line 32974 "gram.c" /* yacc.c:1652  */
32974     break;
32975 
32976   case 763:
32977 #line 5470 "gram.y" /* yacc.c:1652  */
32978     { (yyval.boolean) = true; }
32979 #line 32980 "gram.c" /* yacc.c:1652  */
32980     break;
32981 
32982   case 764:
32983 #line 5479 "gram.y" /* yacc.c:1652  */
32984     { (yyval.boolean) = false; }
32985 #line 32986 "gram.c" /* yacc.c:1652  */
32986     break;
32987 
32988   case 765:
32989 #line 5483 "gram.y" /* yacc.c:1652  */
32990     { (yyval.str) = (yyvsp[0].str); }
32991 #line 32992 "gram.c" /* yacc.c:1652  */
32992     break;
32993 
32994   case 766:
32995 #line 5488 "gram.y" /* yacc.c:1652  */
32996     {
32997 					(yyval.boolean) = (yyvsp[0].boolean);
32998 				}
32999 #line 33000 "gram.c" /* yacc.c:1652  */
33000     break;
33001 
33002   case 767:
33003 #line 5492 "gram.y" /* yacc.c:1652  */
33004     {
33005 					/*
33006 					 * If ROW/STATEMENT not specified, default to
33007 					 * STATEMENT, per SQL
33008 					 */
33009 					(yyval.boolean) = false;
33010 				}
33011 #line 33012 "gram.c" /* yacc.c:1652  */
33012     break;
33013 
33014   case 770:
33015 #line 5507 "gram.y" /* yacc.c:1652  */
33016     { (yyval.boolean) = true; }
33017 #line 33018 "gram.c" /* yacc.c:1652  */
33018     break;
33019 
33020   case 771:
33021 #line 5508 "gram.y" /* yacc.c:1652  */
33022     { (yyval.boolean) = false; }
33023 #line 33024 "gram.c" /* yacc.c:1652  */
33024     break;
33025 
33026   case 772:
33027 #line 5512 "gram.y" /* yacc.c:1652  */
33028     { (yyval.node) = (yyvsp[-1].node); }
33029 #line 33030 "gram.c" /* yacc.c:1652  */
33030     break;
33031 
33032   case 773:
33033 #line 5513 "gram.y" /* yacc.c:1652  */
33034     { (yyval.node) = NULL; }
33035 #line 33036 "gram.c" /* yacc.c:1652  */
33036     break;
33037 
33038   case 776:
33039 #line 5522 "gram.y" /* yacc.c:1652  */
33040     { (yyval.list) = list_make1((yyvsp[0].value)); }
33041 #line 33042 "gram.c" /* yacc.c:1652  */
33042     break;
33043 
33044   case 777:
33045 #line 5523 "gram.y" /* yacc.c:1652  */
33046     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].value)); }
33047 #line 33048 "gram.c" /* yacc.c:1652  */
33048     break;
33049 
33050   case 778:
33051 #line 5524 "gram.y" /* yacc.c:1652  */
33052     { (yyval.list) = NIL; }
33053 #line 33054 "gram.c" /* yacc.c:1652  */
33054     break;
33055 
33056   case 779:
33057 #line 5529 "gram.y" /* yacc.c:1652  */
33058     {
33059 					(yyval.value) = makeString(psprintf("%d", (yyvsp[0].ival)));
33060 				}
33061 #line 33062 "gram.c" /* yacc.c:1652  */
33062     break;
33063 
33064   case 780:
33065 #line 5532 "gram.y" /* yacc.c:1652  */
33066     { (yyval.value) = makeString((yyvsp[0].str)); }
33067 #line 33068 "gram.c" /* yacc.c:1652  */
33068     break;
33069 
33070   case 781:
33071 #line 5533 "gram.y" /* yacc.c:1652  */
33072     { (yyval.value) = makeString((yyvsp[0].str)); }
33073 #line 33074 "gram.c" /* yacc.c:1652  */
33074     break;
33075 
33076   case 782:
33077 #line 5534 "gram.y" /* yacc.c:1652  */
33078     { (yyval.value) = makeString((yyvsp[0].str)); }
33079 #line 33080 "gram.c" /* yacc.c:1652  */
33080     break;
33081 
33082   case 783:
33083 #line 5538 "gram.y" /* yacc.c:1652  */
33084     { (yyval.range) = (yyvsp[0].range); }
33085 #line 33086 "gram.c" /* yacc.c:1652  */
33086     break;
33087 
33088   case 784:
33089 #line 5539 "gram.y" /* yacc.c:1652  */
33090     { (yyval.range) = NULL; }
33091 #line 33092 "gram.c" /* yacc.c:1652  */
33092     break;
33093 
33094   case 785:
33095 #line 5544 "gram.y" /* yacc.c:1652  */
33096     { (yyval.ival) = 0; }
33097 #line 33098 "gram.c" /* yacc.c:1652  */
33098     break;
33099 
33100   case 786:
33101 #line 5546 "gram.y" /* yacc.c:1652  */
33102     {
33103 					/*
33104 					 * We must complain about conflicting options.
33105 					 * We could, but choose not to, complain about redundant
33106 					 * options (ie, where $2's bit is already set in $1).
33107 					 */
33108 					int		newspec = (yyvsp[-1].ival) | (yyvsp[0].ival);
33109 
33110 					/* special message for this case */
33111 					if ((newspec & (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED)) == (CAS_NOT_DEFERRABLE | CAS_INITIALLY_DEFERRED))
33112 						ereport(ERROR,
33113 								(errcode(ERRCODE_SYNTAX_ERROR),
33114 								 errmsg("constraint declared INITIALLY DEFERRED must be DEFERRABLE"),
33115 								 parser_errposition((yylsp[0]))));
33116 					/* generic message for other conflicts */
33117 					if ((newspec & (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE)) == (CAS_NOT_DEFERRABLE | CAS_DEFERRABLE) ||
33118 						(newspec & (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED)) == (CAS_INITIALLY_IMMEDIATE | CAS_INITIALLY_DEFERRED))
33119 						ereport(ERROR,
33120 								(errcode(ERRCODE_SYNTAX_ERROR),
33121 								 errmsg("conflicting constraint properties"),
33122 								 parser_errposition((yylsp[0]))));
33123 					(yyval.ival) = newspec;
33124 				}
33125 #line 33126 "gram.c" /* yacc.c:1652  */
33126     break;
33127 
33128   case 787:
33129 #line 5572 "gram.y" /* yacc.c:1652  */
33130     { (yyval.ival) = CAS_NOT_DEFERRABLE; }
33131 #line 33132 "gram.c" /* yacc.c:1652  */
33132     break;
33133 
33134   case 788:
33135 #line 5573 "gram.y" /* yacc.c:1652  */
33136     { (yyval.ival) = CAS_DEFERRABLE; }
33137 #line 33138 "gram.c" /* yacc.c:1652  */
33138     break;
33139 
33140   case 789:
33141 #line 5574 "gram.y" /* yacc.c:1652  */
33142     { (yyval.ival) = CAS_INITIALLY_IMMEDIATE; }
33143 #line 33144 "gram.c" /* yacc.c:1652  */
33144     break;
33145 
33146   case 790:
33147 #line 5575 "gram.y" /* yacc.c:1652  */
33148     { (yyval.ival) = CAS_INITIALLY_DEFERRED; }
33149 #line 33150 "gram.c" /* yacc.c:1652  */
33150     break;
33151 
33152   case 791:
33153 #line 5576 "gram.y" /* yacc.c:1652  */
33154     { (yyval.ival) = CAS_NOT_VALID; }
33155 #line 33156 "gram.c" /* yacc.c:1652  */
33156     break;
33157 
33158   case 792:
33159 #line 5577 "gram.y" /* yacc.c:1652  */
33160     { (yyval.ival) = CAS_NO_INHERIT; }
33161 #line 33162 "gram.c" /* yacc.c:1652  */
33162     break;
33163 
33164   case 793:
33165 #line 5592 "gram.y" /* yacc.c:1652  */
33166     {
33167 					CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
33168 					n->trigname = (yyvsp[-7].str);
33169 					n->eventname = (yyvsp[-5].str);
33170 					n->whenclause = NULL;
33171 					n->funcname = (yyvsp[-2].list);
33172 					(yyval.node) = (Node *)n;
33173 				}
33174 #line 33175 "gram.c" /* yacc.c:1652  */
33175     break;
33176 
33177   case 794:
33178 #line 5603 "gram.y" /* yacc.c:1652  */
33179     {
33180 					CreateEventTrigStmt *n = makeNode(CreateEventTrigStmt);
33181 					n->trigname = (yyvsp[-9].str);
33182 					n->eventname = (yyvsp[-7].str);
33183 					n->whenclause = (yyvsp[-5].list);
33184 					n->funcname = (yyvsp[-2].list);
33185 					(yyval.node) = (Node *)n;
33186 				}
33187 #line 33188 "gram.c" /* yacc.c:1652  */
33188     break;
33189 
33190   case 795:
33191 #line 5615 "gram.y" /* yacc.c:1652  */
33192     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
33193 #line 33194 "gram.c" /* yacc.c:1652  */
33194     break;
33195 
33196   case 796:
33197 #line 5617 "gram.y" /* yacc.c:1652  */
33198     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
33199 #line 33200 "gram.c" /* yacc.c:1652  */
33200     break;
33201 
33202   case 797:
33203 #line 5622 "gram.y" /* yacc.c:1652  */
33204     { (yyval.defelt) = makeDefElem((yyvsp[-4].str), (Node *) (yyvsp[-1].list), (yylsp[-4])); }
33205 #line 33206 "gram.c" /* yacc.c:1652  */
33206     break;
33207 
33208   case 798:
33209 #line 5627 "gram.y" /* yacc.c:1652  */
33210     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
33211 #line 33212 "gram.c" /* yacc.c:1652  */
33212     break;
33213 
33214   case 799:
33215 #line 5629 "gram.y" /* yacc.c:1652  */
33216     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
33217 #line 33218 "gram.c" /* yacc.c:1652  */
33218     break;
33219 
33220   case 800:
33221 #line 5634 "gram.y" /* yacc.c:1652  */
33222     {
33223 					AlterEventTrigStmt *n = makeNode(AlterEventTrigStmt);
33224 					n->trigname = (yyvsp[-1].str);
33225 					n->tgenabled = (yyvsp[0].chr);
33226 					(yyval.node) = (Node *) n;
33227 				}
33228 #line 33229 "gram.c" /* yacc.c:1652  */
33229     break;
33230 
33231   case 801:
33232 #line 5643 "gram.y" /* yacc.c:1652  */
33233     { (yyval.chr) = TRIGGER_FIRES_ON_ORIGIN; }
33234 #line 33235 "gram.c" /* yacc.c:1652  */
33235     break;
33236 
33237   case 802:
33238 #line 5644 "gram.y" /* yacc.c:1652  */
33239     { (yyval.chr) = TRIGGER_FIRES_ON_REPLICA; }
33240 #line 33241 "gram.c" /* yacc.c:1652  */
33241     break;
33242 
33243   case 803:
33244 #line 5645 "gram.y" /* yacc.c:1652  */
33245     { (yyval.chr) = TRIGGER_FIRES_ALWAYS; }
33246 #line 33247 "gram.c" /* yacc.c:1652  */
33247     break;
33248 
33249   case 804:
33250 #line 5646 "gram.y" /* yacc.c:1652  */
33251     { (yyval.chr) = TRIGGER_DISABLED; }
33252 #line 33253 "gram.c" /* yacc.c:1652  */
33253     break;
33254 
33255   case 805:
33256 #line 5658 "gram.y" /* yacc.c:1652  */
33257     {
33258 					ereport(ERROR,
33259 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
33260 							 errmsg("CREATE ASSERTION is not yet implemented")));
33261 
33262 					(yyval.node) = NULL;
33263 				}
33264 #line 33265 "gram.c" /* yacc.c:1652  */
33265     break;
33266 
33267   case 806:
33268 #line 5677 "gram.y" /* yacc.c:1652  */
33269     {
33270 					DefineStmt *n = makeNode(DefineStmt);
33271 					n->kind = OBJECT_AGGREGATE;
33272 					n->oldstyle = false;
33273 					n->replace = (yyvsp[-4].boolean);
33274 					n->defnames = (yyvsp[-2].list);
33275 					n->args = (yyvsp[-1].list);
33276 					n->definition = (yyvsp[0].list);
33277 					(yyval.node) = (Node *)n;
33278 				}
33279 #line 33280 "gram.c" /* yacc.c:1652  */
33280     break;
33281 
33282   case 807:
33283 #line 5688 "gram.y" /* yacc.c:1652  */
33284     {
33285 					/* old-style (pre-8.2) syntax for CREATE AGGREGATE */
33286 					DefineStmt *n = makeNode(DefineStmt);
33287 					n->kind = OBJECT_AGGREGATE;
33288 					n->oldstyle = true;
33289 					n->replace = (yyvsp[-3].boolean);
33290 					n->defnames = (yyvsp[-1].list);
33291 					n->args = NIL;
33292 					n->definition = (yyvsp[0].list);
33293 					(yyval.node) = (Node *)n;
33294 				}
33295 #line 33296 "gram.c" /* yacc.c:1652  */
33296     break;
33297 
33298   case 808:
33299 #line 5700 "gram.y" /* yacc.c:1652  */
33300     {
33301 					DefineStmt *n = makeNode(DefineStmt);
33302 					n->kind = OBJECT_OPERATOR;
33303 					n->oldstyle = false;
33304 					n->defnames = (yyvsp[-1].list);
33305 					n->args = NIL;
33306 					n->definition = (yyvsp[0].list);
33307 					(yyval.node) = (Node *)n;
33308 				}
33309 #line 33310 "gram.c" /* yacc.c:1652  */
33310     break;
33311 
33312   case 809:
33313 #line 5710 "gram.y" /* yacc.c:1652  */
33314     {
33315 					DefineStmt *n = makeNode(DefineStmt);
33316 					n->kind = OBJECT_TYPE;
33317 					n->oldstyle = false;
33318 					n->defnames = (yyvsp[-1].list);
33319 					n->args = NIL;
33320 					n->definition = (yyvsp[0].list);
33321 					(yyval.node) = (Node *)n;
33322 				}
33323 #line 33324 "gram.c" /* yacc.c:1652  */
33324     break;
33325 
33326   case 810:
33327 #line 5720 "gram.y" /* yacc.c:1652  */
33328     {
33329 					/* Shell type (identified by lack of definition) */
33330 					DefineStmt *n = makeNode(DefineStmt);
33331 					n->kind = OBJECT_TYPE;
33332 					n->oldstyle = false;
33333 					n->defnames = (yyvsp[0].list);
33334 					n->args = NIL;
33335 					n->definition = NIL;
33336 					(yyval.node) = (Node *)n;
33337 				}
33338 #line 33339 "gram.c" /* yacc.c:1652  */
33339     break;
33340 
33341   case 811:
33342 #line 5731 "gram.y" /* yacc.c:1652  */
33343     {
33344 					CompositeTypeStmt *n = makeNode(CompositeTypeStmt);
33345 
33346 					/* can't use qualified_name, sigh */
33347 					n->typevar = makeRangeVarFromAnyName((yyvsp[-4].list), (yylsp[-4]), yyscanner);
33348 					n->coldeflist = (yyvsp[-1].list);
33349 					(yyval.node) = (Node *)n;
33350 				}
33351 #line 33352 "gram.c" /* yacc.c:1652  */
33352     break;
33353 
33354   case 812:
33355 #line 5740 "gram.y" /* yacc.c:1652  */
33356     {
33357 					CreateEnumStmt *n = makeNode(CreateEnumStmt);
33358 					n->typeName = (yyvsp[-5].list);
33359 					n->vals = (yyvsp[-1].list);
33360 					(yyval.node) = (Node *)n;
33361 				}
33362 #line 33363 "gram.c" /* yacc.c:1652  */
33363     break;
33364 
33365   case 813:
33366 #line 5747 "gram.y" /* yacc.c:1652  */
33367     {
33368 					CreateRangeStmt *n = makeNode(CreateRangeStmt);
33369 					n->typeName = (yyvsp[-3].list);
33370 					n->params	= (yyvsp[0].list);
33371 					(yyval.node) = (Node *)n;
33372 				}
33373 #line 33374 "gram.c" /* yacc.c:1652  */
33374     break;
33375 
33376   case 814:
33377 #line 5754 "gram.y" /* yacc.c:1652  */
33378     {
33379 					DefineStmt *n = makeNode(DefineStmt);
33380 					n->kind = OBJECT_TSPARSER;
33381 					n->args = NIL;
33382 					n->defnames = (yyvsp[-1].list);
33383 					n->definition = (yyvsp[0].list);
33384 					(yyval.node) = (Node *)n;
33385 				}
33386 #line 33387 "gram.c" /* yacc.c:1652  */
33387     break;
33388 
33389   case 815:
33390 #line 5763 "gram.y" /* yacc.c:1652  */
33391     {
33392 					DefineStmt *n = makeNode(DefineStmt);
33393 					n->kind = OBJECT_TSDICTIONARY;
33394 					n->args = NIL;
33395 					n->defnames = (yyvsp[-1].list);
33396 					n->definition = (yyvsp[0].list);
33397 					(yyval.node) = (Node *)n;
33398 				}
33399 #line 33400 "gram.c" /* yacc.c:1652  */
33400     break;
33401 
33402   case 816:
33403 #line 5772 "gram.y" /* yacc.c:1652  */
33404     {
33405 					DefineStmt *n = makeNode(DefineStmt);
33406 					n->kind = OBJECT_TSTEMPLATE;
33407 					n->args = NIL;
33408 					n->defnames = (yyvsp[-1].list);
33409 					n->definition = (yyvsp[0].list);
33410 					(yyval.node) = (Node *)n;
33411 				}
33412 #line 33413 "gram.c" /* yacc.c:1652  */
33413     break;
33414 
33415   case 817:
33416 #line 5781 "gram.y" /* yacc.c:1652  */
33417     {
33418 					DefineStmt *n = makeNode(DefineStmt);
33419 					n->kind = OBJECT_TSCONFIGURATION;
33420 					n->args = NIL;
33421 					n->defnames = (yyvsp[-1].list);
33422 					n->definition = (yyvsp[0].list);
33423 					(yyval.node) = (Node *)n;
33424 				}
33425 #line 33426 "gram.c" /* yacc.c:1652  */
33426     break;
33427 
33428   case 818:
33429 #line 5790 "gram.y" /* yacc.c:1652  */
33430     {
33431 					DefineStmt *n = makeNode(DefineStmt);
33432 					n->kind = OBJECT_COLLATION;
33433 					n->args = NIL;
33434 					n->defnames = (yyvsp[-1].list);
33435 					n->definition = (yyvsp[0].list);
33436 					(yyval.node) = (Node *)n;
33437 				}
33438 #line 33439 "gram.c" /* yacc.c:1652  */
33439     break;
33440 
33441   case 819:
33442 #line 5799 "gram.y" /* yacc.c:1652  */
33443     {
33444 					DefineStmt *n = makeNode(DefineStmt);
33445 					n->kind = OBJECT_COLLATION;
33446 					n->args = NIL;
33447 					n->defnames = (yyvsp[-1].list);
33448 					n->definition = (yyvsp[0].list);
33449 					n->if_not_exists = true;
33450 					(yyval.node) = (Node *)n;
33451 				}
33452 #line 33453 "gram.c" /* yacc.c:1652  */
33453     break;
33454 
33455   case 820:
33456 #line 5809 "gram.y" /* yacc.c:1652  */
33457     {
33458 					DefineStmt *n = makeNode(DefineStmt);
33459 					n->kind = OBJECT_COLLATION;
33460 					n->args = NIL;
33461 					n->defnames = (yyvsp[-2].list);
33462 					n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
33463 					(yyval.node) = (Node *)n;
33464 				}
33465 #line 33466 "gram.c" /* yacc.c:1652  */
33466     break;
33467 
33468   case 821:
33469 #line 5818 "gram.y" /* yacc.c:1652  */
33470     {
33471 					DefineStmt *n = makeNode(DefineStmt);
33472 					n->kind = OBJECT_COLLATION;
33473 					n->args = NIL;
33474 					n->defnames = (yyvsp[-2].list);
33475 					n->definition = list_make1(makeDefElem("from", (Node *) (yyvsp[0].list), (yylsp[0])));
33476 					n->if_not_exists = true;
33477 					(yyval.node) = (Node *)n;
33478 				}
33479 #line 33480 "gram.c" /* yacc.c:1652  */
33480     break;
33481 
33482   case 822:
33483 #line 5829 "gram.y" /* yacc.c:1652  */
33484     { (yyval.list) = (yyvsp[-1].list); }
33485 #line 33486 "gram.c" /* yacc.c:1652  */
33486     break;
33487 
33488   case 823:
33489 #line 5832 "gram.y" /* yacc.c:1652  */
33490     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
33491 #line 33492 "gram.c" /* yacc.c:1652  */
33492     break;
33493 
33494   case 824:
33495 #line 5833 "gram.y" /* yacc.c:1652  */
33496     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
33497 #line 33498 "gram.c" /* yacc.c:1652  */
33498     break;
33499 
33500   case 825:
33501 #line 5837 "gram.y" /* yacc.c:1652  */
33502     {
33503 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2]));
33504 				}
33505 #line 33506 "gram.c" /* yacc.c:1652  */
33506     break;
33507 
33508   case 826:
33509 #line 5841 "gram.y" /* yacc.c:1652  */
33510     {
33511 					(yyval.defelt) = makeDefElem((yyvsp[0].str), NULL, (yylsp[0]));
33512 				}
33513 #line 33514 "gram.c" /* yacc.c:1652  */
33514     break;
33515 
33516   case 827:
33517 #line 5847 "gram.y" /* yacc.c:1652  */
33518     { (yyval.node) = (Node *)(yyvsp[0].typnam); }
33519 #line 33520 "gram.c" /* yacc.c:1652  */
33520     break;
33521 
33522   case 828:
33523 #line 5848 "gram.y" /* yacc.c:1652  */
33524     { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
33525 #line 33526 "gram.c" /* yacc.c:1652  */
33526     break;
33527 
33528   case 829:
33529 #line 5849 "gram.y" /* yacc.c:1652  */
33530     { (yyval.node) = (Node *)(yyvsp[0].list); }
33531 #line 33532 "gram.c" /* yacc.c:1652  */
33532     break;
33533 
33534   case 830:
33535 #line 5850 "gram.y" /* yacc.c:1652  */
33536     { (yyval.node) = (Node *)(yyvsp[0].value); }
33537 #line 33538 "gram.c" /* yacc.c:1652  */
33538     break;
33539 
33540   case 831:
33541 #line 5851 "gram.y" /* yacc.c:1652  */
33542     { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
33543 #line 33544 "gram.c" /* yacc.c:1652  */
33544     break;
33545 
33546   case 832:
33547 #line 5852 "gram.y" /* yacc.c:1652  */
33548     { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
33549 #line 33550 "gram.c" /* yacc.c:1652  */
33550     break;
33551 
33552   case 833:
33553 #line 5855 "gram.y" /* yacc.c:1652  */
33554     { (yyval.list) = (yyvsp[-1].list); }
33555 #line 33556 "gram.c" /* yacc.c:1652  */
33556     break;
33557 
33558   case 834:
33559 #line 5858 "gram.y" /* yacc.c:1652  */
33560     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
33561 #line 33562 "gram.c" /* yacc.c:1652  */
33562     break;
33563 
33564   case 835:
33565 #line 5859 "gram.y" /* yacc.c:1652  */
33566     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
33567 #line 33568 "gram.c" /* yacc.c:1652  */
33568     break;
33569 
33570   case 836:
33571 #line 5868 "gram.y" /* yacc.c:1652  */
33572     {
33573 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)(yyvsp[0].node), (yylsp[-2]));
33574 				}
33575 #line 33576 "gram.c" /* yacc.c:1652  */
33576     break;
33577 
33578   case 837:
33579 #line 5874 "gram.y" /* yacc.c:1652  */
33580     { (yyval.list) = (yyvsp[0].list); }
33581 #line 33582 "gram.c" /* yacc.c:1652  */
33582     break;
33583 
33584   case 838:
33585 #line 5875 "gram.y" /* yacc.c:1652  */
33586     { (yyval.list) = NIL; }
33587 #line 33588 "gram.c" /* yacc.c:1652  */
33588     break;
33589 
33590   case 839:
33591 #line 5879 "gram.y" /* yacc.c:1652  */
33592     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
33593 #line 33594 "gram.c" /* yacc.c:1652  */
33594     break;
33595 
33596   case 840:
33597 #line 5881 "gram.y" /* yacc.c:1652  */
33598     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
33599 #line 33600 "gram.c" /* yacc.c:1652  */
33600     break;
33601 
33602   case 841:
33603 #line 5892 "gram.y" /* yacc.c:1652  */
33604     {
33605 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
33606 				n->typeName = (yyvsp[-4].list);
33607 				n->oldVal = NULL;
33608 				n->newVal = (yyvsp[0].str);
33609 				n->newValNeighbor = NULL;
33610 				n->newValIsAfter = true;
33611 				n->skipIfNewValExists = (yyvsp[-1].boolean);
33612 				(yyval.node) = (Node *) n;
33613 			}
33614 #line 33615 "gram.c" /* yacc.c:1652  */
33615     break;
33616 
33617   case 842:
33618 #line 5903 "gram.y" /* yacc.c:1652  */
33619     {
33620 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
33621 				n->typeName = (yyvsp[-6].list);
33622 				n->oldVal = NULL;
33623 				n->newVal = (yyvsp[-2].str);
33624 				n->newValNeighbor = (yyvsp[0].str);
33625 				n->newValIsAfter = false;
33626 				n->skipIfNewValExists = (yyvsp[-3].boolean);
33627 				(yyval.node) = (Node *) n;
33628 			}
33629 #line 33630 "gram.c" /* yacc.c:1652  */
33630     break;
33631 
33632   case 843:
33633 #line 5914 "gram.y" /* yacc.c:1652  */
33634     {
33635 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
33636 				n->typeName = (yyvsp[-6].list);
33637 				n->oldVal = NULL;
33638 				n->newVal = (yyvsp[-2].str);
33639 				n->newValNeighbor = (yyvsp[0].str);
33640 				n->newValIsAfter = true;
33641 				n->skipIfNewValExists = (yyvsp[-3].boolean);
33642 				(yyval.node) = (Node *) n;
33643 			}
33644 #line 33645 "gram.c" /* yacc.c:1652  */
33645     break;
33646 
33647   case 844:
33648 #line 5925 "gram.y" /* yacc.c:1652  */
33649     {
33650 				AlterEnumStmt *n = makeNode(AlterEnumStmt);
33651 				n->typeName = (yyvsp[-5].list);
33652 				n->oldVal = (yyvsp[-2].str);
33653 				n->newVal = (yyvsp[0].str);
33654 				n->newValNeighbor = NULL;
33655 				n->newValIsAfter = false;
33656 				n->skipIfNewValExists = false;
33657 				(yyval.node) = (Node *) n;
33658 			}
33659 #line 33660 "gram.c" /* yacc.c:1652  */
33660     break;
33661 
33662   case 845:
33663 #line 5937 "gram.y" /* yacc.c:1652  */
33664     { (yyval.boolean) = true; }
33665 #line 33666 "gram.c" /* yacc.c:1652  */
33666     break;
33667 
33668   case 846:
33669 #line 5938 "gram.y" /* yacc.c:1652  */
33670     { (yyval.boolean) = false; }
33671 #line 33672 "gram.c" /* yacc.c:1652  */
33672     break;
33673 
33674   case 847:
33675 #line 5956 "gram.y" /* yacc.c:1652  */
33676     {
33677 					CreateOpClassStmt *n = makeNode(CreateOpClassStmt);
33678 					n->opclassname = (yyvsp[-9].list);
33679 					n->isDefault = (yyvsp[-8].boolean);
33680 					n->datatype = (yyvsp[-5].typnam);
33681 					n->amname = (yyvsp[-3].str);
33682 					n->opfamilyname = (yyvsp[-2].list);
33683 					n->items = (yyvsp[0].list);
33684 					(yyval.node) = (Node *) n;
33685 				}
33686 #line 33687 "gram.c" /* yacc.c:1652  */
33687     break;
33688 
33689   case 848:
33690 #line 5969 "gram.y" /* yacc.c:1652  */
33691     { (yyval.list) = list_make1((yyvsp[0].node)); }
33692 #line 33693 "gram.c" /* yacc.c:1652  */
33693     break;
33694 
33695   case 849:
33696 #line 5970 "gram.y" /* yacc.c:1652  */
33697     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
33698 #line 33699 "gram.c" /* yacc.c:1652  */
33699     break;
33700 
33701   case 850:
33702 #line 5975 "gram.y" /* yacc.c:1652  */
33703     {
33704 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
33705 					ObjectWithArgs *owa = makeNode(ObjectWithArgs);
33706 					owa->objname = (yyvsp[-2].list);
33707 					owa->objargs = NIL;
33708 					n->itemtype = OPCLASS_ITEM_OPERATOR;
33709 					n->name = owa;
33710 					n->number = (yyvsp[-3].ival);
33711 					n->order_family = (yyvsp[-1].list);
33712 					(yyval.node) = (Node *) n;
33713 				}
33714 #line 33715 "gram.c" /* yacc.c:1652  */
33715     break;
33716 
33717   case 851:
33718 #line 5988 "gram.y" /* yacc.c:1652  */
33719     {
33720 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
33721 					n->itemtype = OPCLASS_ITEM_OPERATOR;
33722 					n->name = (yyvsp[-2].objwithargs);
33723 					n->number = (yyvsp[-3].ival);
33724 					n->order_family = (yyvsp[-1].list);
33725 					(yyval.node) = (Node *) n;
33726 				}
33727 #line 33728 "gram.c" /* yacc.c:1652  */
33728     break;
33729 
33730   case 852:
33731 #line 5997 "gram.y" /* yacc.c:1652  */
33732     {
33733 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
33734 					n->itemtype = OPCLASS_ITEM_FUNCTION;
33735 					n->name = (yyvsp[0].objwithargs);
33736 					n->number = (yyvsp[-1].ival);
33737 					(yyval.node) = (Node *) n;
33738 				}
33739 #line 33740 "gram.c" /* yacc.c:1652  */
33740     break;
33741 
33742   case 853:
33743 #line 6005 "gram.y" /* yacc.c:1652  */
33744     {
33745 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
33746 					n->itemtype = OPCLASS_ITEM_FUNCTION;
33747 					n->name = (yyvsp[0].objwithargs);
33748 					n->number = (yyvsp[-4].ival);
33749 					n->class_args = (yyvsp[-2].list);
33750 					(yyval.node) = (Node *) n;
33751 				}
33752 #line 33753 "gram.c" /* yacc.c:1652  */
33753     break;
33754 
33755   case 854:
33756 #line 6014 "gram.y" /* yacc.c:1652  */
33757     {
33758 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
33759 					n->itemtype = OPCLASS_ITEM_STORAGETYPE;
33760 					n->storedtype = (yyvsp[0].typnam);
33761 					(yyval.node) = (Node *) n;
33762 				}
33763 #line 33764 "gram.c" /* yacc.c:1652  */
33764     break;
33765 
33766   case 855:
33767 #line 6022 "gram.y" /* yacc.c:1652  */
33768     { (yyval.boolean) = true; }
33769 #line 33770 "gram.c" /* yacc.c:1652  */
33770     break;
33771 
33772   case 856:
33773 #line 6023 "gram.y" /* yacc.c:1652  */
33774     { (yyval.boolean) = false; }
33775 #line 33776 "gram.c" /* yacc.c:1652  */
33776     break;
33777 
33778   case 857:
33779 #line 6026 "gram.y" /* yacc.c:1652  */
33780     { (yyval.list) = (yyvsp[0].list); }
33781 #line 33782 "gram.c" /* yacc.c:1652  */
33782     break;
33783 
33784   case 858:
33785 #line 6027 "gram.y" /* yacc.c:1652  */
33786     { (yyval.list) = NIL; }
33787 #line 33788 "gram.c" /* yacc.c:1652  */
33788     break;
33789 
33790   case 859:
33791 #line 6030 "gram.y" /* yacc.c:1652  */
33792     { (yyval.list) = NIL; }
33793 #line 33794 "gram.c" /* yacc.c:1652  */
33794     break;
33795 
33796   case 860:
33797 #line 6031 "gram.y" /* yacc.c:1652  */
33798     { (yyval.list) = (yyvsp[0].list); }
33799 #line 33800 "gram.c" /* yacc.c:1652  */
33800     break;
33801 
33802   case 861:
33803 #line 6032 "gram.y" /* yacc.c:1652  */
33804     { (yyval.list) = NIL; }
33805 #line 33806 "gram.c" /* yacc.c:1652  */
33806     break;
33807 
33808   case 862:
33809 #line 6036 "gram.y" /* yacc.c:1652  */
33810     {
33811 					/*
33812 					 * RECHECK no longer does anything in opclass definitions,
33813 					 * but we still accept it to ease porting of old database
33814 					 * dumps.
33815 					 */
33816 					ereport(NOTICE,
33817 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
33818 							 errmsg("RECHECK is no longer required"),
33819 							 errhint("Update your data type."),
33820 							 parser_errposition((yylsp[0]))));
33821 					(yyval.boolean) = true;
33822 				}
33823 #line 33824 "gram.c" /* yacc.c:1652  */
33824     break;
33825 
33826   case 863:
33827 #line 6049 "gram.y" /* yacc.c:1652  */
33828     { (yyval.boolean) = false; }
33829 #line 33830 "gram.c" /* yacc.c:1652  */
33830     break;
33831 
33832   case 864:
33833 #line 6055 "gram.y" /* yacc.c:1652  */
33834     {
33835 					CreateOpFamilyStmt *n = makeNode(CreateOpFamilyStmt);
33836 					n->opfamilyname = (yyvsp[-2].list);
33837 					n->amname = (yyvsp[0].str);
33838 					(yyval.node) = (Node *) n;
33839 				}
33840 #line 33841 "gram.c" /* yacc.c:1652  */
33841     break;
33842 
33843   case 865:
33844 #line 6065 "gram.y" /* yacc.c:1652  */
33845     {
33846 					AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
33847 					n->opfamilyname = (yyvsp[-4].list);
33848 					n->amname = (yyvsp[-2].str);
33849 					n->isDrop = false;
33850 					n->items = (yyvsp[0].list);
33851 					(yyval.node) = (Node *) n;
33852 				}
33853 #line 33854 "gram.c" /* yacc.c:1652  */
33854     break;
33855 
33856   case 866:
33857 #line 6074 "gram.y" /* yacc.c:1652  */
33858     {
33859 					AlterOpFamilyStmt *n = makeNode(AlterOpFamilyStmt);
33860 					n->opfamilyname = (yyvsp[-4].list);
33861 					n->amname = (yyvsp[-2].str);
33862 					n->isDrop = true;
33863 					n->items = (yyvsp[0].list);
33864 					(yyval.node) = (Node *) n;
33865 				}
33866 #line 33867 "gram.c" /* yacc.c:1652  */
33867     break;
33868 
33869   case 867:
33870 #line 6085 "gram.y" /* yacc.c:1652  */
33871     { (yyval.list) = list_make1((yyvsp[0].node)); }
33872 #line 33873 "gram.c" /* yacc.c:1652  */
33873     break;
33874 
33875   case 868:
33876 #line 6086 "gram.y" /* yacc.c:1652  */
33877     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
33878 #line 33879 "gram.c" /* yacc.c:1652  */
33879     break;
33880 
33881   case 869:
33882 #line 6091 "gram.y" /* yacc.c:1652  */
33883     {
33884 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
33885 					n->itemtype = OPCLASS_ITEM_OPERATOR;
33886 					n->number = (yyvsp[-3].ival);
33887 					n->class_args = (yyvsp[-1].list);
33888 					(yyval.node) = (Node *) n;
33889 				}
33890 #line 33891 "gram.c" /* yacc.c:1652  */
33891     break;
33892 
33893   case 870:
33894 #line 6099 "gram.y" /* yacc.c:1652  */
33895     {
33896 					CreateOpClassItem *n = makeNode(CreateOpClassItem);
33897 					n->itemtype = OPCLASS_ITEM_FUNCTION;
33898 					n->number = (yyvsp[-3].ival);
33899 					n->class_args = (yyvsp[-1].list);
33900 					(yyval.node) = (Node *) n;
33901 				}
33902 #line 33903 "gram.c" /* yacc.c:1652  */
33903     break;
33904 
33905   case 871:
33906 #line 6111 "gram.y" /* yacc.c:1652  */
33907     {
33908 					DropStmt *n = makeNode(DropStmt);
33909 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33910 					n->removeType = OBJECT_OPCLASS;
33911 					n->behavior = (yyvsp[0].dbehavior);
33912 					n->missing_ok = false;
33913 					n->concurrent = false;
33914 					(yyval.node) = (Node *) n;
33915 				}
33916 #line 33917 "gram.c" /* yacc.c:1652  */
33917     break;
33918 
33919   case 872:
33920 #line 6121 "gram.y" /* yacc.c:1652  */
33921     {
33922 					DropStmt *n = makeNode(DropStmt);
33923 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33924 					n->removeType = OBJECT_OPCLASS;
33925 					n->behavior = (yyvsp[0].dbehavior);
33926 					n->missing_ok = true;
33927 					n->concurrent = false;
33928 					(yyval.node) = (Node *) n;
33929 				}
33930 #line 33931 "gram.c" /* yacc.c:1652  */
33931     break;
33932 
33933   case 873:
33934 #line 6134 "gram.y" /* yacc.c:1652  */
33935     {
33936 					DropStmt *n = makeNode(DropStmt);
33937 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33938 					n->removeType = OBJECT_OPFAMILY;
33939 					n->behavior = (yyvsp[0].dbehavior);
33940 					n->missing_ok = false;
33941 					n->concurrent = false;
33942 					(yyval.node) = (Node *) n;
33943 				}
33944 #line 33945 "gram.c" /* yacc.c:1652  */
33945     break;
33946 
33947   case 874:
33948 #line 6144 "gram.y" /* yacc.c:1652  */
33949     {
33950 					DropStmt *n = makeNode(DropStmt);
33951 					n->objects = list_make1(lcons(makeString((yyvsp[-1].str)), (yyvsp[-3].list)));
33952 					n->removeType = OBJECT_OPFAMILY;
33953 					n->behavior = (yyvsp[0].dbehavior);
33954 					n->missing_ok = true;
33955 					n->concurrent = false;
33956 					(yyval.node) = (Node *) n;
33957 				}
33958 #line 33959 "gram.c" /* yacc.c:1652  */
33959     break;
33960 
33961   case 875:
33962 #line 6166 "gram.y" /* yacc.c:1652  */
33963     {
33964 					DropOwnedStmt *n = makeNode(DropOwnedStmt);
33965 					n->roles = (yyvsp[-1].list);
33966 					n->behavior = (yyvsp[0].dbehavior);
33967 					(yyval.node) = (Node *)n;
33968 				}
33969 #line 33970 "gram.c" /* yacc.c:1652  */
33970     break;
33971 
33972   case 876:
33973 #line 6176 "gram.y" /* yacc.c:1652  */
33974     {
33975 					ReassignOwnedStmt *n = makeNode(ReassignOwnedStmt);
33976 					n->roles = (yyvsp[-2].list);
33977 					n->newrole = (yyvsp[0].rolespec);
33978 					(yyval.node) = (Node *)n;
33979 				}
33980 #line 33981 "gram.c" /* yacc.c:1652  */
33981     break;
33982 
33983   case 877:
33984 #line 6194 "gram.y" /* yacc.c:1652  */
33985     {
33986 					DropStmt *n = makeNode(DropStmt);
33987 					n->removeType = (yyvsp[-4].objtype);
33988 					n->missing_ok = true;
33989 					n->objects = (yyvsp[-1].list);
33990 					n->behavior = (yyvsp[0].dbehavior);
33991 					n->concurrent = false;
33992 					(yyval.node) = (Node *)n;
33993 				}
33994 #line 33995 "gram.c" /* yacc.c:1652  */
33995     break;
33996 
33997   case 878:
33998 #line 6204 "gram.y" /* yacc.c:1652  */
33999     {
34000 					DropStmt *n = makeNode(DropStmt);
34001 					n->removeType = (yyvsp[-2].objtype);
34002 					n->missing_ok = false;
34003 					n->objects = (yyvsp[-1].list);
34004 					n->behavior = (yyvsp[0].dbehavior);
34005 					n->concurrent = false;
34006 					(yyval.node) = (Node *)n;
34007 				}
34008 #line 34009 "gram.c" /* yacc.c:1652  */
34009     break;
34010 
34011   case 879:
34012 #line 6214 "gram.y" /* yacc.c:1652  */
34013     {
34014 					DropStmt *n = makeNode(DropStmt);
34015 					n->removeType = (yyvsp[-4].objtype);
34016 					n->missing_ok = true;
34017 					n->objects = (yyvsp[-1].list);
34018 					n->behavior = (yyvsp[0].dbehavior);
34019 					n->concurrent = false;
34020 					(yyval.node) = (Node *)n;
34021 				}
34022 #line 34023 "gram.c" /* yacc.c:1652  */
34023     break;
34024 
34025   case 880:
34026 #line 6224 "gram.y" /* yacc.c:1652  */
34027     {
34028 					DropStmt *n = makeNode(DropStmt);
34029 					n->removeType = (yyvsp[-2].objtype);
34030 					n->missing_ok = false;
34031 					n->objects = (yyvsp[-1].list);
34032 					n->behavior = (yyvsp[0].dbehavior);
34033 					n->concurrent = false;
34034 					(yyval.node) = (Node *)n;
34035 				}
34036 #line 34037 "gram.c" /* yacc.c:1652  */
34037     break;
34038 
34039   case 881:
34040 #line 6234 "gram.y" /* yacc.c:1652  */
34041     {
34042 					DropStmt *n = makeNode(DropStmt);
34043 					n->removeType = (yyvsp[-4].objtype);
34044 					n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
34045 					n->behavior = (yyvsp[0].dbehavior);
34046 					n->missing_ok = false;
34047 					n->concurrent = false;
34048 					(yyval.node) = (Node *) n;
34049 				}
34050 #line 34051 "gram.c" /* yacc.c:1652  */
34051     break;
34052 
34053   case 882:
34054 #line 6244 "gram.y" /* yacc.c:1652  */
34055     {
34056 					DropStmt *n = makeNode(DropStmt);
34057 					n->removeType = (yyvsp[-6].objtype);
34058 					n->objects = list_make1(lappend((yyvsp[-1].list), makeString((yyvsp[-3].str))));
34059 					n->behavior = (yyvsp[0].dbehavior);
34060 					n->missing_ok = true;
34061 					n->concurrent = false;
34062 					(yyval.node) = (Node *) n;
34063 				}
34064 #line 34065 "gram.c" /* yacc.c:1652  */
34065     break;
34066 
34067   case 883:
34068 #line 6254 "gram.y" /* yacc.c:1652  */
34069     {
34070 					DropStmt *n = makeNode(DropStmt);
34071 					n->removeType = OBJECT_TYPE;
34072 					n->missing_ok = false;
34073 					n->objects = (yyvsp[-1].list);
34074 					n->behavior = (yyvsp[0].dbehavior);
34075 					n->concurrent = false;
34076 					(yyval.node) = (Node *) n;
34077 				}
34078 #line 34079 "gram.c" /* yacc.c:1652  */
34079     break;
34080 
34081   case 884:
34082 #line 6264 "gram.y" /* yacc.c:1652  */
34083     {
34084 					DropStmt *n = makeNode(DropStmt);
34085 					n->removeType = OBJECT_TYPE;
34086 					n->missing_ok = true;
34087 					n->objects = (yyvsp[-1].list);
34088 					n->behavior = (yyvsp[0].dbehavior);
34089 					n->concurrent = false;
34090 					(yyval.node) = (Node *) n;
34091 				}
34092 #line 34093 "gram.c" /* yacc.c:1652  */
34093     break;
34094 
34095   case 885:
34096 #line 6274 "gram.y" /* yacc.c:1652  */
34097     {
34098 					DropStmt *n = makeNode(DropStmt);
34099 					n->removeType = OBJECT_DOMAIN;
34100 					n->missing_ok = false;
34101 					n->objects = (yyvsp[-1].list);
34102 					n->behavior = (yyvsp[0].dbehavior);
34103 					n->concurrent = false;
34104 					(yyval.node) = (Node *) n;
34105 				}
34106 #line 34107 "gram.c" /* yacc.c:1652  */
34107     break;
34108 
34109   case 886:
34110 #line 6284 "gram.y" /* yacc.c:1652  */
34111     {
34112 					DropStmt *n = makeNode(DropStmt);
34113 					n->removeType = OBJECT_DOMAIN;
34114 					n->missing_ok = true;
34115 					n->objects = (yyvsp[-1].list);
34116 					n->behavior = (yyvsp[0].dbehavior);
34117 					n->concurrent = false;
34118 					(yyval.node) = (Node *) n;
34119 				}
34120 #line 34121 "gram.c" /* yacc.c:1652  */
34121     break;
34122 
34123   case 887:
34124 #line 6294 "gram.y" /* yacc.c:1652  */
34125     {
34126 					DropStmt *n = makeNode(DropStmt);
34127 					n->removeType = OBJECT_INDEX;
34128 					n->missing_ok = false;
34129 					n->objects = (yyvsp[-1].list);
34130 					n->behavior = (yyvsp[0].dbehavior);
34131 					n->concurrent = true;
34132 					(yyval.node) = (Node *)n;
34133 				}
34134 #line 34135 "gram.c" /* yacc.c:1652  */
34135     break;
34136 
34137   case 888:
34138 #line 6304 "gram.y" /* yacc.c:1652  */
34139     {
34140 					DropStmt *n = makeNode(DropStmt);
34141 					n->removeType = OBJECT_INDEX;
34142 					n->missing_ok = true;
34143 					n->objects = (yyvsp[-1].list);
34144 					n->behavior = (yyvsp[0].dbehavior);
34145 					n->concurrent = true;
34146 					(yyval.node) = (Node *)n;
34147 				}
34148 #line 34149 "gram.c" /* yacc.c:1652  */
34149     break;
34150 
34151   case 889:
34152 #line 6317 "gram.y" /* yacc.c:1652  */
34153     { (yyval.objtype) = OBJECT_TABLE; }
34154 #line 34155 "gram.c" /* yacc.c:1652  */
34155     break;
34156 
34157   case 890:
34158 #line 6318 "gram.y" /* yacc.c:1652  */
34159     { (yyval.objtype) = OBJECT_SEQUENCE; }
34160 #line 34161 "gram.c" /* yacc.c:1652  */
34161     break;
34162 
34163   case 891:
34164 #line 6319 "gram.y" /* yacc.c:1652  */
34165     { (yyval.objtype) = OBJECT_VIEW; }
34166 #line 34167 "gram.c" /* yacc.c:1652  */
34167     break;
34168 
34169   case 892:
34170 #line 6320 "gram.y" /* yacc.c:1652  */
34171     { (yyval.objtype) = OBJECT_MATVIEW; }
34172 #line 34173 "gram.c" /* yacc.c:1652  */
34173     break;
34174 
34175   case 893:
34176 #line 6321 "gram.y" /* yacc.c:1652  */
34177     { (yyval.objtype) = OBJECT_INDEX; }
34178 #line 34179 "gram.c" /* yacc.c:1652  */
34179     break;
34180 
34181   case 894:
34182 #line 6322 "gram.y" /* yacc.c:1652  */
34183     { (yyval.objtype) = OBJECT_FOREIGN_TABLE; }
34184 #line 34185 "gram.c" /* yacc.c:1652  */
34185     break;
34186 
34187   case 895:
34188 #line 6323 "gram.y" /* yacc.c:1652  */
34189     { (yyval.objtype) = OBJECT_COLLATION; }
34190 #line 34191 "gram.c" /* yacc.c:1652  */
34191     break;
34192 
34193   case 896:
34194 #line 6324 "gram.y" /* yacc.c:1652  */
34195     { (yyval.objtype) = OBJECT_CONVERSION; }
34196 #line 34197 "gram.c" /* yacc.c:1652  */
34197     break;
34198 
34199   case 897:
34200 #line 6325 "gram.y" /* yacc.c:1652  */
34201     { (yyval.objtype) = OBJECT_STATISTIC_EXT; }
34202 #line 34203 "gram.c" /* yacc.c:1652  */
34203     break;
34204 
34205   case 898:
34206 #line 6326 "gram.y" /* yacc.c:1652  */
34207     { (yyval.objtype) = OBJECT_TSPARSER; }
34208 #line 34209 "gram.c" /* yacc.c:1652  */
34209     break;
34210 
34211   case 899:
34212 #line 6327 "gram.y" /* yacc.c:1652  */
34213     { (yyval.objtype) = OBJECT_TSDICTIONARY; }
34214 #line 34215 "gram.c" /* yacc.c:1652  */
34215     break;
34216 
34217   case 900:
34218 #line 6328 "gram.y" /* yacc.c:1652  */
34219     { (yyval.objtype) = OBJECT_TSTEMPLATE; }
34220 #line 34221 "gram.c" /* yacc.c:1652  */
34221     break;
34222 
34223   case 901:
34224 #line 6329 "gram.y" /* yacc.c:1652  */
34225     { (yyval.objtype) = OBJECT_TSCONFIGURATION; }
34226 #line 34227 "gram.c" /* yacc.c:1652  */
34227     break;
34228 
34229   case 902:
34230 #line 6339 "gram.y" /* yacc.c:1652  */
34231     { (yyval.objtype) = (yyvsp[0].objtype); }
34232 #line 34233 "gram.c" /* yacc.c:1652  */
34233     break;
34234 
34235   case 903:
34236 #line 6340 "gram.y" /* yacc.c:1652  */
34237     { (yyval.objtype) = OBJECT_DATABASE; }
34238 #line 34239 "gram.c" /* yacc.c:1652  */
34239     break;
34240 
34241   case 904:
34242 #line 6341 "gram.y" /* yacc.c:1652  */
34243     { (yyval.objtype) = OBJECT_ROLE; }
34244 #line 34245 "gram.c" /* yacc.c:1652  */
34245     break;
34246 
34247   case 905:
34248 #line 6342 "gram.y" /* yacc.c:1652  */
34249     { (yyval.objtype) = OBJECT_SUBSCRIPTION; }
34250 #line 34251 "gram.c" /* yacc.c:1652  */
34251     break;
34252 
34253   case 906:
34254 #line 6343 "gram.y" /* yacc.c:1652  */
34255     { (yyval.objtype) = OBJECT_TABLESPACE; }
34256 #line 34257 "gram.c" /* yacc.c:1652  */
34257     break;
34258 
34259   case 907:
34260 #line 6347 "gram.y" /* yacc.c:1652  */
34261     { (yyval.objtype) = OBJECT_ACCESS_METHOD; }
34262 #line 34263 "gram.c" /* yacc.c:1652  */
34263     break;
34264 
34265   case 908:
34266 #line 6348 "gram.y" /* yacc.c:1652  */
34267     { (yyval.objtype) = OBJECT_EVENT_TRIGGER; }
34268 #line 34269 "gram.c" /* yacc.c:1652  */
34269     break;
34270 
34271   case 909:
34272 #line 6349 "gram.y" /* yacc.c:1652  */
34273     { (yyval.objtype) = OBJECT_EXTENSION; }
34274 #line 34275 "gram.c" /* yacc.c:1652  */
34275     break;
34276 
34277   case 910:
34278 #line 6350 "gram.y" /* yacc.c:1652  */
34279     { (yyval.objtype) = OBJECT_FDW; }
34280 #line 34281 "gram.c" /* yacc.c:1652  */
34281     break;
34282 
34283   case 911:
34284 #line 6351 "gram.y" /* yacc.c:1652  */
34285     { (yyval.objtype) = OBJECT_LANGUAGE; }
34286 #line 34287 "gram.c" /* yacc.c:1652  */
34287     break;
34288 
34289   case 912:
34290 #line 6352 "gram.y" /* yacc.c:1652  */
34291     { (yyval.objtype) = OBJECT_PUBLICATION; }
34292 #line 34293 "gram.c" /* yacc.c:1652  */
34293     break;
34294 
34295   case 913:
34296 #line 6353 "gram.y" /* yacc.c:1652  */
34297     { (yyval.objtype) = OBJECT_SCHEMA; }
34298 #line 34299 "gram.c" /* yacc.c:1652  */
34299     break;
34300 
34301   case 914:
34302 #line 6354 "gram.y" /* yacc.c:1652  */
34303     { (yyval.objtype) = OBJECT_FOREIGN_SERVER; }
34304 #line 34305 "gram.c" /* yacc.c:1652  */
34305     break;
34306 
34307   case 915:
34308 #line 6359 "gram.y" /* yacc.c:1652  */
34309     { (yyval.objtype) = OBJECT_POLICY; }
34310 #line 34311 "gram.c" /* yacc.c:1652  */
34311     break;
34312 
34313   case 916:
34314 #line 6360 "gram.y" /* yacc.c:1652  */
34315     { (yyval.objtype) = OBJECT_RULE; }
34316 #line 34317 "gram.c" /* yacc.c:1652  */
34317     break;
34318 
34319   case 917:
34320 #line 6361 "gram.y" /* yacc.c:1652  */
34321     { (yyval.objtype) = OBJECT_TRIGGER; }
34322 #line 34323 "gram.c" /* yacc.c:1652  */
34323     break;
34324 
34325   case 918:
34326 #line 6365 "gram.y" /* yacc.c:1652  */
34327     { (yyval.list) = list_make1((yyvsp[0].list)); }
34328 #line 34329 "gram.c" /* yacc.c:1652  */
34329     break;
34330 
34331   case 919:
34332 #line 6366 "gram.y" /* yacc.c:1652  */
34333     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
34334 #line 34335 "gram.c" /* yacc.c:1652  */
34335     break;
34336 
34337   case 920:
34338 #line 6369 "gram.y" /* yacc.c:1652  */
34339     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
34340 #line 34341 "gram.c" /* yacc.c:1652  */
34341     break;
34342 
34343   case 921:
34344 #line 6370 "gram.y" /* yacc.c:1652  */
34345     { (yyval.list) = lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)); }
34346 #line 34347 "gram.c" /* yacc.c:1652  */
34347     break;
34348 
34349   case 922:
34350 #line 6374 "gram.y" /* yacc.c:1652  */
34351     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
34352 #line 34353 "gram.c" /* yacc.c:1652  */
34353     break;
34354 
34355   case 923:
34356 #line 6376 "gram.y" /* yacc.c:1652  */
34357     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
34358 #line 34359 "gram.c" /* yacc.c:1652  */
34359     break;
34360 
34361   case 924:
34362 #line 6380 "gram.y" /* yacc.c:1652  */
34363     { (yyval.list) = list_make1((yyvsp[0].typnam)); }
34364 #line 34365 "gram.c" /* yacc.c:1652  */
34365     break;
34366 
34367   case 925:
34368 #line 6381 "gram.y" /* yacc.c:1652  */
34369     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
34370 #line 34371 "gram.c" /* yacc.c:1652  */
34371     break;
34372 
34373   case 926:
34374 #line 6393 "gram.y" /* yacc.c:1652  */
34375     {
34376 					TruncateStmt *n = makeNode(TruncateStmt);
34377 					n->relations = (yyvsp[-2].list);
34378 					n->restart_seqs = (yyvsp[-1].boolean);
34379 					n->behavior = (yyvsp[0].dbehavior);
34380 					(yyval.node) = (Node *)n;
34381 				}
34382 #line 34383 "gram.c" /* yacc.c:1652  */
34383     break;
34384 
34385   case 927:
34386 #line 6403 "gram.y" /* yacc.c:1652  */
34387     { (yyval.boolean) = false; }
34388 #line 34389 "gram.c" /* yacc.c:1652  */
34389     break;
34390 
34391   case 928:
34392 #line 6404 "gram.y" /* yacc.c:1652  */
34393     { (yyval.boolean) = true; }
34394 #line 34395 "gram.c" /* yacc.c:1652  */
34395     break;
34396 
34397   case 929:
34398 #line 6405 "gram.y" /* yacc.c:1652  */
34399     { (yyval.boolean) = false; }
34400 #line 34401 "gram.c" /* yacc.c:1652  */
34401     break;
34402 
34403   case 930:
34404 #line 6416 "gram.y" /* yacc.c:1652  */
34405     {
34406 					CommentStmt *n = makeNode(CommentStmt);
34407 					n->objtype = (yyvsp[-3].objtype);
34408 					n->object = (Node *) (yyvsp[-2].list);
34409 					n->comment = (yyvsp[0].str);
34410 					(yyval.node) = (Node *) n;
34411 				}
34412 #line 34413 "gram.c" /* yacc.c:1652  */
34413     break;
34414 
34415   case 931:
34416 #line 6424 "gram.y" /* yacc.c:1652  */
34417     {
34418 					CommentStmt *n = makeNode(CommentStmt);
34419 					n->objtype = OBJECT_COLUMN;
34420 					n->object = (Node *) (yyvsp[-2].list);
34421 					n->comment = (yyvsp[0].str);
34422 					(yyval.node) = (Node *) n;
34423 				}
34424 #line 34425 "gram.c" /* yacc.c:1652  */
34425     break;
34426 
34427   case 932:
34428 #line 6432 "gram.y" /* yacc.c:1652  */
34429     {
34430 					CommentStmt *n = makeNode(CommentStmt);
34431 					n->objtype = (yyvsp[-3].objtype);
34432 					n->object = (Node *) makeString((yyvsp[-2].str));
34433 					n->comment = (yyvsp[0].str);
34434 					(yyval.node) = (Node *) n;
34435 				}
34436 #line 34437 "gram.c" /* yacc.c:1652  */
34437     break;
34438 
34439   case 933:
34440 #line 6440 "gram.y" /* yacc.c:1652  */
34441     {
34442 					CommentStmt *n = makeNode(CommentStmt);
34443 					n->objtype = OBJECT_TYPE;
34444 					n->object = (Node *) (yyvsp[-2].typnam);
34445 					n->comment = (yyvsp[0].str);
34446 					(yyval.node) = (Node *) n;
34447 				}
34448 #line 34449 "gram.c" /* yacc.c:1652  */
34449     break;
34450 
34451   case 934:
34452 #line 6448 "gram.y" /* yacc.c:1652  */
34453     {
34454 					CommentStmt *n = makeNode(CommentStmt);
34455 					n->objtype = OBJECT_DOMAIN;
34456 					n->object = (Node *) (yyvsp[-2].typnam);
34457 					n->comment = (yyvsp[0].str);
34458 					(yyval.node) = (Node *) n;
34459 				}
34460 #line 34461 "gram.c" /* yacc.c:1652  */
34461     break;
34462 
34463   case 935:
34464 #line 6456 "gram.y" /* yacc.c:1652  */
34465     {
34466 					CommentStmt *n = makeNode(CommentStmt);
34467 					n->objtype = OBJECT_AGGREGATE;
34468 					n->object = (Node *) (yyvsp[-2].objwithargs);
34469 					n->comment = (yyvsp[0].str);
34470 					(yyval.node) = (Node *) n;
34471 				}
34472 #line 34473 "gram.c" /* yacc.c:1652  */
34473     break;
34474 
34475   case 936:
34476 #line 6464 "gram.y" /* yacc.c:1652  */
34477     {
34478 					CommentStmt *n = makeNode(CommentStmt);
34479 					n->objtype = OBJECT_FUNCTION;
34480 					n->object = (Node *) (yyvsp[-2].objwithargs);
34481 					n->comment = (yyvsp[0].str);
34482 					(yyval.node) = (Node *) n;
34483 				}
34484 #line 34485 "gram.c" /* yacc.c:1652  */
34485     break;
34486 
34487   case 937:
34488 #line 6472 "gram.y" /* yacc.c:1652  */
34489     {
34490 					CommentStmt *n = makeNode(CommentStmt);
34491 					n->objtype = OBJECT_OPERATOR;
34492 					n->object = (Node *) (yyvsp[-2].objwithargs);
34493 					n->comment = (yyvsp[0].str);
34494 					(yyval.node) = (Node *) n;
34495 				}
34496 #line 34497 "gram.c" /* yacc.c:1652  */
34497     break;
34498 
34499   case 938:
34500 #line 6480 "gram.y" /* yacc.c:1652  */
34501     {
34502 					CommentStmt *n = makeNode(CommentStmt);
34503 					n->objtype = OBJECT_TABCONSTRAINT;
34504 					n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
34505 					n->comment = (yyvsp[0].str);
34506 					(yyval.node) = (Node *) n;
34507 				}
34508 #line 34509 "gram.c" /* yacc.c:1652  */
34509     break;
34510 
34511   case 939:
34512 #line 6488 "gram.y" /* yacc.c:1652  */
34513     {
34514 					CommentStmt *n = makeNode(CommentStmt);
34515 					n->objtype = OBJECT_DOMCONSTRAINT;
34516 					/*
34517 					 * should use Typename not any_name in the production, but
34518 					 * there's a shift/reduce conflict if we do that, so fix it
34519 					 * up here.
34520 					 */
34521 					n->object = (Node *) list_make2(makeTypeNameFromNameList((yyvsp[-2].list)), makeString((yyvsp[-5].str)));
34522 					n->comment = (yyvsp[0].str);
34523 					(yyval.node) = (Node *) n;
34524 				}
34525 #line 34526 "gram.c" /* yacc.c:1652  */
34526     break;
34527 
34528   case 940:
34529 #line 6501 "gram.y" /* yacc.c:1652  */
34530     {
34531 					CommentStmt *n = makeNode(CommentStmt);
34532 					n->objtype = (yyvsp[-5].objtype);
34533 					n->object = (Node *) lappend((yyvsp[-2].list), makeString((yyvsp[-4].str)));
34534 					n->comment = (yyvsp[0].str);
34535 					(yyval.node) = (Node *) n;
34536 				}
34537 #line 34538 "gram.c" /* yacc.c:1652  */
34538     break;
34539 
34540   case 941:
34541 #line 6509 "gram.y" /* yacc.c:1652  */
34542     {
34543 					CommentStmt *n = makeNode(CommentStmt);
34544 					n->objtype = OBJECT_PROCEDURE;
34545 					n->object = (Node *) (yyvsp[-2].objwithargs);
34546 					n->comment = (yyvsp[0].str);
34547 					(yyval.node) = (Node *) n;
34548 				}
34549 #line 34550 "gram.c" /* yacc.c:1652  */
34550     break;
34551 
34552   case 942:
34553 #line 6517 "gram.y" /* yacc.c:1652  */
34554     {
34555 					CommentStmt *n = makeNode(CommentStmt);
34556 					n->objtype = OBJECT_ROUTINE;
34557 					n->object = (Node *) (yyvsp[-2].objwithargs);
34558 					n->comment = (yyvsp[0].str);
34559 					(yyval.node) = (Node *) n;
34560 				}
34561 #line 34562 "gram.c" /* yacc.c:1652  */
34562     break;
34563 
34564   case 943:
34565 #line 6525 "gram.y" /* yacc.c:1652  */
34566     {
34567 					CommentStmt *n = makeNode(CommentStmt);
34568 					n->objtype = OBJECT_TRANSFORM;
34569 					n->object = (Node *) list_make2((yyvsp[-4].typnam), makeString((yyvsp[-2].str)));
34570 					n->comment = (yyvsp[0].str);
34571 					(yyval.node) = (Node *) n;
34572 				}
34573 #line 34574 "gram.c" /* yacc.c:1652  */
34574     break;
34575 
34576   case 944:
34577 #line 6533 "gram.y" /* yacc.c:1652  */
34578     {
34579 					CommentStmt *n = makeNode(CommentStmt);
34580 					n->objtype = OBJECT_OPCLASS;
34581 					n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
34582 					n->comment = (yyvsp[0].str);
34583 					(yyval.node) = (Node *) n;
34584 				}
34585 #line 34586 "gram.c" /* yacc.c:1652  */
34586     break;
34587 
34588   case 945:
34589 #line 6541 "gram.y" /* yacc.c:1652  */
34590     {
34591 					CommentStmt *n = makeNode(CommentStmt);
34592 					n->objtype = OBJECT_OPFAMILY;
34593 					n->object = (Node *) lcons(makeString((yyvsp[-2].str)), (yyvsp[-4].list));
34594 					n->comment = (yyvsp[0].str);
34595 					(yyval.node) = (Node *) n;
34596 				}
34597 #line 34598 "gram.c" /* yacc.c:1652  */
34598     break;
34599 
34600   case 946:
34601 #line 6549 "gram.y" /* yacc.c:1652  */
34602     {
34603 					CommentStmt *n = makeNode(CommentStmt);
34604 					n->objtype = OBJECT_LARGEOBJECT;
34605 					n->object = (Node *) (yyvsp[-2].value);
34606 					n->comment = (yyvsp[0].str);
34607 					(yyval.node) = (Node *) n;
34608 				}
34609 #line 34610 "gram.c" /* yacc.c:1652  */
34610     break;
34611 
34612   case 947:
34613 #line 6557 "gram.y" /* yacc.c:1652  */
34614     {
34615 					CommentStmt *n = makeNode(CommentStmt);
34616 					n->objtype = OBJECT_CAST;
34617 					n->object = (Node *) list_make2((yyvsp[-5].typnam), (yyvsp[-3].typnam));
34618 					n->comment = (yyvsp[0].str);
34619 					(yyval.node) = (Node *) n;
34620 				}
34621 #line 34622 "gram.c" /* yacc.c:1652  */
34622     break;
34623 
34624   case 948:
34625 #line 6567 "gram.y" /* yacc.c:1652  */
34626     { (yyval.str) = (yyvsp[0].str); }
34627 #line 34628 "gram.c" /* yacc.c:1652  */
34628     break;
34629 
34630   case 949:
34631 #line 6568 "gram.y" /* yacc.c:1652  */
34632     { (yyval.str) = NULL; }
34633 #line 34634 "gram.c" /* yacc.c:1652  */
34634     break;
34635 
34636   case 950:
34637 #line 6584 "gram.y" /* yacc.c:1652  */
34638     {
34639 					SecLabelStmt *n = makeNode(SecLabelStmt);
34640 					n->provider = (yyvsp[-5].str);
34641 					n->objtype = (yyvsp[-3].objtype);
34642 					n->object = (Node *) (yyvsp[-2].list);
34643 					n->label = (yyvsp[0].str);
34644 					(yyval.node) = (Node *) n;
34645 				}
34646 #line 34647 "gram.c" /* yacc.c:1652  */
34647     break;
34648 
34649   case 951:
34650 #line 6594 "gram.y" /* yacc.c:1652  */
34651     {
34652 					SecLabelStmt *n = makeNode(SecLabelStmt);
34653 					n->provider = (yyvsp[-5].str);
34654 					n->objtype = OBJECT_COLUMN;
34655 					n->object = (Node *) (yyvsp[-2].list);
34656 					n->label = (yyvsp[0].str);
34657 					(yyval.node) = (Node *) n;
34658 				}
34659 #line 34660 "gram.c" /* yacc.c:1652  */
34660     break;
34661 
34662   case 952:
34663 #line 6604 "gram.y" /* yacc.c:1652  */
34664     {
34665 					SecLabelStmt *n = makeNode(SecLabelStmt);
34666 					n->provider = (yyvsp[-5].str);
34667 					n->objtype = (yyvsp[-3].objtype);
34668 					n->object = (Node *) makeString((yyvsp[-2].str));
34669 					n->label = (yyvsp[0].str);
34670 					(yyval.node) = (Node *) n;
34671 				}
34672 #line 34673 "gram.c" /* yacc.c:1652  */
34673     break;
34674 
34675   case 953:
34676 #line 6614 "gram.y" /* yacc.c:1652  */
34677     {
34678 					SecLabelStmt *n = makeNode(SecLabelStmt);
34679 					n->provider = (yyvsp[-5].str);
34680 					n->objtype = OBJECT_TYPE;
34681 					n->object = (Node *) (yyvsp[-2].typnam);
34682 					n->label = (yyvsp[0].str);
34683 					(yyval.node) = (Node *) n;
34684 				}
34685 #line 34686 "gram.c" /* yacc.c:1652  */
34686     break;
34687 
34688   case 954:
34689 #line 6624 "gram.y" /* yacc.c:1652  */
34690     {
34691 					SecLabelStmt *n = makeNode(SecLabelStmt);
34692 					n->provider = (yyvsp[-5].str);
34693 					n->objtype = OBJECT_DOMAIN;
34694 					n->object = (Node *) (yyvsp[-2].typnam);
34695 					n->label = (yyvsp[0].str);
34696 					(yyval.node) = (Node *) n;
34697 				}
34698 #line 34699 "gram.c" /* yacc.c:1652  */
34699     break;
34700 
34701   case 955:
34702 #line 6634 "gram.y" /* yacc.c:1652  */
34703     {
34704 					SecLabelStmt *n = makeNode(SecLabelStmt);
34705 					n->provider = (yyvsp[-5].str);
34706 					n->objtype = OBJECT_AGGREGATE;
34707 					n->object = (Node *) (yyvsp[-2].objwithargs);
34708 					n->label = (yyvsp[0].str);
34709 					(yyval.node) = (Node *) n;
34710 				}
34711 #line 34712 "gram.c" /* yacc.c:1652  */
34712     break;
34713 
34714   case 956:
34715 #line 6644 "gram.y" /* yacc.c:1652  */
34716     {
34717 					SecLabelStmt *n = makeNode(SecLabelStmt);
34718 					n->provider = (yyvsp[-5].str);
34719 					n->objtype = OBJECT_FUNCTION;
34720 					n->object = (Node *) (yyvsp[-2].objwithargs);
34721 					n->label = (yyvsp[0].str);
34722 					(yyval.node) = (Node *) n;
34723 				}
34724 #line 34725 "gram.c" /* yacc.c:1652  */
34725     break;
34726 
34727   case 957:
34728 #line 6654 "gram.y" /* yacc.c:1652  */
34729     {
34730 					SecLabelStmt *n = makeNode(SecLabelStmt);
34731 					n->provider = (yyvsp[-6].str);
34732 					n->objtype = OBJECT_LARGEOBJECT;
34733 					n->object = (Node *) (yyvsp[-2].value);
34734 					n->label = (yyvsp[0].str);
34735 					(yyval.node) = (Node *) n;
34736 				}
34737 #line 34738 "gram.c" /* yacc.c:1652  */
34738     break;
34739 
34740   case 958:
34741 #line 6664 "gram.y" /* yacc.c:1652  */
34742     {
34743 					SecLabelStmt *n = makeNode(SecLabelStmt);
34744 					n->provider = (yyvsp[-5].str);
34745 					n->objtype = OBJECT_PROCEDURE;
34746 					n->object = (Node *) (yyvsp[-2].objwithargs);
34747 					n->label = (yyvsp[0].str);
34748 					(yyval.node) = (Node *) n;
34749 				}
34750 #line 34751 "gram.c" /* yacc.c:1652  */
34751     break;
34752 
34753   case 959:
34754 #line 6674 "gram.y" /* yacc.c:1652  */
34755     {
34756 					SecLabelStmt *n = makeNode(SecLabelStmt);
34757 					n->provider = (yyvsp[-5].str);
34758 					n->objtype = OBJECT_ROUTINE;
34759 					n->object = (Node *) (yyvsp[-2].objwithargs);
34760 					n->label = (yyvsp[0].str);
34761 					(yyval.node) = (Node *) n;
34762 				}
34763 #line 34764 "gram.c" /* yacc.c:1652  */
34764     break;
34765 
34766   case 960:
34767 #line 6684 "gram.y" /* yacc.c:1652  */
34768     { (yyval.str) = (yyvsp[0].str); }
34769 #line 34770 "gram.c" /* yacc.c:1652  */
34770     break;
34771 
34772   case 961:
34773 #line 6685 "gram.y" /* yacc.c:1652  */
34774     { (yyval.str) = NULL; }
34775 #line 34776 "gram.c" /* yacc.c:1652  */
34776     break;
34777 
34778   case 962:
34779 #line 6688 "gram.y" /* yacc.c:1652  */
34780     { (yyval.str) = (yyvsp[0].str); }
34781 #line 34782 "gram.c" /* yacc.c:1652  */
34782     break;
34783 
34784   case 963:
34785 #line 6689 "gram.y" /* yacc.c:1652  */
34786     { (yyval.str) = NULL; }
34787 #line 34788 "gram.c" /* yacc.c:1652  */
34788     break;
34789 
34790   case 964:
34791 #line 6700 "gram.y" /* yacc.c:1652  */
34792     {
34793 					FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
34794 					n->ismove = false;
34795 					(yyval.node) = (Node *)n;
34796 				}
34797 #line 34798 "gram.c" /* yacc.c:1652  */
34798     break;
34799 
34800   case 965:
34801 #line 6706 "gram.y" /* yacc.c:1652  */
34802     {
34803 					FetchStmt *n = (FetchStmt *) (yyvsp[0].node);
34804 					n->ismove = true;
34805 					(yyval.node) = (Node *)n;
34806 				}
34807 #line 34808 "gram.c" /* yacc.c:1652  */
34808     break;
34809 
34810   case 966:
34811 #line 6714 "gram.y" /* yacc.c:1652  */
34812     {
34813 					FetchStmt *n = makeNode(FetchStmt);
34814 					n->portalname = (yyvsp[0].str);
34815 					n->direction = FETCH_FORWARD;
34816 					n->howMany = 1;
34817 					(yyval.node) = (Node *)n;
34818 				}
34819 #line 34820 "gram.c" /* yacc.c:1652  */
34820     break;
34821 
34822   case 967:
34823 #line 6722 "gram.y" /* yacc.c:1652  */
34824     {
34825 					FetchStmt *n = makeNode(FetchStmt);
34826 					n->portalname = (yyvsp[0].str);
34827 					n->direction = FETCH_FORWARD;
34828 					n->howMany = 1;
34829 					(yyval.node) = (Node *)n;
34830 				}
34831 #line 34832 "gram.c" /* yacc.c:1652  */
34832     break;
34833 
34834   case 968:
34835 #line 6730 "gram.y" /* yacc.c:1652  */
34836     {
34837 					FetchStmt *n = makeNode(FetchStmt);
34838 					n->portalname = (yyvsp[0].str);
34839 					n->direction = FETCH_FORWARD;
34840 					n->howMany = 1;
34841 					(yyval.node) = (Node *)n;
34842 				}
34843 #line 34844 "gram.c" /* yacc.c:1652  */
34844     break;
34845 
34846   case 969:
34847 #line 6738 "gram.y" /* yacc.c:1652  */
34848     {
34849 					FetchStmt *n = makeNode(FetchStmt);
34850 					n->portalname = (yyvsp[0].str);
34851 					n->direction = FETCH_BACKWARD;
34852 					n->howMany = 1;
34853 					(yyval.node) = (Node *)n;
34854 				}
34855 #line 34856 "gram.c" /* yacc.c:1652  */
34856     break;
34857 
34858   case 970:
34859 #line 6746 "gram.y" /* yacc.c:1652  */
34860     {
34861 					FetchStmt *n = makeNode(FetchStmt);
34862 					n->portalname = (yyvsp[0].str);
34863 					n->direction = FETCH_ABSOLUTE;
34864 					n->howMany = 1;
34865 					(yyval.node) = (Node *)n;
34866 				}
34867 #line 34868 "gram.c" /* yacc.c:1652  */
34868     break;
34869 
34870   case 971:
34871 #line 6754 "gram.y" /* yacc.c:1652  */
34872     {
34873 					FetchStmt *n = makeNode(FetchStmt);
34874 					n->portalname = (yyvsp[0].str);
34875 					n->direction = FETCH_ABSOLUTE;
34876 					n->howMany = -1;
34877 					(yyval.node) = (Node *)n;
34878 				}
34879 #line 34880 "gram.c" /* yacc.c:1652  */
34880     break;
34881 
34882   case 972:
34883 #line 6762 "gram.y" /* yacc.c:1652  */
34884     {
34885 					FetchStmt *n = makeNode(FetchStmt);
34886 					n->portalname = (yyvsp[0].str);
34887 					n->direction = FETCH_ABSOLUTE;
34888 					n->howMany = (yyvsp[-2].ival);
34889 					(yyval.node) = (Node *)n;
34890 				}
34891 #line 34892 "gram.c" /* yacc.c:1652  */
34892     break;
34893 
34894   case 973:
34895 #line 6770 "gram.y" /* yacc.c:1652  */
34896     {
34897 					FetchStmt *n = makeNode(FetchStmt);
34898 					n->portalname = (yyvsp[0].str);
34899 					n->direction = FETCH_RELATIVE;
34900 					n->howMany = (yyvsp[-2].ival);
34901 					(yyval.node) = (Node *)n;
34902 				}
34903 #line 34904 "gram.c" /* yacc.c:1652  */
34904     break;
34905 
34906   case 974:
34907 #line 6778 "gram.y" /* yacc.c:1652  */
34908     {
34909 					FetchStmt *n = makeNode(FetchStmt);
34910 					n->portalname = (yyvsp[0].str);
34911 					n->direction = FETCH_FORWARD;
34912 					n->howMany = (yyvsp[-2].ival);
34913 					(yyval.node) = (Node *)n;
34914 				}
34915 #line 34916 "gram.c" /* yacc.c:1652  */
34916     break;
34917 
34918   case 975:
34919 #line 6786 "gram.y" /* yacc.c:1652  */
34920     {
34921 					FetchStmt *n = makeNode(FetchStmt);
34922 					n->portalname = (yyvsp[0].str);
34923 					n->direction = FETCH_FORWARD;
34924 					n->howMany = FETCH_ALL;
34925 					(yyval.node) = (Node *)n;
34926 				}
34927 #line 34928 "gram.c" /* yacc.c:1652  */
34928     break;
34929 
34930   case 976:
34931 #line 6794 "gram.y" /* yacc.c:1652  */
34932     {
34933 					FetchStmt *n = makeNode(FetchStmt);
34934 					n->portalname = (yyvsp[0].str);
34935 					n->direction = FETCH_FORWARD;
34936 					n->howMany = 1;
34937 					(yyval.node) = (Node *)n;
34938 				}
34939 #line 34940 "gram.c" /* yacc.c:1652  */
34940     break;
34941 
34942   case 977:
34943 #line 6802 "gram.y" /* yacc.c:1652  */
34944     {
34945 					FetchStmt *n = makeNode(FetchStmt);
34946 					n->portalname = (yyvsp[0].str);
34947 					n->direction = FETCH_FORWARD;
34948 					n->howMany = (yyvsp[-2].ival);
34949 					(yyval.node) = (Node *)n;
34950 				}
34951 #line 34952 "gram.c" /* yacc.c:1652  */
34952     break;
34953 
34954   case 978:
34955 #line 6810 "gram.y" /* yacc.c:1652  */
34956     {
34957 					FetchStmt *n = makeNode(FetchStmt);
34958 					n->portalname = (yyvsp[0].str);
34959 					n->direction = FETCH_FORWARD;
34960 					n->howMany = FETCH_ALL;
34961 					(yyval.node) = (Node *)n;
34962 				}
34963 #line 34964 "gram.c" /* yacc.c:1652  */
34964     break;
34965 
34966   case 979:
34967 #line 6818 "gram.y" /* yacc.c:1652  */
34968     {
34969 					FetchStmt *n = makeNode(FetchStmt);
34970 					n->portalname = (yyvsp[0].str);
34971 					n->direction = FETCH_BACKWARD;
34972 					n->howMany = 1;
34973 					(yyval.node) = (Node *)n;
34974 				}
34975 #line 34976 "gram.c" /* yacc.c:1652  */
34976     break;
34977 
34978   case 980:
34979 #line 6826 "gram.y" /* yacc.c:1652  */
34980     {
34981 					FetchStmt *n = makeNode(FetchStmt);
34982 					n->portalname = (yyvsp[0].str);
34983 					n->direction = FETCH_BACKWARD;
34984 					n->howMany = (yyvsp[-2].ival);
34985 					(yyval.node) = (Node *)n;
34986 				}
34987 #line 34988 "gram.c" /* yacc.c:1652  */
34988     break;
34989 
34990   case 981:
34991 #line 6834 "gram.y" /* yacc.c:1652  */
34992     {
34993 					FetchStmt *n = makeNode(FetchStmt);
34994 					n->portalname = (yyvsp[0].str);
34995 					n->direction = FETCH_BACKWARD;
34996 					n->howMany = FETCH_ALL;
34997 					(yyval.node) = (Node *)n;
34998 				}
34999 #line 35000 "gram.c" /* yacc.c:1652  */
35000     break;
35001 
35002   case 986:
35003 #line 6860 "gram.y" /* yacc.c:1652  */
35004     {
35005 					GrantStmt *n = makeNode(GrantStmt);
35006 					n->is_grant = true;
35007 					n->privileges = (yyvsp[-6].list);
35008 					n->targtype = ((yyvsp[-4].privtarget))->targtype;
35009 					n->objtype = ((yyvsp[-4].privtarget))->objtype;
35010 					n->objects = ((yyvsp[-4].privtarget))->objs;
35011 					n->grantees = (yyvsp[-2].list);
35012 					n->grant_option = (yyvsp[-1].boolean);
35013 					n->grantor = (yyvsp[0].rolespec);
35014 					(yyval.node) = (Node*)n;
35015 				}
35016 #line 35017 "gram.c" /* yacc.c:1652  */
35017     break;
35018 
35019   case 987:
35020 #line 6877 "gram.y" /* yacc.c:1652  */
35021     {
35022 					GrantStmt *n = makeNode(GrantStmt);
35023 					n->is_grant = false;
35024 					n->grant_option = false;
35025 					n->privileges = (yyvsp[-6].list);
35026 					n->targtype = ((yyvsp[-4].privtarget))->targtype;
35027 					n->objtype = ((yyvsp[-4].privtarget))->objtype;
35028 					n->objects = ((yyvsp[-4].privtarget))->objs;
35029 					n->grantees = (yyvsp[-2].list);
35030 					n->grantor = (yyvsp[-1].rolespec);
35031 					n->behavior = (yyvsp[0].dbehavior);
35032 					(yyval.node) = (Node *)n;
35033 				}
35034 #line 35035 "gram.c" /* yacc.c:1652  */
35035     break;
35036 
35037   case 988:
35038 #line 6892 "gram.y" /* yacc.c:1652  */
35039     {
35040 					GrantStmt *n = makeNode(GrantStmt);
35041 					n->is_grant = false;
35042 					n->grant_option = true;
35043 					n->privileges = (yyvsp[-6].list);
35044 					n->targtype = ((yyvsp[-4].privtarget))->targtype;
35045 					n->objtype = ((yyvsp[-4].privtarget))->objtype;
35046 					n->objects = ((yyvsp[-4].privtarget))->objs;
35047 					n->grantees = (yyvsp[-2].list);
35048 					n->grantor = (yyvsp[-1].rolespec);
35049 					n->behavior = (yyvsp[0].dbehavior);
35050 					(yyval.node) = (Node *)n;
35051 				}
35052 #line 35053 "gram.c" /* yacc.c:1652  */
35053     break;
35054 
35055   case 989:
35056 #line 6918 "gram.y" /* yacc.c:1652  */
35057     { (yyval.list) = (yyvsp[0].list); }
35058 #line 35059 "gram.c" /* yacc.c:1652  */
35059     break;
35060 
35061   case 990:
35062 #line 6920 "gram.y" /* yacc.c:1652  */
35063     { (yyval.list) = NIL; }
35064 #line 35065 "gram.c" /* yacc.c:1652  */
35065     break;
35066 
35067   case 991:
35068 #line 6922 "gram.y" /* yacc.c:1652  */
35069     { (yyval.list) = NIL; }
35070 #line 35071 "gram.c" /* yacc.c:1652  */
35071     break;
35072 
35073   case 992:
35074 #line 6924 "gram.y" /* yacc.c:1652  */
35075     {
35076 					AccessPriv *n = makeNode(AccessPriv);
35077 					n->priv_name = NULL;
35078 					n->cols = (yyvsp[-1].list);
35079 					(yyval.list) = list_make1(n);
35080 				}
35081 #line 35082 "gram.c" /* yacc.c:1652  */
35082     break;
35083 
35084   case 993:
35085 #line 6931 "gram.y" /* yacc.c:1652  */
35086     {
35087 					AccessPriv *n = makeNode(AccessPriv);
35088 					n->priv_name = NULL;
35089 					n->cols = (yyvsp[-1].list);
35090 					(yyval.list) = list_make1(n);
35091 				}
35092 #line 35093 "gram.c" /* yacc.c:1652  */
35093     break;
35094 
35095   case 994:
35096 #line 6939 "gram.y" /* yacc.c:1652  */
35097     { (yyval.list) = list_make1((yyvsp[0].accesspriv)); }
35098 #line 35099 "gram.c" /* yacc.c:1652  */
35099     break;
35100 
35101   case 995:
35102 #line 6940 "gram.y" /* yacc.c:1652  */
35103     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].accesspriv)); }
35104 #line 35105 "gram.c" /* yacc.c:1652  */
35105     break;
35106 
35107   case 996:
35108 #line 6944 "gram.y" /* yacc.c:1652  */
35109     {
35110 				AccessPriv *n = makeNode(AccessPriv);
35111 				n->priv_name = pstrdup((yyvsp[-1].keyword));
35112 				n->cols = (yyvsp[0].list);
35113 				(yyval.accesspriv) = n;
35114 			}
35115 #line 35116 "gram.c" /* yacc.c:1652  */
35116     break;
35117 
35118   case 997:
35119 #line 6951 "gram.y" /* yacc.c:1652  */
35120     {
35121 				AccessPriv *n = makeNode(AccessPriv);
35122 				n->priv_name = pstrdup((yyvsp[-1].keyword));
35123 				n->cols = (yyvsp[0].list);
35124 				(yyval.accesspriv) = n;
35125 			}
35126 #line 35127 "gram.c" /* yacc.c:1652  */
35127     break;
35128 
35129   case 998:
35130 #line 6958 "gram.y" /* yacc.c:1652  */
35131     {
35132 				AccessPriv *n = makeNode(AccessPriv);
35133 				n->priv_name = pstrdup((yyvsp[-1].keyword));
35134 				n->cols = (yyvsp[0].list);
35135 				(yyval.accesspriv) = n;
35136 			}
35137 #line 35138 "gram.c" /* yacc.c:1652  */
35138     break;
35139 
35140   case 999:
35141 #line 6965 "gram.y" /* yacc.c:1652  */
35142     {
35143 				AccessPriv *n = makeNode(AccessPriv);
35144 				n->priv_name = (yyvsp[-1].str);
35145 				n->cols = (yyvsp[0].list);
35146 				(yyval.accesspriv) = n;
35147 			}
35148 #line 35149 "gram.c" /* yacc.c:1652  */
35149     break;
35150 
35151   case 1000:
35152 #line 6979 "gram.y" /* yacc.c:1652  */
35153     {
35154 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35155 					n->targtype = ACL_TARGET_OBJECT;
35156 					n->objtype = OBJECT_TABLE;
35157 					n->objs = (yyvsp[0].list);
35158 					(yyval.privtarget) = n;
35159 				}
35160 #line 35161 "gram.c" /* yacc.c:1652  */
35161     break;
35162 
35163   case 1001:
35164 #line 6987 "gram.y" /* yacc.c:1652  */
35165     {
35166 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35167 					n->targtype = ACL_TARGET_OBJECT;
35168 					n->objtype = OBJECT_TABLE;
35169 					n->objs = (yyvsp[0].list);
35170 					(yyval.privtarget) = n;
35171 				}
35172 #line 35173 "gram.c" /* yacc.c:1652  */
35173     break;
35174 
35175   case 1002:
35176 #line 6995 "gram.y" /* yacc.c:1652  */
35177     {
35178 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35179 					n->targtype = ACL_TARGET_OBJECT;
35180 					n->objtype = OBJECT_SEQUENCE;
35181 					n->objs = (yyvsp[0].list);
35182 					(yyval.privtarget) = n;
35183 				}
35184 #line 35185 "gram.c" /* yacc.c:1652  */
35185     break;
35186 
35187   case 1003:
35188 #line 7003 "gram.y" /* yacc.c:1652  */
35189     {
35190 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35191 					n->targtype = ACL_TARGET_OBJECT;
35192 					n->objtype = OBJECT_FDW;
35193 					n->objs = (yyvsp[0].list);
35194 					(yyval.privtarget) = n;
35195 				}
35196 #line 35197 "gram.c" /* yacc.c:1652  */
35197     break;
35198 
35199   case 1004:
35200 #line 7011 "gram.y" /* yacc.c:1652  */
35201     {
35202 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35203 					n->targtype = ACL_TARGET_OBJECT;
35204 					n->objtype = OBJECT_FOREIGN_SERVER;
35205 					n->objs = (yyvsp[0].list);
35206 					(yyval.privtarget) = n;
35207 				}
35208 #line 35209 "gram.c" /* yacc.c:1652  */
35209     break;
35210 
35211   case 1005:
35212 #line 7019 "gram.y" /* yacc.c:1652  */
35213     {
35214 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35215 					n->targtype = ACL_TARGET_OBJECT;
35216 					n->objtype = OBJECT_FUNCTION;
35217 					n->objs = (yyvsp[0].list);
35218 					(yyval.privtarget) = n;
35219 				}
35220 #line 35221 "gram.c" /* yacc.c:1652  */
35221     break;
35222 
35223   case 1006:
35224 #line 7027 "gram.y" /* yacc.c:1652  */
35225     {
35226 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35227 					n->targtype = ACL_TARGET_OBJECT;
35228 					n->objtype = OBJECT_PROCEDURE;
35229 					n->objs = (yyvsp[0].list);
35230 					(yyval.privtarget) = n;
35231 				}
35232 #line 35233 "gram.c" /* yacc.c:1652  */
35233     break;
35234 
35235   case 1007:
35236 #line 7035 "gram.y" /* yacc.c:1652  */
35237     {
35238 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35239 					n->targtype = ACL_TARGET_OBJECT;
35240 					n->objtype = OBJECT_ROUTINE;
35241 					n->objs = (yyvsp[0].list);
35242 					(yyval.privtarget) = n;
35243 				}
35244 #line 35245 "gram.c" /* yacc.c:1652  */
35245     break;
35246 
35247   case 1008:
35248 #line 7043 "gram.y" /* yacc.c:1652  */
35249     {
35250 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35251 					n->targtype = ACL_TARGET_OBJECT;
35252 					n->objtype = OBJECT_DATABASE;
35253 					n->objs = (yyvsp[0].list);
35254 					(yyval.privtarget) = n;
35255 				}
35256 #line 35257 "gram.c" /* yacc.c:1652  */
35257     break;
35258 
35259   case 1009:
35260 #line 7051 "gram.y" /* yacc.c:1652  */
35261     {
35262 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35263 					n->targtype = ACL_TARGET_OBJECT;
35264 					n->objtype = OBJECT_DOMAIN;
35265 					n->objs = (yyvsp[0].list);
35266 					(yyval.privtarget) = n;
35267 				}
35268 #line 35269 "gram.c" /* yacc.c:1652  */
35269     break;
35270 
35271   case 1010:
35272 #line 7059 "gram.y" /* yacc.c:1652  */
35273     {
35274 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35275 					n->targtype = ACL_TARGET_OBJECT;
35276 					n->objtype = OBJECT_LANGUAGE;
35277 					n->objs = (yyvsp[0].list);
35278 					(yyval.privtarget) = n;
35279 				}
35280 #line 35281 "gram.c" /* yacc.c:1652  */
35281     break;
35282 
35283   case 1011:
35284 #line 7067 "gram.y" /* yacc.c:1652  */
35285     {
35286 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35287 					n->targtype = ACL_TARGET_OBJECT;
35288 					n->objtype = OBJECT_LARGEOBJECT;
35289 					n->objs = (yyvsp[0].list);
35290 					(yyval.privtarget) = n;
35291 				}
35292 #line 35293 "gram.c" /* yacc.c:1652  */
35293     break;
35294 
35295   case 1012:
35296 #line 7075 "gram.y" /* yacc.c:1652  */
35297     {
35298 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35299 					n->targtype = ACL_TARGET_OBJECT;
35300 					n->objtype = OBJECT_SCHEMA;
35301 					n->objs = (yyvsp[0].list);
35302 					(yyval.privtarget) = n;
35303 				}
35304 #line 35305 "gram.c" /* yacc.c:1652  */
35305     break;
35306 
35307   case 1013:
35308 #line 7083 "gram.y" /* yacc.c:1652  */
35309     {
35310 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35311 					n->targtype = ACL_TARGET_OBJECT;
35312 					n->objtype = OBJECT_TABLESPACE;
35313 					n->objs = (yyvsp[0].list);
35314 					(yyval.privtarget) = n;
35315 				}
35316 #line 35317 "gram.c" /* yacc.c:1652  */
35317     break;
35318 
35319   case 1014:
35320 #line 7091 "gram.y" /* yacc.c:1652  */
35321     {
35322 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35323 					n->targtype = ACL_TARGET_OBJECT;
35324 					n->objtype = OBJECT_TYPE;
35325 					n->objs = (yyvsp[0].list);
35326 					(yyval.privtarget) = n;
35327 				}
35328 #line 35329 "gram.c" /* yacc.c:1652  */
35329     break;
35330 
35331   case 1015:
35332 #line 7099 "gram.y" /* yacc.c:1652  */
35333     {
35334 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35335 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35336 					n->objtype = OBJECT_TABLE;
35337 					n->objs = (yyvsp[0].list);
35338 					(yyval.privtarget) = n;
35339 				}
35340 #line 35341 "gram.c" /* yacc.c:1652  */
35341     break;
35342 
35343   case 1016:
35344 #line 7107 "gram.y" /* yacc.c:1652  */
35345     {
35346 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35347 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35348 					n->objtype = OBJECT_SEQUENCE;
35349 					n->objs = (yyvsp[0].list);
35350 					(yyval.privtarget) = n;
35351 				}
35352 #line 35353 "gram.c" /* yacc.c:1652  */
35353     break;
35354 
35355   case 1017:
35356 #line 7115 "gram.y" /* yacc.c:1652  */
35357     {
35358 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35359 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35360 					n->objtype = OBJECT_FUNCTION;
35361 					n->objs = (yyvsp[0].list);
35362 					(yyval.privtarget) = n;
35363 				}
35364 #line 35365 "gram.c" /* yacc.c:1652  */
35365     break;
35366 
35367   case 1018:
35368 #line 7123 "gram.y" /* yacc.c:1652  */
35369     {
35370 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35371 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35372 					n->objtype = OBJECT_PROCEDURE;
35373 					n->objs = (yyvsp[0].list);
35374 					(yyval.privtarget) = n;
35375 				}
35376 #line 35377 "gram.c" /* yacc.c:1652  */
35377     break;
35378 
35379   case 1019:
35380 #line 7131 "gram.y" /* yacc.c:1652  */
35381     {
35382 					PrivTarget *n = (PrivTarget *) palloc(sizeof(PrivTarget));
35383 					n->targtype = ACL_TARGET_ALL_IN_SCHEMA;
35384 					n->objtype = OBJECT_ROUTINE;
35385 					n->objs = (yyvsp[0].list);
35386 					(yyval.privtarget) = n;
35387 				}
35388 #line 35389 "gram.c" /* yacc.c:1652  */
35389     break;
35390 
35391   case 1020:
35392 #line 7142 "gram.y" /* yacc.c:1652  */
35393     { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
35394 #line 35395 "gram.c" /* yacc.c:1652  */
35395     break;
35396 
35397   case 1021:
35398 #line 7143 "gram.y" /* yacc.c:1652  */
35399     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
35400 #line 35401 "gram.c" /* yacc.c:1652  */
35401     break;
35402 
35403   case 1022:
35404 #line 7147 "gram.y" /* yacc.c:1652  */
35405     { (yyval.rolespec) = (yyvsp[0].rolespec); }
35406 #line 35407 "gram.c" /* yacc.c:1652  */
35407     break;
35408 
35409   case 1023:
35410 #line 7148 "gram.y" /* yacc.c:1652  */
35411     { (yyval.rolespec) = (yyvsp[0].rolespec); }
35412 #line 35413 "gram.c" /* yacc.c:1652  */
35413     break;
35414 
35415   case 1024:
35416 #line 7153 "gram.y" /* yacc.c:1652  */
35417     { (yyval.boolean) = true; }
35418 #line 35419 "gram.c" /* yacc.c:1652  */
35419     break;
35420 
35421   case 1025:
35422 #line 7154 "gram.y" /* yacc.c:1652  */
35423     { (yyval.boolean) = false; }
35424 #line 35425 "gram.c" /* yacc.c:1652  */
35425     break;
35426 
35427   case 1026:
35428 #line 7165 "gram.y" /* yacc.c:1652  */
35429     {
35430 					GrantRoleStmt *n = makeNode(GrantRoleStmt);
35431 					n->is_grant = true;
35432 					n->granted_roles = (yyvsp[-4].list);
35433 					n->grantee_roles = (yyvsp[-2].list);
35434 					n->admin_opt = (yyvsp[-1].boolean);
35435 					n->grantor = (yyvsp[0].rolespec);
35436 					(yyval.node) = (Node*)n;
35437 				}
35438 #line 35439 "gram.c" /* yacc.c:1652  */
35439     break;
35440 
35441   case 1027:
35442 #line 7178 "gram.y" /* yacc.c:1652  */
35443     {
35444 					GrantRoleStmt *n = makeNode(GrantRoleStmt);
35445 					n->is_grant = false;
35446 					n->admin_opt = false;
35447 					n->granted_roles = (yyvsp[-4].list);
35448 					n->grantee_roles = (yyvsp[-2].list);
35449 					n->behavior = (yyvsp[0].dbehavior);
35450 					(yyval.node) = (Node*)n;
35451 				}
35452 #line 35453 "gram.c" /* yacc.c:1652  */
35453     break;
35454 
35455   case 1028:
35456 #line 7188 "gram.y" /* yacc.c:1652  */
35457     {
35458 					GrantRoleStmt *n = makeNode(GrantRoleStmt);
35459 					n->is_grant = false;
35460 					n->admin_opt = true;
35461 					n->granted_roles = (yyvsp[-4].list);
35462 					n->grantee_roles = (yyvsp[-2].list);
35463 					n->behavior = (yyvsp[0].dbehavior);
35464 					(yyval.node) = (Node*)n;
35465 				}
35466 #line 35467 "gram.c" /* yacc.c:1652  */
35467     break;
35468 
35469   case 1029:
35470 #line 7199 "gram.y" /* yacc.c:1652  */
35471     { (yyval.boolean) = true; }
35472 #line 35473 "gram.c" /* yacc.c:1652  */
35473     break;
35474 
35475   case 1030:
35476 #line 7200 "gram.y" /* yacc.c:1652  */
35477     { (yyval.boolean) = false; }
35478 #line 35479 "gram.c" /* yacc.c:1652  */
35479     break;
35480 
35481   case 1031:
35482 #line 7203 "gram.y" /* yacc.c:1652  */
35483     { (yyval.rolespec) = (yyvsp[0].rolespec); }
35484 #line 35485 "gram.c" /* yacc.c:1652  */
35485     break;
35486 
35487   case 1032:
35488 #line 7204 "gram.y" /* yacc.c:1652  */
35489     { (yyval.rolespec) = NULL; }
35490 #line 35491 "gram.c" /* yacc.c:1652  */
35491     break;
35492 
35493   case 1033:
35494 #line 7215 "gram.y" /* yacc.c:1652  */
35495     {
35496 					AlterDefaultPrivilegesStmt *n = makeNode(AlterDefaultPrivilegesStmt);
35497 					n->options = (yyvsp[-1].list);
35498 					n->action = (GrantStmt *) (yyvsp[0].node);
35499 					(yyval.node) = (Node*)n;
35500 				}
35501 #line 35502 "gram.c" /* yacc.c:1652  */
35502     break;
35503 
35504   case 1034:
35505 #line 7224 "gram.y" /* yacc.c:1652  */
35506     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
35507 #line 35508 "gram.c" /* yacc.c:1652  */
35508     break;
35509 
35510   case 1035:
35511 #line 7225 "gram.y" /* yacc.c:1652  */
35512     { (yyval.list) = NIL; }
35513 #line 35514 "gram.c" /* yacc.c:1652  */
35514     break;
35515 
35516   case 1036:
35517 #line 7230 "gram.y" /* yacc.c:1652  */
35518     {
35519 					(yyval.defelt) = makeDefElem("schemas", (Node *)(yyvsp[0].list), (yylsp[-2]));
35520 				}
35521 #line 35522 "gram.c" /* yacc.c:1652  */
35522     break;
35523 
35524   case 1037:
35525 #line 7234 "gram.y" /* yacc.c:1652  */
35526     {
35527 					(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
35528 				}
35529 #line 35530 "gram.c" /* yacc.c:1652  */
35530     break;
35531 
35532   case 1038:
35533 #line 7238 "gram.y" /* yacc.c:1652  */
35534     {
35535 					(yyval.defelt) = makeDefElem("roles", (Node *)(yyvsp[0].list), (yylsp[-2]));
35536 				}
35537 #line 35538 "gram.c" /* yacc.c:1652  */
35538     break;
35539 
35540   case 1039:
35541 #line 7250 "gram.y" /* yacc.c:1652  */
35542     {
35543 					GrantStmt *n = makeNode(GrantStmt);
35544 					n->is_grant = true;
35545 					n->privileges = (yyvsp[-5].list);
35546 					n->targtype = ACL_TARGET_DEFAULTS;
35547 					n->objtype = (yyvsp[-3].ival);
35548 					n->objects = NIL;
35549 					n->grantees = (yyvsp[-1].list);
35550 					n->grant_option = (yyvsp[0].boolean);
35551 					(yyval.node) = (Node*)n;
35552 				}
35553 #line 35554 "gram.c" /* yacc.c:1652  */
35554     break;
35555 
35556   case 1040:
35557 #line 7263 "gram.y" /* yacc.c:1652  */
35558     {
35559 					GrantStmt *n = makeNode(GrantStmt);
35560 					n->is_grant = false;
35561 					n->grant_option = false;
35562 					n->privileges = (yyvsp[-5].list);
35563 					n->targtype = ACL_TARGET_DEFAULTS;
35564 					n->objtype = (yyvsp[-3].ival);
35565 					n->objects = NIL;
35566 					n->grantees = (yyvsp[-1].list);
35567 					n->behavior = (yyvsp[0].dbehavior);
35568 					(yyval.node) = (Node *)n;
35569 				}
35570 #line 35571 "gram.c" /* yacc.c:1652  */
35571     break;
35572 
35573   case 1041:
35574 #line 7277 "gram.y" /* yacc.c:1652  */
35575     {
35576 					GrantStmt *n = makeNode(GrantStmt);
35577 					n->is_grant = false;
35578 					n->grant_option = true;
35579 					n->privileges = (yyvsp[-5].list);
35580 					n->targtype = ACL_TARGET_DEFAULTS;
35581 					n->objtype = (yyvsp[-3].ival);
35582 					n->objects = NIL;
35583 					n->grantees = (yyvsp[-1].list);
35584 					n->behavior = (yyvsp[0].dbehavior);
35585 					(yyval.node) = (Node *)n;
35586 				}
35587 #line 35588 "gram.c" /* yacc.c:1652  */
35588     break;
35589 
35590   case 1042:
35591 #line 7292 "gram.y" /* yacc.c:1652  */
35592     { (yyval.ival) = OBJECT_TABLE; }
35593 #line 35594 "gram.c" /* yacc.c:1652  */
35594     break;
35595 
35596   case 1043:
35597 #line 7293 "gram.y" /* yacc.c:1652  */
35598     { (yyval.ival) = OBJECT_FUNCTION; }
35599 #line 35600 "gram.c" /* yacc.c:1652  */
35600     break;
35601 
35602   case 1044:
35603 #line 7294 "gram.y" /* yacc.c:1652  */
35604     { (yyval.ival) = OBJECT_FUNCTION; }
35605 #line 35606 "gram.c" /* yacc.c:1652  */
35606     break;
35607 
35608   case 1045:
35609 #line 7295 "gram.y" /* yacc.c:1652  */
35610     { (yyval.ival) = OBJECT_SEQUENCE; }
35611 #line 35612 "gram.c" /* yacc.c:1652  */
35612     break;
35613 
35614   case 1046:
35615 #line 7296 "gram.y" /* yacc.c:1652  */
35616     { (yyval.ival) = OBJECT_TYPE; }
35617 #line 35618 "gram.c" /* yacc.c:1652  */
35618     break;
35619 
35620   case 1047:
35621 #line 7297 "gram.y" /* yacc.c:1652  */
35622     { (yyval.ival) = OBJECT_SCHEMA; }
35623 #line 35624 "gram.c" /* yacc.c:1652  */
35624     break;
35625 
35626   case 1048:
35627 #line 7312 "gram.y" /* yacc.c:1652  */
35628     {
35629 					IndexStmt *n = makeNode(IndexStmt);
35630 					n->unique = (yyvsp[-13].boolean);
35631 					n->concurrent = (yyvsp[-11].boolean);
35632 					n->idxname = (yyvsp[-10].str);
35633 					n->relation = (yyvsp[-8].range);
35634 					n->accessMethod = (yyvsp[-7].str);
35635 					n->indexParams = (yyvsp[-5].list);
35636 					n->indexIncludingParams = (yyvsp[-3].list);
35637 					n->options = (yyvsp[-2].list);
35638 					n->tableSpace = (yyvsp[-1].str);
35639 					n->whereClause = (yyvsp[0].node);
35640 					n->excludeOpNames = NIL;
35641 					n->idxcomment = NULL;
35642 					n->indexOid = InvalidOid;
35643 					n->oldNode = InvalidOid;
35644 					n->oldCreateSubid = InvalidSubTransactionId;
35645 					n->oldFirstRelfilenodeSubid = InvalidSubTransactionId;
35646 					n->primary = false;
35647 					n->isconstraint = false;
35648 					n->deferrable = false;
35649 					n->initdeferred = false;
35650 					n->transformed = false;
35651 					n->if_not_exists = false;
35652 					n->reset_default_tblspc = false;
35653 					(yyval.node) = (Node *)n;
35654 				}
35655 #line 35656 "gram.c" /* yacc.c:1652  */
35656     break;
35657 
35658   case 1049:
35659 #line 7342 "gram.y" /* yacc.c:1652  */
35660     {
35661 					IndexStmt *n = makeNode(IndexStmt);
35662 					n->unique = (yyvsp[-16].boolean);
35663 					n->concurrent = (yyvsp[-14].boolean);
35664 					n->idxname = (yyvsp[-10].str);
35665 					n->relation = (yyvsp[-8].range);
35666 					n->accessMethod = (yyvsp[-7].str);
35667 					n->indexParams = (yyvsp[-5].list);
35668 					n->indexIncludingParams = (yyvsp[-3].list);
35669 					n->options = (yyvsp[-2].list);
35670 					n->tableSpace = (yyvsp[-1].str);
35671 					n->whereClause = (yyvsp[0].node);
35672 					n->excludeOpNames = NIL;
35673 					n->idxcomment = NULL;
35674 					n->indexOid = InvalidOid;
35675 					n->oldNode = InvalidOid;
35676 					n->oldCreateSubid = InvalidSubTransactionId;
35677 					n->oldFirstRelfilenodeSubid = InvalidSubTransactionId;
35678 					n->primary = false;
35679 					n->isconstraint = false;
35680 					n->deferrable = false;
35681 					n->initdeferred = false;
35682 					n->transformed = false;
35683 					n->if_not_exists = true;
35684 					n->reset_default_tblspc = false;
35685 					(yyval.node) = (Node *)n;
35686 				}
35687 #line 35688 "gram.c" /* yacc.c:1652  */
35688     break;
35689 
35690   case 1050:
35691 #line 7372 "gram.y" /* yacc.c:1652  */
35692     { (yyval.boolean) = true; }
35693 #line 35694 "gram.c" /* yacc.c:1652  */
35694     break;
35695 
35696   case 1051:
35697 #line 7373 "gram.y" /* yacc.c:1652  */
35698     { (yyval.boolean) = false; }
35699 #line 35700 "gram.c" /* yacc.c:1652  */
35700     break;
35701 
35702   case 1052:
35703 #line 7377 "gram.y" /* yacc.c:1652  */
35704     { (yyval.boolean) = true; }
35705 #line 35706 "gram.c" /* yacc.c:1652  */
35706     break;
35707 
35708   case 1053:
35709 #line 7378 "gram.y" /* yacc.c:1652  */
35710     { (yyval.boolean) = false; }
35711 #line 35712 "gram.c" /* yacc.c:1652  */
35712     break;
35713 
35714   case 1054:
35715 #line 7382 "gram.y" /* yacc.c:1652  */
35716     { (yyval.str) = (yyvsp[0].str); }
35717 #line 35718 "gram.c" /* yacc.c:1652  */
35718     break;
35719 
35720   case 1055:
35721 #line 7383 "gram.y" /* yacc.c:1652  */
35722     { (yyval.str) = NULL; }
35723 #line 35724 "gram.c" /* yacc.c:1652  */
35724     break;
35725 
35726   case 1056:
35727 #line 7387 "gram.y" /* yacc.c:1652  */
35728     { (yyval.str) = (yyvsp[0].str); }
35729 #line 35730 "gram.c" /* yacc.c:1652  */
35730     break;
35731 
35732   case 1057:
35733 #line 7388 "gram.y" /* yacc.c:1652  */
35734     { (yyval.str) = DEFAULT_INDEX_TYPE; }
35735 #line 35736 "gram.c" /* yacc.c:1652  */
35736     break;
35737 
35738   case 1058:
35739 #line 7391 "gram.y" /* yacc.c:1652  */
35740     { (yyval.list) = list_make1((yyvsp[0].ielem)); }
35741 #line 35742 "gram.c" /* yacc.c:1652  */
35742     break;
35743 
35744   case 1059:
35745 #line 7392 "gram.y" /* yacc.c:1652  */
35746     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
35747 #line 35748 "gram.c" /* yacc.c:1652  */
35748     break;
35749 
35750   case 1060:
35751 #line 7398 "gram.y" /* yacc.c:1652  */
35752     {
35753 			(yyval.ielem) = makeNode(IndexElem);
35754 			(yyval.ielem)->name = NULL;
35755 			(yyval.ielem)->expr = NULL;
35756 			(yyval.ielem)->indexcolname = NULL;
35757 			(yyval.ielem)->collation = (yyvsp[-3].list);
35758 			(yyval.ielem)->opclass = (yyvsp[-2].list);
35759 			(yyval.ielem)->opclassopts = NIL;
35760 			(yyval.ielem)->ordering = (yyvsp[-1].ival);
35761 			(yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
35762 		}
35763 #line 35764 "gram.c" /* yacc.c:1652  */
35764     break;
35765 
35766   case 1061:
35767 #line 7410 "gram.y" /* yacc.c:1652  */
35768     {
35769 			(yyval.ielem) = makeNode(IndexElem);
35770 			(yyval.ielem)->name = NULL;
35771 			(yyval.ielem)->expr = NULL;
35772 			(yyval.ielem)->indexcolname = NULL;
35773 			(yyval.ielem)->collation = (yyvsp[-4].list);
35774 			(yyval.ielem)->opclass = (yyvsp[-3].list);
35775 			(yyval.ielem)->opclassopts = (yyvsp[-2].list);
35776 			(yyval.ielem)->ordering = (yyvsp[-1].ival);
35777 			(yyval.ielem)->nulls_ordering = (yyvsp[0].ival);
35778 		}
35779 #line 35780 "gram.c" /* yacc.c:1652  */
35780     break;
35781 
35782   case 1062:
35783 #line 7429 "gram.y" /* yacc.c:1652  */
35784     {
35785 					(yyval.ielem) = (yyvsp[0].ielem);
35786 					(yyval.ielem)->name = (yyvsp[-1].str);
35787 				}
35788 #line 35789 "gram.c" /* yacc.c:1652  */
35789     break;
35790 
35791   case 1063:
35792 #line 7434 "gram.y" /* yacc.c:1652  */
35793     {
35794 					(yyval.ielem) = (yyvsp[0].ielem);
35795 					(yyval.ielem)->expr = (yyvsp[-1].node);
35796 				}
35797 #line 35798 "gram.c" /* yacc.c:1652  */
35798     break;
35799 
35800   case 1064:
35801 #line 7439 "gram.y" /* yacc.c:1652  */
35802     {
35803 					(yyval.ielem) = (yyvsp[0].ielem);
35804 					(yyval.ielem)->expr = (yyvsp[-2].node);
35805 				}
35806 #line 35807 "gram.c" /* yacc.c:1652  */
35807     break;
35808 
35809   case 1065:
35810 #line 7445 "gram.y" /* yacc.c:1652  */
35811     { (yyval.list) = (yyvsp[-1].list); }
35812 #line 35813 "gram.c" /* yacc.c:1652  */
35813     break;
35814 
35815   case 1066:
35816 #line 7446 "gram.y" /* yacc.c:1652  */
35817     { (yyval.list) = NIL; }
35818 #line 35819 "gram.c" /* yacc.c:1652  */
35819     break;
35820 
35821   case 1067:
35822 #line 7449 "gram.y" /* yacc.c:1652  */
35823     { (yyval.list) = list_make1((yyvsp[0].ielem)); }
35824 #line 35825 "gram.c" /* yacc.c:1652  */
35825     break;
35826 
35827   case 1068:
35828 #line 7450 "gram.y" /* yacc.c:1652  */
35829     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].ielem)); }
35830 #line 35831 "gram.c" /* yacc.c:1652  */
35831     break;
35832 
35833   case 1069:
35834 #line 7453 "gram.y" /* yacc.c:1652  */
35835     { (yyval.list) = (yyvsp[0].list); }
35836 #line 35837 "gram.c" /* yacc.c:1652  */
35837     break;
35838 
35839   case 1070:
35840 #line 7454 "gram.y" /* yacc.c:1652  */
35841     { (yyval.list) = NIL; }
35842 #line 35843 "gram.c" /* yacc.c:1652  */
35843     break;
35844 
35845   case 1071:
35846 #line 7457 "gram.y" /* yacc.c:1652  */
35847     { (yyval.list) = (yyvsp[0].list); }
35848 #line 35849 "gram.c" /* yacc.c:1652  */
35849     break;
35850 
35851   case 1072:
35852 #line 7458 "gram.y" /* yacc.c:1652  */
35853     { (yyval.list) = NIL; }
35854 #line 35855 "gram.c" /* yacc.c:1652  */
35855     break;
35856 
35857   case 1073:
35858 #line 7461 "gram.y" /* yacc.c:1652  */
35859     { (yyval.ival) = SORTBY_ASC; }
35860 #line 35861 "gram.c" /* yacc.c:1652  */
35861     break;
35862 
35863   case 1074:
35864 #line 7462 "gram.y" /* yacc.c:1652  */
35865     { (yyval.ival) = SORTBY_DESC; }
35866 #line 35867 "gram.c" /* yacc.c:1652  */
35867     break;
35868 
35869   case 1075:
35870 #line 7463 "gram.y" /* yacc.c:1652  */
35871     { (yyval.ival) = SORTBY_DEFAULT; }
35872 #line 35873 "gram.c" /* yacc.c:1652  */
35873     break;
35874 
35875   case 1076:
35876 #line 7466 "gram.y" /* yacc.c:1652  */
35877     { (yyval.ival) = SORTBY_NULLS_FIRST; }
35878 #line 35879 "gram.c" /* yacc.c:1652  */
35879     break;
35880 
35881   case 1077:
35882 #line 7467 "gram.y" /* yacc.c:1652  */
35883     { (yyval.ival) = SORTBY_NULLS_LAST; }
35884 #line 35885 "gram.c" /* yacc.c:1652  */
35885     break;
35886 
35887   case 1078:
35888 #line 7468 "gram.y" /* yacc.c:1652  */
35889     { (yyval.ival) = SORTBY_NULLS_DEFAULT; }
35890 #line 35891 "gram.c" /* yacc.c:1652  */
35891     break;
35892 
35893   case 1079:
35894 #line 7486 "gram.y" /* yacc.c:1652  */
35895     {
35896 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
35897 					n->is_procedure = false;
35898 					n->replace = (yyvsp[-7].boolean);
35899 					n->funcname = (yyvsp[-5].list);
35900 					n->parameters = (yyvsp[-4].list);
35901 					n->returnType = (yyvsp[-2].typnam);
35902 					n->options = (yyvsp[-1].list);
35903 					n->sql_body = (yyvsp[0].node);
35904 					(yyval.node) = (Node *)n;
35905 				}
35906 #line 35907 "gram.c" /* yacc.c:1652  */
35907     break;
35908 
35909   case 1080:
35910 #line 7499 "gram.y" /* yacc.c:1652  */
35911     {
35912 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
35913 					n->is_procedure = false;
35914 					n->replace = (yyvsp[-10].boolean);
35915 					n->funcname = (yyvsp[-8].list);
35916 					n->parameters = mergeTableFuncParameters((yyvsp[-7].list), (yyvsp[-3].list));
35917 					n->returnType = TableFuncTypeName((yyvsp[-3].list));
35918 					n->returnType->location = (yylsp[-5]);
35919 					n->options = (yyvsp[-1].list);
35920 					n->sql_body = (yyvsp[0].node);
35921 					(yyval.node) = (Node *)n;
35922 				}
35923 #line 35924 "gram.c" /* yacc.c:1652  */
35924     break;
35925 
35926   case 1081:
35927 #line 7513 "gram.y" /* yacc.c:1652  */
35928     {
35929 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
35930 					n->is_procedure = false;
35931 					n->replace = (yyvsp[-5].boolean);
35932 					n->funcname = (yyvsp[-3].list);
35933 					n->parameters = (yyvsp[-2].list);
35934 					n->returnType = NULL;
35935 					n->options = (yyvsp[-1].list);
35936 					n->sql_body = (yyvsp[0].node);
35937 					(yyval.node) = (Node *)n;
35938 				}
35939 #line 35940 "gram.c" /* yacc.c:1652  */
35940     break;
35941 
35942   case 1082:
35943 #line 7526 "gram.y" /* yacc.c:1652  */
35944     {
35945 					CreateFunctionStmt *n = makeNode(CreateFunctionStmt);
35946 					n->is_procedure = true;
35947 					n->replace = (yyvsp[-5].boolean);
35948 					n->funcname = (yyvsp[-3].list);
35949 					n->parameters = (yyvsp[-2].list);
35950 					n->returnType = NULL;
35951 					n->options = (yyvsp[-1].list);
35952 					n->sql_body = (yyvsp[0].node);
35953 					(yyval.node) = (Node *)n;
35954 				}
35955 #line 35956 "gram.c" /* yacc.c:1652  */
35956     break;
35957 
35958   case 1083:
35959 #line 7540 "gram.y" /* yacc.c:1652  */
35960     { (yyval.boolean) = true; }
35961 #line 35962 "gram.c" /* yacc.c:1652  */
35962     break;
35963 
35964   case 1084:
35965 #line 7541 "gram.y" /* yacc.c:1652  */
35966     { (yyval.boolean) = false; }
35967 #line 35968 "gram.c" /* yacc.c:1652  */
35968     break;
35969 
35970   case 1085:
35971 #line 7544 "gram.y" /* yacc.c:1652  */
35972     { (yyval.list) = (yyvsp[-1].list); }
35973 #line 35974 "gram.c" /* yacc.c:1652  */
35974     break;
35975 
35976   case 1086:
35977 #line 7545 "gram.y" /* yacc.c:1652  */
35978     { (yyval.list) = NIL; }
35979 #line 35980 "gram.c" /* yacc.c:1652  */
35980     break;
35981 
35982   case 1087:
35983 #line 7549 "gram.y" /* yacc.c:1652  */
35984     { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
35985 #line 35986 "gram.c" /* yacc.c:1652  */
35986     break;
35987 
35988   case 1088:
35989 #line 7550 "gram.y" /* yacc.c:1652  */
35990     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
35991 #line 35992 "gram.c" /* yacc.c:1652  */
35992     break;
35993 
35994   case 1089:
35995 #line 7554 "gram.y" /* yacc.c:1652  */
35996     { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
35997 #line 35998 "gram.c" /* yacc.c:1652  */
35998     break;
35999 
36000   case 1090:
36001 #line 7556 "gram.y" /* yacc.c:1652  */
36002     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
36003 #line 36004 "gram.c" /* yacc.c:1652  */
36004     break;
36005 
36006   case 1091:
36007 #line 7561 "gram.y" /* yacc.c:1652  */
36008     {
36009 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
36010 					n->objname = (yyvsp[-1].list);
36011 					n->objargs = extractArgTypes((yyvsp[0].list));
36012 					n->objfuncargs = (yyvsp[0].list);
36013 					(yyval.objwithargs) = n;
36014 				}
36015 #line 36016 "gram.c" /* yacc.c:1652  */
36016     break;
36017 
36018   case 1092:
36019 #line 7574 "gram.y" /* yacc.c:1652  */
36020     {
36021 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
36022 					n->objname = list_make1(makeString(pstrdup((yyvsp[0].keyword))));
36023 					n->args_unspecified = true;
36024 					(yyval.objwithargs) = n;
36025 				}
36026 #line 36027 "gram.c" /* yacc.c:1652  */
36027     break;
36028 
36029   case 1093:
36030 #line 7581 "gram.y" /* yacc.c:1652  */
36031     {
36032 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
36033 					n->objname = list_make1(makeString((yyvsp[0].str)));
36034 					n->args_unspecified = true;
36035 					(yyval.objwithargs) = n;
36036 				}
36037 #line 36038 "gram.c" /* yacc.c:1652  */
36038     break;
36039 
36040   case 1094:
36041 #line 7588 "gram.y" /* yacc.c:1652  */
36042     {
36043 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
36044 					n->objname = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
36045 												  yyscanner);
36046 					n->args_unspecified = true;
36047 					(yyval.objwithargs) = n;
36048 				}
36049 #line 36050 "gram.c" /* yacc.c:1652  */
36050     break;
36051 
36052   case 1095:
36053 #line 7602 "gram.y" /* yacc.c:1652  */
36054     { (yyval.list) = (yyvsp[-1].list); }
36055 #line 36056 "gram.c" /* yacc.c:1652  */
36056     break;
36057 
36058   case 1096:
36059 #line 7603 "gram.y" /* yacc.c:1652  */
36060     { (yyval.list) = NIL; }
36061 #line 36062 "gram.c" /* yacc.c:1652  */
36062     break;
36063 
36064   case 1097:
36065 #line 7607 "gram.y" /* yacc.c:1652  */
36066     { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
36067 #line 36068 "gram.c" /* yacc.c:1652  */
36068     break;
36069 
36070   case 1098:
36071 #line 7609 "gram.y" /* yacc.c:1652  */
36072     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
36073 #line 36074 "gram.c" /* yacc.c:1652  */
36074     break;
36075 
36076   case 1099:
36077 #line 7624 "gram.y" /* yacc.c:1652  */
36078     {
36079 					FunctionParameter *n = makeNode(FunctionParameter);
36080 					n->name = (yyvsp[-1].str);
36081 					n->argType = (yyvsp[0].typnam);
36082 					n->mode = (yyvsp[-2].fun_param_mode);
36083 					n->defexpr = NULL;
36084 					(yyval.fun_param) = n;
36085 				}
36086 #line 36087 "gram.c" /* yacc.c:1652  */
36087     break;
36088 
36089   case 1100:
36090 #line 7633 "gram.y" /* yacc.c:1652  */
36091     {
36092 					FunctionParameter *n = makeNode(FunctionParameter);
36093 					n->name = (yyvsp[-2].str);
36094 					n->argType = (yyvsp[0].typnam);
36095 					n->mode = (yyvsp[-1].fun_param_mode);
36096 					n->defexpr = NULL;
36097 					(yyval.fun_param) = n;
36098 				}
36099 #line 36100 "gram.c" /* yacc.c:1652  */
36100     break;
36101 
36102   case 1101:
36103 #line 7642 "gram.y" /* yacc.c:1652  */
36104     {
36105 					FunctionParameter *n = makeNode(FunctionParameter);
36106 					n->name = (yyvsp[-1].str);
36107 					n->argType = (yyvsp[0].typnam);
36108 					n->mode = FUNC_PARAM_DEFAULT;
36109 					n->defexpr = NULL;
36110 					(yyval.fun_param) = n;
36111 				}
36112 #line 36113 "gram.c" /* yacc.c:1652  */
36113     break;
36114 
36115   case 1102:
36116 #line 7651 "gram.y" /* yacc.c:1652  */
36117     {
36118 					FunctionParameter *n = makeNode(FunctionParameter);
36119 					n->name = NULL;
36120 					n->argType = (yyvsp[0].typnam);
36121 					n->mode = (yyvsp[-1].fun_param_mode);
36122 					n->defexpr = NULL;
36123 					(yyval.fun_param) = n;
36124 				}
36125 #line 36126 "gram.c" /* yacc.c:1652  */
36126     break;
36127 
36128   case 1103:
36129 #line 7660 "gram.y" /* yacc.c:1652  */
36130     {
36131 					FunctionParameter *n = makeNode(FunctionParameter);
36132 					n->name = NULL;
36133 					n->argType = (yyvsp[0].typnam);
36134 					n->mode = FUNC_PARAM_DEFAULT;
36135 					n->defexpr = NULL;
36136 					(yyval.fun_param) = n;
36137 				}
36138 #line 36139 "gram.c" /* yacc.c:1652  */
36139     break;
36140 
36141   case 1104:
36142 #line 7671 "gram.y" /* yacc.c:1652  */
36143     { (yyval.fun_param_mode) = FUNC_PARAM_IN; }
36144 #line 36145 "gram.c" /* yacc.c:1652  */
36145     break;
36146 
36147   case 1105:
36148 #line 7672 "gram.y" /* yacc.c:1652  */
36149     { (yyval.fun_param_mode) = FUNC_PARAM_OUT; }
36150 #line 36151 "gram.c" /* yacc.c:1652  */
36151     break;
36152 
36153   case 1106:
36154 #line 7673 "gram.y" /* yacc.c:1652  */
36155     { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
36156 #line 36157 "gram.c" /* yacc.c:1652  */
36157     break;
36158 
36159   case 1107:
36160 #line 7674 "gram.y" /* yacc.c:1652  */
36161     { (yyval.fun_param_mode) = FUNC_PARAM_INOUT; }
36162 #line 36163 "gram.c" /* yacc.c:1652  */
36163     break;
36164 
36165   case 1108:
36166 #line 7675 "gram.y" /* yacc.c:1652  */
36167     { (yyval.fun_param_mode) = FUNC_PARAM_VARIADIC; }
36168 #line 36169 "gram.c" /* yacc.c:1652  */
36169     break;
36170 
36171   case 1110:
36172 #line 7686 "gram.y" /* yacc.c:1652  */
36173     {
36174 					/* We can catch over-specified results here if we want to,
36175 					 * but for now better to silently swallow typmod, etc.
36176 					 * - thomas 2000-03-22
36177 					 */
36178 					(yyval.typnam) = (yyvsp[0].typnam);
36179 				}
36180 #line 36181 "gram.c" /* yacc.c:1652  */
36181     break;
36182 
36183   case 1111:
36184 #line 7700 "gram.y" /* yacc.c:1652  */
36185     { (yyval.typnam) = (yyvsp[0].typnam); }
36186 #line 36187 "gram.c" /* yacc.c:1652  */
36187     break;
36188 
36189   case 1112:
36190 #line 7702 "gram.y" /* yacc.c:1652  */
36191     {
36192 					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
36193 					(yyval.typnam)->pct_type = true;
36194 					(yyval.typnam)->location = (yylsp[-3]);
36195 				}
36196 #line 36197 "gram.c" /* yacc.c:1652  */
36197     break;
36198 
36199   case 1113:
36200 #line 7708 "gram.y" /* yacc.c:1652  */
36201     {
36202 					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-3].str)), (yyvsp[-2].list)));
36203 					(yyval.typnam)->pct_type = true;
36204 					(yyval.typnam)->setof = true;
36205 					(yyval.typnam)->location = (yylsp[-3]);
36206 				}
36207 #line 36208 "gram.c" /* yacc.c:1652  */
36208     break;
36209 
36210   case 1114:
36211 #line 7718 "gram.y" /* yacc.c:1652  */
36212     {
36213 					(yyval.fun_param) = (yyvsp[0].fun_param);
36214 				}
36215 #line 36216 "gram.c" /* yacc.c:1652  */
36216     break;
36217 
36218   case 1115:
36219 #line 7722 "gram.y" /* yacc.c:1652  */
36220     {
36221 					(yyval.fun_param) = (yyvsp[-2].fun_param);
36222 					(yyval.fun_param)->defexpr = (yyvsp[0].node);
36223 				}
36224 #line 36225 "gram.c" /* yacc.c:1652  */
36225     break;
36226 
36227   case 1116:
36228 #line 7727 "gram.y" /* yacc.c:1652  */
36229     {
36230 					(yyval.fun_param) = (yyvsp[-2].fun_param);
36231 					(yyval.fun_param)->defexpr = (yyvsp[0].node);
36232 				}
36233 #line 36234 "gram.c" /* yacc.c:1652  */
36234     break;
36235 
36236   case 1117:
36237 #line 7735 "gram.y" /* yacc.c:1652  */
36238     {
36239 					if (!((yyvsp[0].fun_param)->mode == FUNC_PARAM_DEFAULT ||
36240 						  (yyvsp[0].fun_param)->mode == FUNC_PARAM_IN ||
36241 						  (yyvsp[0].fun_param)->mode == FUNC_PARAM_VARIADIC))
36242 						ereport(ERROR,
36243 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
36244 								 errmsg("aggregates cannot have output arguments"),
36245 								 parser_errposition((yylsp[0]))));
36246 					(yyval.fun_param) = (yyvsp[0].fun_param);
36247 				}
36248 #line 36249 "gram.c" /* yacc.c:1652  */
36249     break;
36250 
36251   case 1118:
36252 #line 7777 "gram.y" /* yacc.c:1652  */
36253     {
36254 					(yyval.list) = list_make2(NIL, makeInteger(-1));
36255 				}
36256 #line 36257 "gram.c" /* yacc.c:1652  */
36257     break;
36258 
36259   case 1119:
36260 #line 7781 "gram.y" /* yacc.c:1652  */
36261     {
36262 					(yyval.list) = list_make2((yyvsp[-1].list), makeInteger(-1));
36263 				}
36264 #line 36265 "gram.c" /* yacc.c:1652  */
36265     break;
36266 
36267   case 1120:
36268 #line 7785 "gram.y" /* yacc.c:1652  */
36269     {
36270 					(yyval.list) = list_make2((yyvsp[-1].list), makeInteger(0));
36271 				}
36272 #line 36273 "gram.c" /* yacc.c:1652  */
36273     break;
36274 
36275   case 1121:
36276 #line 7789 "gram.y" /* yacc.c:1652  */
36277     {
36278 					/* this is the only case requiring consistency checking */
36279 					(yyval.list) = makeOrderedSetArgs((yyvsp[-4].list), (yyvsp[-1].list), yyscanner);
36280 				}
36281 #line 36282 "gram.c" /* yacc.c:1652  */
36282     break;
36283 
36284   case 1122:
36285 #line 7796 "gram.y" /* yacc.c:1652  */
36286     { (yyval.list) = list_make1((yyvsp[0].fun_param)); }
36287 #line 36288 "gram.c" /* yacc.c:1652  */
36288     break;
36289 
36290   case 1123:
36291 #line 7797 "gram.y" /* yacc.c:1652  */
36292     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param)); }
36293 #line 36294 "gram.c" /* yacc.c:1652  */
36294     break;
36295 
36296   case 1124:
36297 #line 7802 "gram.y" /* yacc.c:1652  */
36298     {
36299 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
36300 					n->objname = (yyvsp[-1].list);
36301 					n->objargs = extractAggrArgTypes((yyvsp[0].list));
36302 					n->objfuncargs = (List *) linitial((yyvsp[0].list));
36303 					(yyval.objwithargs) = n;
36304 				}
36305 #line 36306 "gram.c" /* yacc.c:1652  */
36306     break;
36307 
36308   case 1125:
36309 #line 7812 "gram.y" /* yacc.c:1652  */
36310     { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
36311 #line 36312 "gram.c" /* yacc.c:1652  */
36312     break;
36313 
36314   case 1126:
36315 #line 7814 "gram.y" /* yacc.c:1652  */
36316     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
36317 #line 36318 "gram.c" /* yacc.c:1652  */
36318     break;
36319 
36320   case 1128:
36321 #line 7819 "gram.y" /* yacc.c:1652  */
36322     { (yyval.list) = NIL; }
36323 #line 36324 "gram.c" /* yacc.c:1652  */
36324     break;
36325 
36326   case 1129:
36327 #line 7824 "gram.y" /* yacc.c:1652  */
36328     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
36329 #line 36330 "gram.c" /* yacc.c:1652  */
36330     break;
36331 
36332   case 1130:
36333 #line 7825 "gram.y" /* yacc.c:1652  */
36334     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
36335 #line 36336 "gram.c" /* yacc.c:1652  */
36336     break;
36337 
36338   case 1131:
36339 #line 7833 "gram.y" /* yacc.c:1652  */
36340     {
36341 					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(false), (yylsp[-3]));
36342 				}
36343 #line 36344 "gram.c" /* yacc.c:1652  */
36344     break;
36345 
36346   case 1132:
36347 #line 7837 "gram.y" /* yacc.c:1652  */
36348     {
36349 					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[-4]));
36350 				}
36351 #line 36352 "gram.c" /* yacc.c:1652  */
36352     break;
36353 
36354   case 1133:
36355 #line 7841 "gram.y" /* yacc.c:1652  */
36356     {
36357 					(yyval.defelt) = makeDefElem("strict", (Node *)makeInteger(true), (yylsp[0]));
36358 				}
36359 #line 36360 "gram.c" /* yacc.c:1652  */
36360     break;
36361 
36362   case 1134:
36363 #line 7845 "gram.y" /* yacc.c:1652  */
36364     {
36365 					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("immutable"), (yylsp[0]));
36366 				}
36367 #line 36368 "gram.c" /* yacc.c:1652  */
36368     break;
36369 
36370   case 1135:
36371 #line 7849 "gram.y" /* yacc.c:1652  */
36372     {
36373 					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("stable"), (yylsp[0]));
36374 				}
36375 #line 36376 "gram.c" /* yacc.c:1652  */
36376     break;
36377 
36378   case 1136:
36379 #line 7853 "gram.y" /* yacc.c:1652  */
36380     {
36381 					(yyval.defelt) = makeDefElem("volatility", (Node *)makeString("volatile"), (yylsp[0]));
36382 				}
36383 #line 36384 "gram.c" /* yacc.c:1652  */
36384     break;
36385 
36386   case 1137:
36387 #line 7857 "gram.y" /* yacc.c:1652  */
36388     {
36389 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-2]));
36390 				}
36391 #line 36392 "gram.c" /* yacc.c:1652  */
36392     break;
36393 
36394   case 1138:
36395 #line 7861 "gram.y" /* yacc.c:1652  */
36396     {
36397 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-2]));
36398 				}
36399 #line 36400 "gram.c" /* yacc.c:1652  */
36400     break;
36401 
36402   case 1139:
36403 #line 7865 "gram.y" /* yacc.c:1652  */
36404     {
36405 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(true), (yylsp[-1]));
36406 				}
36407 #line 36408 "gram.c" /* yacc.c:1652  */
36408     break;
36409 
36410   case 1140:
36411 #line 7869 "gram.y" /* yacc.c:1652  */
36412     {
36413 					(yyval.defelt) = makeDefElem("security", (Node *)makeInteger(false), (yylsp[-1]));
36414 				}
36415 #line 36416 "gram.c" /* yacc.c:1652  */
36416     break;
36417 
36418   case 1141:
36419 #line 7873 "gram.y" /* yacc.c:1652  */
36420     {
36421 					(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(true), (yylsp[0]));
36422 				}
36423 #line 36424 "gram.c" /* yacc.c:1652  */
36424     break;
36425 
36426   case 1142:
36427 #line 7877 "gram.y" /* yacc.c:1652  */
36428     {
36429 					(yyval.defelt) = makeDefElem("leakproof", (Node *)makeInteger(false), (yylsp[-1]));
36430 				}
36431 #line 36432 "gram.c" /* yacc.c:1652  */
36432     break;
36433 
36434   case 1143:
36435 #line 7881 "gram.y" /* yacc.c:1652  */
36436     {
36437 					(yyval.defelt) = makeDefElem("cost", (Node *)(yyvsp[0].value), (yylsp[-1]));
36438 				}
36439 #line 36440 "gram.c" /* yacc.c:1652  */
36440     break;
36441 
36442   case 1144:
36443 #line 7885 "gram.y" /* yacc.c:1652  */
36444     {
36445 					(yyval.defelt) = makeDefElem("rows", (Node *)(yyvsp[0].value), (yylsp[-1]));
36446 				}
36447 #line 36448 "gram.c" /* yacc.c:1652  */
36448     break;
36449 
36450   case 1145:
36451 #line 7889 "gram.y" /* yacc.c:1652  */
36452     {
36453 					(yyval.defelt) = makeDefElem("support", (Node *)(yyvsp[0].list), (yylsp[-1]));
36454 				}
36455 #line 36456 "gram.c" /* yacc.c:1652  */
36456     break;
36457 
36458   case 1146:
36459 #line 7893 "gram.y" /* yacc.c:1652  */
36460     {
36461 					/* we abuse the normal content of a DefElem here */
36462 					(yyval.defelt) = makeDefElem("set", (Node *)(yyvsp[0].vsetstmt), (yylsp[0]));
36463 				}
36464 #line 36465 "gram.c" /* yacc.c:1652  */
36465     break;
36466 
36467   case 1147:
36468 #line 7898 "gram.y" /* yacc.c:1652  */
36469     {
36470 					(yyval.defelt) = makeDefElem("parallel", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
36471 				}
36472 #line 36473 "gram.c" /* yacc.c:1652  */
36473     break;
36474 
36475   case 1148:
36476 #line 7905 "gram.y" /* yacc.c:1652  */
36477     {
36478 					(yyval.defelt) = makeDefElem("as", (Node *)(yyvsp[0].list), (yylsp[-1]));
36479 				}
36480 #line 36481 "gram.c" /* yacc.c:1652  */
36481     break;
36482 
36483   case 1149:
36484 #line 7909 "gram.y" /* yacc.c:1652  */
36485     {
36486 					(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
36487 				}
36488 #line 36489 "gram.c" /* yacc.c:1652  */
36489     break;
36490 
36491   case 1150:
36492 #line 7913 "gram.y" /* yacc.c:1652  */
36493     {
36494 					(yyval.defelt) = makeDefElem("transform", (Node *)(yyvsp[0].list), (yylsp[-1]));
36495 				}
36496 #line 36497 "gram.c" /* yacc.c:1652  */
36497     break;
36498 
36499   case 1151:
36500 #line 7917 "gram.y" /* yacc.c:1652  */
36501     {
36502 					(yyval.defelt) = makeDefElem("window", (Node *)makeInteger(true), (yylsp[0]));
36503 				}
36504 #line 36505 "gram.c" /* yacc.c:1652  */
36505     break;
36506 
36507   case 1152:
36508 #line 7921 "gram.y" /* yacc.c:1652  */
36509     {
36510 					(yyval.defelt) = (yyvsp[0].defelt);
36511 				}
36512 #line 36513 "gram.c" /* yacc.c:1652  */
36513     break;
36514 
36515   case 1153:
36516 #line 7926 "gram.y" /* yacc.c:1652  */
36517     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
36518 #line 36519 "gram.c" /* yacc.c:1652  */
36519     break;
36520 
36521   case 1154:
36522 #line 7928 "gram.y" /* yacc.c:1652  */
36523     {
36524 					(yyval.list) = list_make2(makeString((yyvsp[-2].str)), makeString((yyvsp[0].str)));
36525 				}
36526 #line 36527 "gram.c" /* yacc.c:1652  */
36527     break;
36528 
36529   case 1155:
36530 #line 7934 "gram.y" /* yacc.c:1652  */
36531     {
36532 					ReturnStmt *r = makeNode(ReturnStmt);
36533 					r->returnval = (Node *) (yyvsp[0].node);
36534 					(yyval.node) = (Node *) r;
36535 				}
36536 #line 36537 "gram.c" /* yacc.c:1652  */
36537     break;
36538 
36539   case 1156:
36540 #line 7943 "gram.y" /* yacc.c:1652  */
36541     {
36542 					(yyval.node) = (yyvsp[0].node);
36543 				}
36544 #line 36545 "gram.c" /* yacc.c:1652  */
36545     break;
36546 
36547   case 1157:
36548 #line 7947 "gram.y" /* yacc.c:1652  */
36549     {
36550 					/*
36551 					 * A compound statement is stored as a single-item list
36552 					 * containing the list of statements as its member.  That
36553 					 * way, the parse analysis code can tell apart an empty
36554 					 * body from no body at all.
36555 					 */
36556 					(yyval.node) = (Node *) list_make1((yyvsp[-1].list));
36557 				}
36558 #line 36559 "gram.c" /* yacc.c:1652  */
36559     break;
36560 
36561   case 1158:
36562 #line 7957 "gram.y" /* yacc.c:1652  */
36563     {
36564 					(yyval.node) = NULL;
36565 				}
36566 #line 36567 "gram.c" /* yacc.c:1652  */
36567     break;
36568 
36569   case 1159:
36570 #line 7964 "gram.y" /* yacc.c:1652  */
36571     {
36572 					/* As in stmtmulti, discard empty statements */
36573 					if ((yyvsp[-1].node) != NULL)
36574 						(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[-1].node));
36575 					else
36576 						(yyval.list) = (yyvsp[-2].list);
36577 				}
36578 #line 36579 "gram.c" /* yacc.c:1652  */
36579     break;
36580 
36581   case 1160:
36582 #line 7972 "gram.y" /* yacc.c:1652  */
36583     {
36584 					(yyval.list) = NIL;
36585 				}
36586 #line 36587 "gram.c" /* yacc.c:1652  */
36587     break;
36588 
36589   case 1163:
36590 #line 7983 "gram.y" /* yacc.c:1652  */
36591     { (yyval.list) = list_make1((yyvsp[0].typnam)); }
36592 #line 36593 "gram.c" /* yacc.c:1652  */
36593     break;
36594 
36595   case 1164:
36596 #line 7984 "gram.y" /* yacc.c:1652  */
36597     { (yyval.list) = lappend((yyvsp[-4].list), (yyvsp[0].typnam)); }
36598 #line 36599 "gram.c" /* yacc.c:1652  */
36599     break;
36600 
36601   case 1165:
36602 #line 7988 "gram.y" /* yacc.c:1652  */
36603     { (yyval.list) = (yyvsp[0].list); }
36604 #line 36605 "gram.c" /* yacc.c:1652  */
36605     break;
36606 
36607   case 1166:
36608 #line 7989 "gram.y" /* yacc.c:1652  */
36609     { (yyval.list) = NIL; }
36610 #line 36611 "gram.c" /* yacc.c:1652  */
36611     break;
36612 
36613   case 1167:
36614 #line 7993 "gram.y" /* yacc.c:1652  */
36615     {
36616 					FunctionParameter *n = makeNode(FunctionParameter);
36617 					n->name = (yyvsp[-1].str);
36618 					n->argType = (yyvsp[0].typnam);
36619 					n->mode = FUNC_PARAM_TABLE;
36620 					n->defexpr = NULL;
36621 					(yyval.fun_param) = n;
36622 				}
36623 #line 36624 "gram.c" /* yacc.c:1652  */
36624     break;
36625 
36626   case 1168:
36627 #line 8005 "gram.y" /* yacc.c:1652  */
36628     {
36629 					(yyval.list) = list_make1((yyvsp[0].fun_param));
36630 				}
36631 #line 36632 "gram.c" /* yacc.c:1652  */
36632     break;
36633 
36634   case 1169:
36635 #line 8009 "gram.y" /* yacc.c:1652  */
36636     {
36637 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].fun_param));
36638 				}
36639 #line 36640 "gram.c" /* yacc.c:1652  */
36640     break;
36641 
36642   case 1170:
36643 #line 8024 "gram.y" /* yacc.c:1652  */
36644     {
36645 					AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
36646 					n->objtype = OBJECT_FUNCTION;
36647 					n->func = (yyvsp[-2].objwithargs);
36648 					n->actions = (yyvsp[-1].list);
36649 					(yyval.node) = (Node *) n;
36650 				}
36651 #line 36652 "gram.c" /* yacc.c:1652  */
36652     break;
36653 
36654   case 1171:
36655 #line 8032 "gram.y" /* yacc.c:1652  */
36656     {
36657 					AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
36658 					n->objtype = OBJECT_PROCEDURE;
36659 					n->func = (yyvsp[-2].objwithargs);
36660 					n->actions = (yyvsp[-1].list);
36661 					(yyval.node) = (Node *) n;
36662 				}
36663 #line 36664 "gram.c" /* yacc.c:1652  */
36664     break;
36665 
36666   case 1172:
36667 #line 8040 "gram.y" /* yacc.c:1652  */
36668     {
36669 					AlterFunctionStmt *n = makeNode(AlterFunctionStmt);
36670 					n->objtype = OBJECT_ROUTINE;
36671 					n->func = (yyvsp[-2].objwithargs);
36672 					n->actions = (yyvsp[-1].list);
36673 					(yyval.node) = (Node *) n;
36674 				}
36675 #line 36676 "gram.c" /* yacc.c:1652  */
36676     break;
36677 
36678   case 1173:
36679 #line 8051 "gram.y" /* yacc.c:1652  */
36680     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
36681 #line 36682 "gram.c" /* yacc.c:1652  */
36682     break;
36683 
36684   case 1174:
36685 #line 8052 "gram.y" /* yacc.c:1652  */
36686     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
36687 #line 36688 "gram.c" /* yacc.c:1652  */
36688     break;
36689 
36690   case 1177:
36691 #line 8076 "gram.y" /* yacc.c:1652  */
36692     {
36693 					DropStmt *n = makeNode(DropStmt);
36694 					n->removeType = OBJECT_FUNCTION;
36695 					n->objects = (yyvsp[-1].list);
36696 					n->behavior = (yyvsp[0].dbehavior);
36697 					n->missing_ok = false;
36698 					n->concurrent = false;
36699 					(yyval.node) = (Node *)n;
36700 				}
36701 #line 36702 "gram.c" /* yacc.c:1652  */
36702     break;
36703 
36704   case 1178:
36705 #line 8086 "gram.y" /* yacc.c:1652  */
36706     {
36707 					DropStmt *n = makeNode(DropStmt);
36708 					n->removeType = OBJECT_FUNCTION;
36709 					n->objects = (yyvsp[-1].list);
36710 					n->behavior = (yyvsp[0].dbehavior);
36711 					n->missing_ok = true;
36712 					n->concurrent = false;
36713 					(yyval.node) = (Node *)n;
36714 				}
36715 #line 36716 "gram.c" /* yacc.c:1652  */
36716     break;
36717 
36718   case 1179:
36719 #line 8096 "gram.y" /* yacc.c:1652  */
36720     {
36721 					DropStmt *n = makeNode(DropStmt);
36722 					n->removeType = OBJECT_PROCEDURE;
36723 					n->objects = (yyvsp[-1].list);
36724 					n->behavior = (yyvsp[0].dbehavior);
36725 					n->missing_ok = false;
36726 					n->concurrent = false;
36727 					(yyval.node) = (Node *)n;
36728 				}
36729 #line 36730 "gram.c" /* yacc.c:1652  */
36730     break;
36731 
36732   case 1180:
36733 #line 8106 "gram.y" /* yacc.c:1652  */
36734     {
36735 					DropStmt *n = makeNode(DropStmt);
36736 					n->removeType = OBJECT_PROCEDURE;
36737 					n->objects = (yyvsp[-1].list);
36738 					n->behavior = (yyvsp[0].dbehavior);
36739 					n->missing_ok = true;
36740 					n->concurrent = false;
36741 					(yyval.node) = (Node *)n;
36742 				}
36743 #line 36744 "gram.c" /* yacc.c:1652  */
36744     break;
36745 
36746   case 1181:
36747 #line 8116 "gram.y" /* yacc.c:1652  */
36748     {
36749 					DropStmt *n = makeNode(DropStmt);
36750 					n->removeType = OBJECT_ROUTINE;
36751 					n->objects = (yyvsp[-1].list);
36752 					n->behavior = (yyvsp[0].dbehavior);
36753 					n->missing_ok = false;
36754 					n->concurrent = false;
36755 					(yyval.node) = (Node *)n;
36756 				}
36757 #line 36758 "gram.c" /* yacc.c:1652  */
36758     break;
36759 
36760   case 1182:
36761 #line 8126 "gram.y" /* yacc.c:1652  */
36762     {
36763 					DropStmt *n = makeNode(DropStmt);
36764 					n->removeType = OBJECT_ROUTINE;
36765 					n->objects = (yyvsp[-1].list);
36766 					n->behavior = (yyvsp[0].dbehavior);
36767 					n->missing_ok = true;
36768 					n->concurrent = false;
36769 					(yyval.node) = (Node *)n;
36770 				}
36771 #line 36772 "gram.c" /* yacc.c:1652  */
36772     break;
36773 
36774   case 1183:
36775 #line 8139 "gram.y" /* yacc.c:1652  */
36776     {
36777 					DropStmt *n = makeNode(DropStmt);
36778 					n->removeType = OBJECT_AGGREGATE;
36779 					n->objects = (yyvsp[-1].list);
36780 					n->behavior = (yyvsp[0].dbehavior);
36781 					n->missing_ok = false;
36782 					n->concurrent = false;
36783 					(yyval.node) = (Node *)n;
36784 				}
36785 #line 36786 "gram.c" /* yacc.c:1652  */
36786     break;
36787 
36788   case 1184:
36789 #line 8149 "gram.y" /* yacc.c:1652  */
36790     {
36791 					DropStmt *n = makeNode(DropStmt);
36792 					n->removeType = OBJECT_AGGREGATE;
36793 					n->objects = (yyvsp[-1].list);
36794 					n->behavior = (yyvsp[0].dbehavior);
36795 					n->missing_ok = true;
36796 					n->concurrent = false;
36797 					(yyval.node) = (Node *)n;
36798 				}
36799 #line 36800 "gram.c" /* yacc.c:1652  */
36800     break;
36801 
36802   case 1185:
36803 #line 8162 "gram.y" /* yacc.c:1652  */
36804     {
36805 					DropStmt *n = makeNode(DropStmt);
36806 					n->removeType = OBJECT_OPERATOR;
36807 					n->objects = (yyvsp[-1].list);
36808 					n->behavior = (yyvsp[0].dbehavior);
36809 					n->missing_ok = false;
36810 					n->concurrent = false;
36811 					(yyval.node) = (Node *)n;
36812 				}
36813 #line 36814 "gram.c" /* yacc.c:1652  */
36814     break;
36815 
36816   case 1186:
36817 #line 8172 "gram.y" /* yacc.c:1652  */
36818     {
36819 					DropStmt *n = makeNode(DropStmt);
36820 					n->removeType = OBJECT_OPERATOR;
36821 					n->objects = (yyvsp[-1].list);
36822 					n->behavior = (yyvsp[0].dbehavior);
36823 					n->missing_ok = true;
36824 					n->concurrent = false;
36825 					(yyval.node) = (Node *)n;
36826 				}
36827 #line 36828 "gram.c" /* yacc.c:1652  */
36828     break;
36829 
36830   case 1187:
36831 #line 8185 "gram.y" /* yacc.c:1652  */
36832     {
36833 				   ereport(ERROR,
36834 						   (errcode(ERRCODE_SYNTAX_ERROR),
36835 							errmsg("missing argument"),
36836 							errhint("Use NONE to denote the missing argument of a unary operator."),
36837 							parser_errposition((yylsp[0]))));
36838 				}
36839 #line 36840 "gram.c" /* yacc.c:1652  */
36840     break;
36841 
36842   case 1188:
36843 #line 8193 "gram.y" /* yacc.c:1652  */
36844     { (yyval.list) = list_make2((yyvsp[-3].typnam), (yyvsp[-1].typnam)); }
36845 #line 36846 "gram.c" /* yacc.c:1652  */
36846     break;
36847 
36848   case 1189:
36849 #line 8195 "gram.y" /* yacc.c:1652  */
36850     { (yyval.list) = list_make2(NULL, (yyvsp[-1].typnam)); }
36851 #line 36852 "gram.c" /* yacc.c:1652  */
36852     break;
36853 
36854   case 1190:
36855 #line 8197 "gram.y" /* yacc.c:1652  */
36856     { (yyval.list) = list_make2((yyvsp[-3].typnam), NULL); }
36857 #line 36858 "gram.c" /* yacc.c:1652  */
36858     break;
36859 
36860   case 1191:
36861 #line 8202 "gram.y" /* yacc.c:1652  */
36862     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
36863 #line 36864 "gram.c" /* yacc.c:1652  */
36864     break;
36865 
36866   case 1192:
36867 #line 8204 "gram.y" /* yacc.c:1652  */
36868     { (yyval.list) = lcons(makeString((yyvsp[-2].str)), (yyvsp[0].list)); }
36869 #line 36870 "gram.c" /* yacc.c:1652  */
36870     break;
36871 
36872   case 1193:
36873 #line 8208 "gram.y" /* yacc.c:1652  */
36874     { (yyval.list) = list_make1((yyvsp[0].objwithargs)); }
36875 #line 36876 "gram.c" /* yacc.c:1652  */
36876     break;
36877 
36878   case 1194:
36879 #line 8210 "gram.y" /* yacc.c:1652  */
36880     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].objwithargs)); }
36881 #line 36882 "gram.c" /* yacc.c:1652  */
36882     break;
36883 
36884   case 1195:
36885 #line 8215 "gram.y" /* yacc.c:1652  */
36886     {
36887 					ObjectWithArgs *n = makeNode(ObjectWithArgs);
36888 					n->objname = (yyvsp[-1].list);
36889 					n->objargs = (yyvsp[0].list);
36890 					(yyval.objwithargs) = n;
36891 				}
36892 #line 36893 "gram.c" /* yacc.c:1652  */
36893     break;
36894 
36895   case 1196:
36896 #line 8233 "gram.y" /* yacc.c:1652  */
36897     {
36898 					DoStmt *n = makeNode(DoStmt);
36899 					n->args = (yyvsp[0].list);
36900 					(yyval.node) = (Node *)n;
36901 				}
36902 #line 36903 "gram.c" /* yacc.c:1652  */
36903     break;
36904 
36905   case 1197:
36906 #line 8241 "gram.y" /* yacc.c:1652  */
36907     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
36908 #line 36909 "gram.c" /* yacc.c:1652  */
36909     break;
36910 
36911   case 1198:
36912 #line 8242 "gram.y" /* yacc.c:1652  */
36913     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
36914 #line 36915 "gram.c" /* yacc.c:1652  */
36915     break;
36916 
36917   case 1199:
36918 #line 8247 "gram.y" /* yacc.c:1652  */
36919     {
36920 					(yyval.defelt) = makeDefElem("as", (Node *)makeString((yyvsp[0].str)), (yylsp[0]));
36921 				}
36922 #line 36923 "gram.c" /* yacc.c:1652  */
36923     break;
36924 
36925   case 1200:
36926 #line 8251 "gram.y" /* yacc.c:1652  */
36927     {
36928 					(yyval.defelt) = makeDefElem("language", (Node *)makeString((yyvsp[0].str)), (yylsp[-1]));
36929 				}
36930 #line 36931 "gram.c" /* yacc.c:1652  */
36931     break;
36932 
36933   case 1201:
36934 #line 8264 "gram.y" /* yacc.c:1652  */
36935     {
36936 					CreateCastStmt *n = makeNode(CreateCastStmt);
36937 					n->sourcetype = (yyvsp[-7].typnam);
36938 					n->targettype = (yyvsp[-5].typnam);
36939 					n->func = (yyvsp[-1].objwithargs);
36940 					n->context = (CoercionContext) (yyvsp[0].ival);
36941 					n->inout = false;
36942 					(yyval.node) = (Node *)n;
36943 				}
36944 #line 36945 "gram.c" /* yacc.c:1652  */
36945     break;
36946 
36947   case 1202:
36948 #line 8275 "gram.y" /* yacc.c:1652  */
36949     {
36950 					CreateCastStmt *n = makeNode(CreateCastStmt);
36951 					n->sourcetype = (yyvsp[-6].typnam);
36952 					n->targettype = (yyvsp[-4].typnam);
36953 					n->func = NULL;
36954 					n->context = (CoercionContext) (yyvsp[0].ival);
36955 					n->inout = false;
36956 					(yyval.node) = (Node *)n;
36957 				}
36958 #line 36959 "gram.c" /* yacc.c:1652  */
36959     break;
36960 
36961   case 1203:
36962 #line 8286 "gram.y" /* yacc.c:1652  */
36963     {
36964 					CreateCastStmt *n = makeNode(CreateCastStmt);
36965 					n->sourcetype = (yyvsp[-6].typnam);
36966 					n->targettype = (yyvsp[-4].typnam);
36967 					n->func = NULL;
36968 					n->context = (CoercionContext) (yyvsp[0].ival);
36969 					n->inout = true;
36970 					(yyval.node) = (Node *)n;
36971 				}
36972 #line 36973 "gram.c" /* yacc.c:1652  */
36973     break;
36974 
36975   case 1204:
36976 #line 8297 "gram.y" /* yacc.c:1652  */
36977     { (yyval.ival) = COERCION_IMPLICIT; }
36978 #line 36979 "gram.c" /* yacc.c:1652  */
36979     break;
36980 
36981   case 1205:
36982 #line 8298 "gram.y" /* yacc.c:1652  */
36983     { (yyval.ival) = COERCION_ASSIGNMENT; }
36984 #line 36985 "gram.c" /* yacc.c:1652  */
36985     break;
36986 
36987   case 1206:
36988 #line 8299 "gram.y" /* yacc.c:1652  */
36989     { (yyval.ival) = COERCION_EXPLICIT; }
36990 #line 36991 "gram.c" /* yacc.c:1652  */
36991     break;
36992 
36993   case 1207:
36994 #line 8304 "gram.y" /* yacc.c:1652  */
36995     {
36996 					DropStmt *n = makeNode(DropStmt);
36997 					n->removeType = OBJECT_CAST;
36998 					n->objects = list_make1(list_make2((yyvsp[-4].typnam), (yyvsp[-2].typnam)));
36999 					n->behavior = (yyvsp[0].dbehavior);
37000 					n->missing_ok = (yyvsp[-6].boolean);
37001 					n->concurrent = false;
37002 					(yyval.node) = (Node *)n;
37003 				}
37004 #line 37005 "gram.c" /* yacc.c:1652  */
37005     break;
37006 
37007   case 1208:
37008 #line 8315 "gram.y" /* yacc.c:1652  */
37009     { (yyval.boolean) = true; }
37010 #line 37011 "gram.c" /* yacc.c:1652  */
37011     break;
37012 
37013   case 1209:
37014 #line 8316 "gram.y" /* yacc.c:1652  */
37015     { (yyval.boolean) = false; }
37016 #line 37017 "gram.c" /* yacc.c:1652  */
37017     break;
37018 
37019   case 1210:
37020 #line 8327 "gram.y" /* yacc.c:1652  */
37021     {
37022 					CreateTransformStmt *n = makeNode(CreateTransformStmt);
37023 					n->replace = (yyvsp[-8].boolean);
37024 					n->type_name = (yyvsp[-5].typnam);
37025 					n->lang = (yyvsp[-3].str);
37026 					n->fromsql = linitial((yyvsp[-1].list));
37027 					n->tosql = lsecond((yyvsp[-1].list));
37028 					(yyval.node) = (Node *)n;
37029 				}
37030 #line 37031 "gram.c" /* yacc.c:1652  */
37031     break;
37032 
37033   case 1211:
37034 #line 8339 "gram.y" /* yacc.c:1652  */
37035     {
37036 					(yyval.list) = list_make2((yyvsp[-6].objwithargs), (yyvsp[0].objwithargs));
37037 				}
37038 #line 37039 "gram.c" /* yacc.c:1652  */
37039     break;
37040 
37041   case 1212:
37042 #line 8343 "gram.y" /* yacc.c:1652  */
37043     {
37044 					(yyval.list) = list_make2((yyvsp[0].objwithargs), (yyvsp[-6].objwithargs));
37045 				}
37046 #line 37047 "gram.c" /* yacc.c:1652  */
37047     break;
37048 
37049   case 1213:
37050 #line 8347 "gram.y" /* yacc.c:1652  */
37051     {
37052 					(yyval.list) = list_make2((yyvsp[0].objwithargs), NULL);
37053 				}
37054 #line 37055 "gram.c" /* yacc.c:1652  */
37055     break;
37056 
37057   case 1214:
37058 #line 8351 "gram.y" /* yacc.c:1652  */
37059     {
37060 					(yyval.list) = list_make2(NULL, (yyvsp[0].objwithargs));
37061 				}
37062 #line 37063 "gram.c" /* yacc.c:1652  */
37063     break;
37064 
37065   case 1215:
37066 #line 8358 "gram.y" /* yacc.c:1652  */
37067     {
37068 					DropStmt *n = makeNode(DropStmt);
37069 					n->removeType = OBJECT_TRANSFORM;
37070 					n->objects = list_make1(list_make2((yyvsp[-3].typnam), makeString((yyvsp[-1].str))));
37071 					n->behavior = (yyvsp[0].dbehavior);
37072 					n->missing_ok = (yyvsp[-5].boolean);
37073 					(yyval.node) = (Node *)n;
37074 				}
37075 #line 37076 "gram.c" /* yacc.c:1652  */
37076     break;
37077 
37078   case 1216:
37079 #line 8378 "gram.y" /* yacc.c:1652  */
37080     {
37081 					ReindexStmt *n = makeNode(ReindexStmt);
37082 					n->kind = (yyvsp[-2].ival);
37083 					n->relation = (yyvsp[0].range);
37084 					n->name = NULL;
37085 					n->params = NIL;
37086 					if ((yyvsp[-1].boolean))
37087 						n->params = lappend(n->params,
37088 								makeDefElem("concurrently", NULL, (yylsp[-1])));
37089 					(yyval.node) = (Node *)n;
37090 				}
37091 #line 37092 "gram.c" /* yacc.c:1652  */
37092     break;
37093 
37094   case 1217:
37095 #line 8390 "gram.y" /* yacc.c:1652  */
37096     {
37097 					ReindexStmt *n = makeNode(ReindexStmt);
37098 					n->kind = (yyvsp[-2].ival);
37099 					n->name = (yyvsp[0].str);
37100 					n->relation = NULL;
37101 					n->params = NIL;
37102 					if ((yyvsp[-1].boolean))
37103 						n->params = lappend(n->params,
37104 								makeDefElem("concurrently", NULL, (yylsp[-1])));
37105 					(yyval.node) = (Node *)n;
37106 				}
37107 #line 37108 "gram.c" /* yacc.c:1652  */
37108     break;
37109 
37110   case 1218:
37111 #line 8402 "gram.y" /* yacc.c:1652  */
37112     {
37113 					ReindexStmt *n = makeNode(ReindexStmt);
37114 					n->kind = (yyvsp[-2].ival);
37115 					n->relation = (yyvsp[0].range);
37116 					n->name = NULL;
37117 					n->params = (yyvsp[-4].list);
37118 					if ((yyvsp[-1].boolean))
37119 						n->params = lappend(n->params,
37120 								makeDefElem("concurrently", NULL, (yylsp[-1])));
37121 					(yyval.node) = (Node *)n;
37122 				}
37123 #line 37124 "gram.c" /* yacc.c:1652  */
37124     break;
37125 
37126   case 1219:
37127 #line 8414 "gram.y" /* yacc.c:1652  */
37128     {
37129 					ReindexStmt *n = makeNode(ReindexStmt);
37130 					n->kind = (yyvsp[-2].ival);
37131 					n->name = (yyvsp[0].str);
37132 					n->relation = NULL;
37133 					n->params = (yyvsp[-4].list);
37134 					if ((yyvsp[-1].boolean))
37135 						n->params = lappend(n->params,
37136 								makeDefElem("concurrently", NULL, (yylsp[-1])));
37137 					(yyval.node) = (Node *)n;
37138 				}
37139 #line 37140 "gram.c" /* yacc.c:1652  */
37140     break;
37141 
37142   case 1220:
37143 #line 8427 "gram.y" /* yacc.c:1652  */
37144     { (yyval.ival) = REINDEX_OBJECT_INDEX; }
37145 #line 37146 "gram.c" /* yacc.c:1652  */
37146     break;
37147 
37148   case 1221:
37149 #line 8428 "gram.y" /* yacc.c:1652  */
37150     { (yyval.ival) = REINDEX_OBJECT_TABLE; }
37151 #line 37152 "gram.c" /* yacc.c:1652  */
37152     break;
37153 
37154   case 1222:
37155 #line 8431 "gram.y" /* yacc.c:1652  */
37156     { (yyval.ival) = REINDEX_OBJECT_SCHEMA; }
37157 #line 37158 "gram.c" /* yacc.c:1652  */
37158     break;
37159 
37160   case 1223:
37161 #line 8432 "gram.y" /* yacc.c:1652  */
37162     { (yyval.ival) = REINDEX_OBJECT_SYSTEM; }
37163 #line 37164 "gram.c" /* yacc.c:1652  */
37164     break;
37165 
37166   case 1224:
37167 #line 8433 "gram.y" /* yacc.c:1652  */
37168     { (yyval.ival) = REINDEX_OBJECT_DATABASE; }
37169 #line 37170 "gram.c" /* yacc.c:1652  */
37170     break;
37171 
37172   case 1225:
37173 #line 8444 "gram.y" /* yacc.c:1652  */
37174     {
37175 					AlterTableSpaceOptionsStmt *n =
37176 						makeNode(AlterTableSpaceOptionsStmt);
37177 					n->tablespacename = (yyvsp[-2].str);
37178 					n->options = (yyvsp[0].list);
37179 					n->isReset = false;
37180 					(yyval.node) = (Node *)n;
37181 				}
37182 #line 37183 "gram.c" /* yacc.c:1652  */
37183     break;
37184 
37185   case 1226:
37186 #line 8453 "gram.y" /* yacc.c:1652  */
37187     {
37188 					AlterTableSpaceOptionsStmt *n =
37189 						makeNode(AlterTableSpaceOptionsStmt);
37190 					n->tablespacename = (yyvsp[-2].str);
37191 					n->options = (yyvsp[0].list);
37192 					n->isReset = true;
37193 					(yyval.node) = (Node *)n;
37194 				}
37195 #line 37196 "gram.c" /* yacc.c:1652  */
37196     break;
37197 
37198   case 1227:
37199 #line 8470 "gram.y" /* yacc.c:1652  */
37200     {
37201 					RenameStmt *n = makeNode(RenameStmt);
37202 					n->renameType = OBJECT_AGGREGATE;
37203 					n->object = (Node *) (yyvsp[-3].objwithargs);
37204 					n->newname = (yyvsp[0].str);
37205 					n->missing_ok = false;
37206 					(yyval.node) = (Node *)n;
37207 				}
37208 #line 37209 "gram.c" /* yacc.c:1652  */
37209     break;
37210 
37211   case 1228:
37212 #line 8479 "gram.y" /* yacc.c:1652  */
37213     {
37214 					RenameStmt *n = makeNode(RenameStmt);
37215 					n->renameType = OBJECT_COLLATION;
37216 					n->object = (Node *) (yyvsp[-3].list);
37217 					n->newname = (yyvsp[0].str);
37218 					n->missing_ok = false;
37219 					(yyval.node) = (Node *)n;
37220 				}
37221 #line 37222 "gram.c" /* yacc.c:1652  */
37222     break;
37223 
37224   case 1229:
37225 #line 8488 "gram.y" /* yacc.c:1652  */
37226     {
37227 					RenameStmt *n = makeNode(RenameStmt);
37228 					n->renameType = OBJECT_CONVERSION;
37229 					n->object = (Node *) (yyvsp[-3].list);
37230 					n->newname = (yyvsp[0].str);
37231 					n->missing_ok = false;
37232 					(yyval.node) = (Node *)n;
37233 				}
37234 #line 37235 "gram.c" /* yacc.c:1652  */
37235     break;
37236 
37237   case 1230:
37238 #line 8497 "gram.y" /* yacc.c:1652  */
37239     {
37240 					RenameStmt *n = makeNode(RenameStmt);
37241 					n->renameType = OBJECT_DATABASE;
37242 					n->subname = (yyvsp[-3].str);
37243 					n->newname = (yyvsp[0].str);
37244 					n->missing_ok = false;
37245 					(yyval.node) = (Node *)n;
37246 				}
37247 #line 37248 "gram.c" /* yacc.c:1652  */
37248     break;
37249 
37250   case 1231:
37251 #line 8506 "gram.y" /* yacc.c:1652  */
37252     {
37253 					RenameStmt *n = makeNode(RenameStmt);
37254 					n->renameType = OBJECT_DOMAIN;
37255 					n->object = (Node *) (yyvsp[-3].list);
37256 					n->newname = (yyvsp[0].str);
37257 					n->missing_ok = false;
37258 					(yyval.node) = (Node *)n;
37259 				}
37260 #line 37261 "gram.c" /* yacc.c:1652  */
37261     break;
37262 
37263   case 1232:
37264 #line 8515 "gram.y" /* yacc.c:1652  */
37265     {
37266 					RenameStmt *n = makeNode(RenameStmt);
37267 					n->renameType = OBJECT_DOMCONSTRAINT;
37268 					n->object = (Node *) (yyvsp[-5].list);
37269 					n->subname = (yyvsp[-2].str);
37270 					n->newname = (yyvsp[0].str);
37271 					(yyval.node) = (Node *)n;
37272 				}
37273 #line 37274 "gram.c" /* yacc.c:1652  */
37274     break;
37275 
37276   case 1233:
37277 #line 8524 "gram.y" /* yacc.c:1652  */
37278     {
37279 					RenameStmt *n = makeNode(RenameStmt);
37280 					n->renameType = OBJECT_FDW;
37281 					n->object = (Node *) makeString((yyvsp[-3].str));
37282 					n->newname = (yyvsp[0].str);
37283 					n->missing_ok = false;
37284 					(yyval.node) = (Node *)n;
37285 				}
37286 #line 37287 "gram.c" /* yacc.c:1652  */
37287     break;
37288 
37289   case 1234:
37290 #line 8533 "gram.y" /* yacc.c:1652  */
37291     {
37292 					RenameStmt *n = makeNode(RenameStmt);
37293 					n->renameType = OBJECT_FUNCTION;
37294 					n->object = (Node *) (yyvsp[-3].objwithargs);
37295 					n->newname = (yyvsp[0].str);
37296 					n->missing_ok = false;
37297 					(yyval.node) = (Node *)n;
37298 				}
37299 #line 37300 "gram.c" /* yacc.c:1652  */
37300     break;
37301 
37302   case 1235:
37303 #line 8542 "gram.y" /* yacc.c:1652  */
37304     {
37305 					RenameStmt *n = makeNode(RenameStmt);
37306 					n->renameType = OBJECT_ROLE;
37307 					n->subname = (yyvsp[-3].str);
37308 					n->newname = (yyvsp[0].str);
37309 					n->missing_ok = false;
37310 					(yyval.node) = (Node *)n;
37311 				}
37312 #line 37313 "gram.c" /* yacc.c:1652  */
37313     break;
37314 
37315   case 1236:
37316 #line 8551 "gram.y" /* yacc.c:1652  */
37317     {
37318 					RenameStmt *n = makeNode(RenameStmt);
37319 					n->renameType = OBJECT_LANGUAGE;
37320 					n->object = (Node *) makeString((yyvsp[-3].str));
37321 					n->newname = (yyvsp[0].str);
37322 					n->missing_ok = false;
37323 					(yyval.node) = (Node *)n;
37324 				}
37325 #line 37326 "gram.c" /* yacc.c:1652  */
37326     break;
37327 
37328   case 1237:
37329 #line 8560 "gram.y" /* yacc.c:1652  */
37330     {
37331 					RenameStmt *n = makeNode(RenameStmt);
37332 					n->renameType = OBJECT_OPCLASS;
37333 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37334 					n->newname = (yyvsp[0].str);
37335 					n->missing_ok = false;
37336 					(yyval.node) = (Node *)n;
37337 				}
37338 #line 37339 "gram.c" /* yacc.c:1652  */
37339     break;
37340 
37341   case 1238:
37342 #line 8569 "gram.y" /* yacc.c:1652  */
37343     {
37344 					RenameStmt *n = makeNode(RenameStmt);
37345 					n->renameType = OBJECT_OPFAMILY;
37346 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
37347 					n->newname = (yyvsp[0].str);
37348 					n->missing_ok = false;
37349 					(yyval.node) = (Node *)n;
37350 				}
37351 #line 37352 "gram.c" /* yacc.c:1652  */
37352     break;
37353 
37354   case 1239:
37355 #line 8578 "gram.y" /* yacc.c:1652  */
37356     {
37357 					RenameStmt *n = makeNode(RenameStmt);
37358 					n->renameType = OBJECT_POLICY;
37359 					n->relation = (yyvsp[-3].range);
37360 					n->subname = (yyvsp[-5].str);
37361 					n->newname = (yyvsp[0].str);
37362 					n->missing_ok = false;
37363 					(yyval.node) = (Node *)n;
37364 				}
37365 #line 37366 "gram.c" /* yacc.c:1652  */
37366     break;
37367 
37368   case 1240:
37369 #line 8588 "gram.y" /* yacc.c:1652  */
37370     {
37371 					RenameStmt *n = makeNode(RenameStmt);
37372 					n->renameType = OBJECT_POLICY;
37373 					n->relation = (yyvsp[-3].range);
37374 					n->subname = (yyvsp[-5].str);
37375 					n->newname = (yyvsp[0].str);
37376 					n->missing_ok = true;
37377 					(yyval.node) = (Node *)n;
37378 				}
37379 #line 37380 "gram.c" /* yacc.c:1652  */
37380     break;
37381 
37382   case 1241:
37383 #line 8598 "gram.y" /* yacc.c:1652  */
37384     {
37385 					RenameStmt *n = makeNode(RenameStmt);
37386 					n->renameType = OBJECT_PROCEDURE;
37387 					n->object = (Node *) (yyvsp[-3].objwithargs);
37388 					n->newname = (yyvsp[0].str);
37389 					n->missing_ok = false;
37390 					(yyval.node) = (Node *)n;
37391 				}
37392 #line 37393 "gram.c" /* yacc.c:1652  */
37393     break;
37394 
37395   case 1242:
37396 #line 8607 "gram.y" /* yacc.c:1652  */
37397     {
37398 					RenameStmt *n = makeNode(RenameStmt);
37399 					n->renameType = OBJECT_PUBLICATION;
37400 					n->object = (Node *) makeString((yyvsp[-3].str));
37401 					n->newname = (yyvsp[0].str);
37402 					n->missing_ok = false;
37403 					(yyval.node) = (Node *)n;
37404 				}
37405 #line 37406 "gram.c" /* yacc.c:1652  */
37406     break;
37407 
37408   case 1243:
37409 #line 8616 "gram.y" /* yacc.c:1652  */
37410     {
37411 					RenameStmt *n = makeNode(RenameStmt);
37412 					n->renameType = OBJECT_ROUTINE;
37413 					n->object = (Node *) (yyvsp[-3].objwithargs);
37414 					n->newname = (yyvsp[0].str);
37415 					n->missing_ok = false;
37416 					(yyval.node) = (Node *)n;
37417 				}
37418 #line 37419 "gram.c" /* yacc.c:1652  */
37419     break;
37420 
37421   case 1244:
37422 #line 8625 "gram.y" /* yacc.c:1652  */
37423     {
37424 					RenameStmt *n = makeNode(RenameStmt);
37425 					n->renameType = OBJECT_SCHEMA;
37426 					n->subname = (yyvsp[-3].str);
37427 					n->newname = (yyvsp[0].str);
37428 					n->missing_ok = false;
37429 					(yyval.node) = (Node *)n;
37430 				}
37431 #line 37432 "gram.c" /* yacc.c:1652  */
37432     break;
37433 
37434   case 1245:
37435 #line 8634 "gram.y" /* yacc.c:1652  */
37436     {
37437 					RenameStmt *n = makeNode(RenameStmt);
37438 					n->renameType = OBJECT_FOREIGN_SERVER;
37439 					n->object = (Node *) makeString((yyvsp[-3].str));
37440 					n->newname = (yyvsp[0].str);
37441 					n->missing_ok = false;
37442 					(yyval.node) = (Node *)n;
37443 				}
37444 #line 37445 "gram.c" /* yacc.c:1652  */
37445     break;
37446 
37447   case 1246:
37448 #line 8643 "gram.y" /* yacc.c:1652  */
37449     {
37450 					RenameStmt *n = makeNode(RenameStmt);
37451 					n->renameType = OBJECT_SUBSCRIPTION;
37452 					n->object = (Node *) makeString((yyvsp[-3].str));
37453 					n->newname = (yyvsp[0].str);
37454 					n->missing_ok = false;
37455 					(yyval.node) = (Node *)n;
37456 				}
37457 #line 37458 "gram.c" /* yacc.c:1652  */
37458     break;
37459 
37460   case 1247:
37461 #line 8652 "gram.y" /* yacc.c:1652  */
37462     {
37463 					RenameStmt *n = makeNode(RenameStmt);
37464 					n->renameType = OBJECT_TABLE;
37465 					n->relation = (yyvsp[-3].range);
37466 					n->subname = NULL;
37467 					n->newname = (yyvsp[0].str);
37468 					n->missing_ok = false;
37469 					(yyval.node) = (Node *)n;
37470 				}
37471 #line 37472 "gram.c" /* yacc.c:1652  */
37472     break;
37473 
37474   case 1248:
37475 #line 8662 "gram.y" /* yacc.c:1652  */
37476     {
37477 					RenameStmt *n = makeNode(RenameStmt);
37478 					n->renameType = OBJECT_TABLE;
37479 					n->relation = (yyvsp[-3].range);
37480 					n->subname = NULL;
37481 					n->newname = (yyvsp[0].str);
37482 					n->missing_ok = true;
37483 					(yyval.node) = (Node *)n;
37484 				}
37485 #line 37486 "gram.c" /* yacc.c:1652  */
37486     break;
37487 
37488   case 1249:
37489 #line 8672 "gram.y" /* yacc.c:1652  */
37490     {
37491 					RenameStmt *n = makeNode(RenameStmt);
37492 					n->renameType = OBJECT_SEQUENCE;
37493 					n->relation = (yyvsp[-3].range);
37494 					n->subname = NULL;
37495 					n->newname = (yyvsp[0].str);
37496 					n->missing_ok = false;
37497 					(yyval.node) = (Node *)n;
37498 				}
37499 #line 37500 "gram.c" /* yacc.c:1652  */
37500     break;
37501 
37502   case 1250:
37503 #line 8682 "gram.y" /* yacc.c:1652  */
37504     {
37505 					RenameStmt *n = makeNode(RenameStmt);
37506 					n->renameType = OBJECT_SEQUENCE;
37507 					n->relation = (yyvsp[-3].range);
37508 					n->subname = NULL;
37509 					n->newname = (yyvsp[0].str);
37510 					n->missing_ok = true;
37511 					(yyval.node) = (Node *)n;
37512 				}
37513 #line 37514 "gram.c" /* yacc.c:1652  */
37514     break;
37515 
37516   case 1251:
37517 #line 8692 "gram.y" /* yacc.c:1652  */
37518     {
37519 					RenameStmt *n = makeNode(RenameStmt);
37520 					n->renameType = OBJECT_VIEW;
37521 					n->relation = (yyvsp[-3].range);
37522 					n->subname = NULL;
37523 					n->newname = (yyvsp[0].str);
37524 					n->missing_ok = false;
37525 					(yyval.node) = (Node *)n;
37526 				}
37527 #line 37528 "gram.c" /* yacc.c:1652  */
37528     break;
37529 
37530   case 1252:
37531 #line 8702 "gram.y" /* yacc.c:1652  */
37532     {
37533 					RenameStmt *n = makeNode(RenameStmt);
37534 					n->renameType = OBJECT_VIEW;
37535 					n->relation = (yyvsp[-3].range);
37536 					n->subname = NULL;
37537 					n->newname = (yyvsp[0].str);
37538 					n->missing_ok = true;
37539 					(yyval.node) = (Node *)n;
37540 				}
37541 #line 37542 "gram.c" /* yacc.c:1652  */
37542     break;
37543 
37544   case 1253:
37545 #line 8712 "gram.y" /* yacc.c:1652  */
37546     {
37547 					RenameStmt *n = makeNode(RenameStmt);
37548 					n->renameType = OBJECT_MATVIEW;
37549 					n->relation = (yyvsp[-3].range);
37550 					n->subname = NULL;
37551 					n->newname = (yyvsp[0].str);
37552 					n->missing_ok = false;
37553 					(yyval.node) = (Node *)n;
37554 				}
37555 #line 37556 "gram.c" /* yacc.c:1652  */
37556     break;
37557 
37558   case 1254:
37559 #line 8722 "gram.y" /* yacc.c:1652  */
37560     {
37561 					RenameStmt *n = makeNode(RenameStmt);
37562 					n->renameType = OBJECT_MATVIEW;
37563 					n->relation = (yyvsp[-3].range);
37564 					n->subname = NULL;
37565 					n->newname = (yyvsp[0].str);
37566 					n->missing_ok = true;
37567 					(yyval.node) = (Node *)n;
37568 				}
37569 #line 37570 "gram.c" /* yacc.c:1652  */
37570     break;
37571 
37572   case 1255:
37573 #line 8732 "gram.y" /* yacc.c:1652  */
37574     {
37575 					RenameStmt *n = makeNode(RenameStmt);
37576 					n->renameType = OBJECT_INDEX;
37577 					n->relation = (yyvsp[-3].range);
37578 					n->subname = NULL;
37579 					n->newname = (yyvsp[0].str);
37580 					n->missing_ok = false;
37581 					(yyval.node) = (Node *)n;
37582 				}
37583 #line 37584 "gram.c" /* yacc.c:1652  */
37584     break;
37585 
37586   case 1256:
37587 #line 8742 "gram.y" /* yacc.c:1652  */
37588     {
37589 					RenameStmt *n = makeNode(RenameStmt);
37590 					n->renameType = OBJECT_INDEX;
37591 					n->relation = (yyvsp[-3].range);
37592 					n->subname = NULL;
37593 					n->newname = (yyvsp[0].str);
37594 					n->missing_ok = true;
37595 					(yyval.node) = (Node *)n;
37596 				}
37597 #line 37598 "gram.c" /* yacc.c:1652  */
37598     break;
37599 
37600   case 1257:
37601 #line 8752 "gram.y" /* yacc.c:1652  */
37602     {
37603 					RenameStmt *n = makeNode(RenameStmt);
37604 					n->renameType = OBJECT_FOREIGN_TABLE;
37605 					n->relation = (yyvsp[-3].range);
37606 					n->subname = NULL;
37607 					n->newname = (yyvsp[0].str);
37608 					n->missing_ok = false;
37609 					(yyval.node) = (Node *)n;
37610 				}
37611 #line 37612 "gram.c" /* yacc.c:1652  */
37612     break;
37613 
37614   case 1258:
37615 #line 8762 "gram.y" /* yacc.c:1652  */
37616     {
37617 					RenameStmt *n = makeNode(RenameStmt);
37618 					n->renameType = OBJECT_FOREIGN_TABLE;
37619 					n->relation = (yyvsp[-3].range);
37620 					n->subname = NULL;
37621 					n->newname = (yyvsp[0].str);
37622 					n->missing_ok = true;
37623 					(yyval.node) = (Node *)n;
37624 				}
37625 #line 37626 "gram.c" /* yacc.c:1652  */
37626     break;
37627 
37628   case 1259:
37629 #line 8772 "gram.y" /* yacc.c:1652  */
37630     {
37631 					RenameStmt *n = makeNode(RenameStmt);
37632 					n->renameType = OBJECT_COLUMN;
37633 					n->relationType = OBJECT_TABLE;
37634 					n->relation = (yyvsp[-5].range);
37635 					n->subname = (yyvsp[-2].str);
37636 					n->newname = (yyvsp[0].str);
37637 					n->missing_ok = false;
37638 					(yyval.node) = (Node *)n;
37639 				}
37640 #line 37641 "gram.c" /* yacc.c:1652  */
37641     break;
37642 
37643   case 1260:
37644 #line 8783 "gram.y" /* yacc.c:1652  */
37645     {
37646 					RenameStmt *n = makeNode(RenameStmt);
37647 					n->renameType = OBJECT_COLUMN;
37648 					n->relationType = OBJECT_TABLE;
37649 					n->relation = (yyvsp[-5].range);
37650 					n->subname = (yyvsp[-2].str);
37651 					n->newname = (yyvsp[0].str);
37652 					n->missing_ok = true;
37653 					(yyval.node) = (Node *)n;
37654 				}
37655 #line 37656 "gram.c" /* yacc.c:1652  */
37656     break;
37657 
37658   case 1261:
37659 #line 8794 "gram.y" /* yacc.c:1652  */
37660     {
37661 					RenameStmt *n = makeNode(RenameStmt);
37662 					n->renameType = OBJECT_COLUMN;
37663 					n->relationType = OBJECT_VIEW;
37664 					n->relation = (yyvsp[-5].range);
37665 					n->subname = (yyvsp[-2].str);
37666 					n->newname = (yyvsp[0].str);
37667 					n->missing_ok = false;
37668 					(yyval.node) = (Node *)n;
37669 				}
37670 #line 37671 "gram.c" /* yacc.c:1652  */
37671     break;
37672 
37673   case 1262:
37674 #line 8805 "gram.y" /* yacc.c:1652  */
37675     {
37676 					RenameStmt *n = makeNode(RenameStmt);
37677 					n->renameType = OBJECT_COLUMN;
37678 					n->relationType = OBJECT_VIEW;
37679 					n->relation = (yyvsp[-5].range);
37680 					n->subname = (yyvsp[-2].str);
37681 					n->newname = (yyvsp[0].str);
37682 					n->missing_ok = true;
37683 					(yyval.node) = (Node *)n;
37684 				}
37685 #line 37686 "gram.c" /* yacc.c:1652  */
37686     break;
37687 
37688   case 1263:
37689 #line 8816 "gram.y" /* yacc.c:1652  */
37690     {
37691 					RenameStmt *n = makeNode(RenameStmt);
37692 					n->renameType = OBJECT_COLUMN;
37693 					n->relationType = OBJECT_MATVIEW;
37694 					n->relation = (yyvsp[-5].range);
37695 					n->subname = (yyvsp[-2].str);
37696 					n->newname = (yyvsp[0].str);
37697 					n->missing_ok = false;
37698 					(yyval.node) = (Node *)n;
37699 				}
37700 #line 37701 "gram.c" /* yacc.c:1652  */
37701     break;
37702 
37703   case 1264:
37704 #line 8827 "gram.y" /* yacc.c:1652  */
37705     {
37706 					RenameStmt *n = makeNode(RenameStmt);
37707 					n->renameType = OBJECT_COLUMN;
37708 					n->relationType = OBJECT_MATVIEW;
37709 					n->relation = (yyvsp[-5].range);
37710 					n->subname = (yyvsp[-2].str);
37711 					n->newname = (yyvsp[0].str);
37712 					n->missing_ok = true;
37713 					(yyval.node) = (Node *)n;
37714 				}
37715 #line 37716 "gram.c" /* yacc.c:1652  */
37716     break;
37717 
37718   case 1265:
37719 #line 8838 "gram.y" /* yacc.c:1652  */
37720     {
37721 					RenameStmt *n = makeNode(RenameStmt);
37722 					n->renameType = OBJECT_TABCONSTRAINT;
37723 					n->relation = (yyvsp[-5].range);
37724 					n->subname = (yyvsp[-2].str);
37725 					n->newname = (yyvsp[0].str);
37726 					n->missing_ok = false;
37727 					(yyval.node) = (Node *)n;
37728 				}
37729 #line 37730 "gram.c" /* yacc.c:1652  */
37730     break;
37731 
37732   case 1266:
37733 #line 8848 "gram.y" /* yacc.c:1652  */
37734     {
37735 					RenameStmt *n = makeNode(RenameStmt);
37736 					n->renameType = OBJECT_TABCONSTRAINT;
37737 					n->relation = (yyvsp[-5].range);
37738 					n->subname = (yyvsp[-2].str);
37739 					n->newname = (yyvsp[0].str);
37740 					n->missing_ok = true;
37741 					(yyval.node) = (Node *)n;
37742 				}
37743 #line 37744 "gram.c" /* yacc.c:1652  */
37744     break;
37745 
37746   case 1267:
37747 #line 8858 "gram.y" /* yacc.c:1652  */
37748     {
37749 					RenameStmt *n = makeNode(RenameStmt);
37750 					n->renameType = OBJECT_COLUMN;
37751 					n->relationType = OBJECT_FOREIGN_TABLE;
37752 					n->relation = (yyvsp[-5].range);
37753 					n->subname = (yyvsp[-2].str);
37754 					n->newname = (yyvsp[0].str);
37755 					n->missing_ok = false;
37756 					(yyval.node) = (Node *)n;
37757 				}
37758 #line 37759 "gram.c" /* yacc.c:1652  */
37759     break;
37760 
37761   case 1268:
37762 #line 8869 "gram.y" /* yacc.c:1652  */
37763     {
37764 					RenameStmt *n = makeNode(RenameStmt);
37765 					n->renameType = OBJECT_COLUMN;
37766 					n->relationType = OBJECT_FOREIGN_TABLE;
37767 					n->relation = (yyvsp[-5].range);
37768 					n->subname = (yyvsp[-2].str);
37769 					n->newname = (yyvsp[0].str);
37770 					n->missing_ok = true;
37771 					(yyval.node) = (Node *)n;
37772 				}
37773 #line 37774 "gram.c" /* yacc.c:1652  */
37774     break;
37775 
37776   case 1269:
37777 #line 8880 "gram.y" /* yacc.c:1652  */
37778     {
37779 					RenameStmt *n = makeNode(RenameStmt);
37780 					n->renameType = OBJECT_RULE;
37781 					n->relation = (yyvsp[-3].range);
37782 					n->subname = (yyvsp[-5].str);
37783 					n->newname = (yyvsp[0].str);
37784 					n->missing_ok = false;
37785 					(yyval.node) = (Node *)n;
37786 				}
37787 #line 37788 "gram.c" /* yacc.c:1652  */
37788     break;
37789 
37790   case 1270:
37791 #line 8890 "gram.y" /* yacc.c:1652  */
37792     {
37793 					RenameStmt *n = makeNode(RenameStmt);
37794 					n->renameType = OBJECT_TRIGGER;
37795 					n->relation = (yyvsp[-3].range);
37796 					n->subname = (yyvsp[-5].str);
37797 					n->newname = (yyvsp[0].str);
37798 					n->missing_ok = false;
37799 					(yyval.node) = (Node *)n;
37800 				}
37801 #line 37802 "gram.c" /* yacc.c:1652  */
37802     break;
37803 
37804   case 1271:
37805 #line 8900 "gram.y" /* yacc.c:1652  */
37806     {
37807 					RenameStmt *n = makeNode(RenameStmt);
37808 					n->renameType = OBJECT_EVENT_TRIGGER;
37809 					n->object = (Node *) makeString((yyvsp[-3].str));
37810 					n->newname = (yyvsp[0].str);
37811 					(yyval.node) = (Node *)n;
37812 				}
37813 #line 37814 "gram.c" /* yacc.c:1652  */
37814     break;
37815 
37816   case 1272:
37817 #line 8908 "gram.y" /* yacc.c:1652  */
37818     {
37819 					RenameStmt *n = makeNode(RenameStmt);
37820 					n->renameType = OBJECT_ROLE;
37821 					n->subname = (yyvsp[-3].str);
37822 					n->newname = (yyvsp[0].str);
37823 					n->missing_ok = false;
37824 					(yyval.node) = (Node *)n;
37825 				}
37826 #line 37827 "gram.c" /* yacc.c:1652  */
37827     break;
37828 
37829   case 1273:
37830 #line 8917 "gram.y" /* yacc.c:1652  */
37831     {
37832 					RenameStmt *n = makeNode(RenameStmt);
37833 					n->renameType = OBJECT_ROLE;
37834 					n->subname = (yyvsp[-3].str);
37835 					n->newname = (yyvsp[0].str);
37836 					n->missing_ok = false;
37837 					(yyval.node) = (Node *)n;
37838 				}
37839 #line 37840 "gram.c" /* yacc.c:1652  */
37840     break;
37841 
37842   case 1274:
37843 #line 8926 "gram.y" /* yacc.c:1652  */
37844     {
37845 					RenameStmt *n = makeNode(RenameStmt);
37846 					n->renameType = OBJECT_TABLESPACE;
37847 					n->subname = (yyvsp[-3].str);
37848 					n->newname = (yyvsp[0].str);
37849 					n->missing_ok = false;
37850 					(yyval.node) = (Node *)n;
37851 				}
37852 #line 37853 "gram.c" /* yacc.c:1652  */
37853     break;
37854 
37855   case 1275:
37856 #line 8935 "gram.y" /* yacc.c:1652  */
37857     {
37858 					RenameStmt *n = makeNode(RenameStmt);
37859 					n->renameType = OBJECT_STATISTIC_EXT;
37860 					n->object = (Node *) (yyvsp[-3].list);
37861 					n->newname = (yyvsp[0].str);
37862 					n->missing_ok = false;
37863 					(yyval.node) = (Node *)n;
37864 				}
37865 #line 37866 "gram.c" /* yacc.c:1652  */
37866     break;
37867 
37868   case 1276:
37869 #line 8944 "gram.y" /* yacc.c:1652  */
37870     {
37871 					RenameStmt *n = makeNode(RenameStmt);
37872 					n->renameType = OBJECT_TSPARSER;
37873 					n->object = (Node *) (yyvsp[-3].list);
37874 					n->newname = (yyvsp[0].str);
37875 					n->missing_ok = false;
37876 					(yyval.node) = (Node *)n;
37877 				}
37878 #line 37879 "gram.c" /* yacc.c:1652  */
37879     break;
37880 
37881   case 1277:
37882 #line 8953 "gram.y" /* yacc.c:1652  */
37883     {
37884 					RenameStmt *n = makeNode(RenameStmt);
37885 					n->renameType = OBJECT_TSDICTIONARY;
37886 					n->object = (Node *) (yyvsp[-3].list);
37887 					n->newname = (yyvsp[0].str);
37888 					n->missing_ok = false;
37889 					(yyval.node) = (Node *)n;
37890 				}
37891 #line 37892 "gram.c" /* yacc.c:1652  */
37892     break;
37893 
37894   case 1278:
37895 #line 8962 "gram.y" /* yacc.c:1652  */
37896     {
37897 					RenameStmt *n = makeNode(RenameStmt);
37898 					n->renameType = OBJECT_TSTEMPLATE;
37899 					n->object = (Node *) (yyvsp[-3].list);
37900 					n->newname = (yyvsp[0].str);
37901 					n->missing_ok = false;
37902 					(yyval.node) = (Node *)n;
37903 				}
37904 #line 37905 "gram.c" /* yacc.c:1652  */
37905     break;
37906 
37907   case 1279:
37908 #line 8971 "gram.y" /* yacc.c:1652  */
37909     {
37910 					RenameStmt *n = makeNode(RenameStmt);
37911 					n->renameType = OBJECT_TSCONFIGURATION;
37912 					n->object = (Node *) (yyvsp[-3].list);
37913 					n->newname = (yyvsp[0].str);
37914 					n->missing_ok = false;
37915 					(yyval.node) = (Node *)n;
37916 				}
37917 #line 37918 "gram.c" /* yacc.c:1652  */
37918     break;
37919 
37920   case 1280:
37921 #line 8980 "gram.y" /* yacc.c:1652  */
37922     {
37923 					RenameStmt *n = makeNode(RenameStmt);
37924 					n->renameType = OBJECT_TYPE;
37925 					n->object = (Node *) (yyvsp[-3].list);
37926 					n->newname = (yyvsp[0].str);
37927 					n->missing_ok = false;
37928 					(yyval.node) = (Node *)n;
37929 				}
37930 #line 37931 "gram.c" /* yacc.c:1652  */
37931     break;
37932 
37933   case 1281:
37934 #line 8989 "gram.y" /* yacc.c:1652  */
37935     {
37936 					RenameStmt *n = makeNode(RenameStmt);
37937 					n->renameType = OBJECT_ATTRIBUTE;
37938 					n->relationType = OBJECT_TYPE;
37939 					n->relation = makeRangeVarFromAnyName((yyvsp[-6].list), (yylsp[-6]), yyscanner);
37940 					n->subname = (yyvsp[-3].str);
37941 					n->newname = (yyvsp[-1].str);
37942 					n->behavior = (yyvsp[0].dbehavior);
37943 					n->missing_ok = false;
37944 					(yyval.node) = (Node *)n;
37945 				}
37946 #line 37947 "gram.c" /* yacc.c:1652  */
37947     break;
37948 
37949   case 1284:
37950 #line 9006 "gram.y" /* yacc.c:1652  */
37951     { (yyval.ival) = 1; }
37952 #line 37953 "gram.c" /* yacc.c:1652  */
37953     break;
37954 
37955   case 1285:
37956 #line 9007 "gram.y" /* yacc.c:1652  */
37957     { (yyval.ival) = 0; }
37958 #line 37959 "gram.c" /* yacc.c:1652  */
37959     break;
37960 
37961   case 1286:
37962 #line 9018 "gram.y" /* yacc.c:1652  */
37963     {
37964 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37965 					n->objectType = OBJECT_FUNCTION;
37966 					n->object = (Node *) (yyvsp[-5].objwithargs);
37967 					n->extname = makeString((yyvsp[0].str));
37968 					n->remove = (yyvsp[-4].boolean);
37969 					(yyval.node) = (Node *)n;
37970 				}
37971 #line 37972 "gram.c" /* yacc.c:1652  */
37972     break;
37973 
37974   case 1287:
37975 #line 9027 "gram.y" /* yacc.c:1652  */
37976     {
37977 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37978 					n->objectType = OBJECT_PROCEDURE;
37979 					n->object = (Node *) (yyvsp[-5].objwithargs);
37980 					n->extname = makeString((yyvsp[0].str));
37981 					n->remove = (yyvsp[-4].boolean);
37982 					(yyval.node) = (Node *)n;
37983 				}
37984 #line 37985 "gram.c" /* yacc.c:1652  */
37985     break;
37986 
37987   case 1288:
37988 #line 9036 "gram.y" /* yacc.c:1652  */
37989     {
37990 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
37991 					n->objectType = OBJECT_ROUTINE;
37992 					n->object = (Node *) (yyvsp[-5].objwithargs);
37993 					n->extname = makeString((yyvsp[0].str));
37994 					n->remove = (yyvsp[-4].boolean);
37995 					(yyval.node) = (Node *)n;
37996 				}
37997 #line 37998 "gram.c" /* yacc.c:1652  */
37998     break;
37999 
38000   case 1289:
38001 #line 9045 "gram.y" /* yacc.c:1652  */
38002     {
38003 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38004 					n->objectType = OBJECT_TRIGGER;
38005 					n->relation = (yyvsp[-5].range);
38006 					n->object = (Node *) list_make1(makeString((yyvsp[-7].str)));
38007 					n->extname = makeString((yyvsp[0].str));
38008 					n->remove = (yyvsp[-4].boolean);
38009 					(yyval.node) = (Node *)n;
38010 				}
38011 #line 38012 "gram.c" /* yacc.c:1652  */
38012     break;
38013 
38014   case 1290:
38015 #line 9055 "gram.y" /* yacc.c:1652  */
38016     {
38017 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38018 					n->objectType = OBJECT_MATVIEW;
38019 					n->relation = (yyvsp[-5].range);
38020 					n->extname = makeString((yyvsp[0].str));
38021 					n->remove = (yyvsp[-4].boolean);
38022 					(yyval.node) = (Node *)n;
38023 				}
38024 #line 38025 "gram.c" /* yacc.c:1652  */
38025     break;
38026 
38027   case 1291:
38028 #line 9064 "gram.y" /* yacc.c:1652  */
38029     {
38030 					AlterObjectDependsStmt *n = makeNode(AlterObjectDependsStmt);
38031 					n->objectType = OBJECT_INDEX;
38032 					n->relation = (yyvsp[-5].range);
38033 					n->extname = makeString((yyvsp[0].str));
38034 					n->remove = (yyvsp[-4].boolean);
38035 					(yyval.node) = (Node *)n;
38036 				}
38037 #line 38038 "gram.c" /* yacc.c:1652  */
38038     break;
38039 
38040   case 1292:
38041 #line 9074 "gram.y" /* yacc.c:1652  */
38042     { (yyval.boolean) = true; }
38043 #line 38044 "gram.c" /* yacc.c:1652  */
38044     break;
38045 
38046   case 1293:
38047 #line 9075 "gram.y" /* yacc.c:1652  */
38048     { (yyval.boolean) = false;	}
38049 #line 38050 "gram.c" /* yacc.c:1652  */
38050     break;
38051 
38052   case 1294:
38053 #line 9086 "gram.y" /* yacc.c:1652  */
38054     {
38055 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38056 					n->objectType = OBJECT_AGGREGATE;
38057 					n->object = (Node *) (yyvsp[-3].objwithargs);
38058 					n->newschema = (yyvsp[0].str);
38059 					n->missing_ok = false;
38060 					(yyval.node) = (Node *)n;
38061 				}
38062 #line 38063 "gram.c" /* yacc.c:1652  */
38063     break;
38064 
38065   case 1295:
38066 #line 9095 "gram.y" /* yacc.c:1652  */
38067     {
38068 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38069 					n->objectType = OBJECT_COLLATION;
38070 					n->object = (Node *) (yyvsp[-3].list);
38071 					n->newschema = (yyvsp[0].str);
38072 					n->missing_ok = false;
38073 					(yyval.node) = (Node *)n;
38074 				}
38075 #line 38076 "gram.c" /* yacc.c:1652  */
38076     break;
38077 
38078   case 1296:
38079 #line 9104 "gram.y" /* yacc.c:1652  */
38080     {
38081 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38082 					n->objectType = OBJECT_CONVERSION;
38083 					n->object = (Node *) (yyvsp[-3].list);
38084 					n->newschema = (yyvsp[0].str);
38085 					n->missing_ok = false;
38086 					(yyval.node) = (Node *)n;
38087 				}
38088 #line 38089 "gram.c" /* yacc.c:1652  */
38089     break;
38090 
38091   case 1297:
38092 #line 9113 "gram.y" /* yacc.c:1652  */
38093     {
38094 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38095 					n->objectType = OBJECT_DOMAIN;
38096 					n->object = (Node *) (yyvsp[-3].list);
38097 					n->newschema = (yyvsp[0].str);
38098 					n->missing_ok = false;
38099 					(yyval.node) = (Node *)n;
38100 				}
38101 #line 38102 "gram.c" /* yacc.c:1652  */
38102     break;
38103 
38104   case 1298:
38105 #line 9122 "gram.y" /* yacc.c:1652  */
38106     {
38107 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38108 					n->objectType = OBJECT_EXTENSION;
38109 					n->object = (Node *) makeString((yyvsp[-3].str));
38110 					n->newschema = (yyvsp[0].str);
38111 					n->missing_ok = false;
38112 					(yyval.node) = (Node *)n;
38113 				}
38114 #line 38115 "gram.c" /* yacc.c:1652  */
38115     break;
38116 
38117   case 1299:
38118 #line 9131 "gram.y" /* yacc.c:1652  */
38119     {
38120 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38121 					n->objectType = OBJECT_FUNCTION;
38122 					n->object = (Node *) (yyvsp[-3].objwithargs);
38123 					n->newschema = (yyvsp[0].str);
38124 					n->missing_ok = false;
38125 					(yyval.node) = (Node *)n;
38126 				}
38127 #line 38128 "gram.c" /* yacc.c:1652  */
38128     break;
38129 
38130   case 1300:
38131 #line 9140 "gram.y" /* yacc.c:1652  */
38132     {
38133 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38134 					n->objectType = OBJECT_OPERATOR;
38135 					n->object = (Node *) (yyvsp[-3].objwithargs);
38136 					n->newschema = (yyvsp[0].str);
38137 					n->missing_ok = false;
38138 					(yyval.node) = (Node *)n;
38139 				}
38140 #line 38141 "gram.c" /* yacc.c:1652  */
38141     break;
38142 
38143   case 1301:
38144 #line 9149 "gram.y" /* yacc.c:1652  */
38145     {
38146 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38147 					n->objectType = OBJECT_OPCLASS;
38148 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
38149 					n->newschema = (yyvsp[0].str);
38150 					n->missing_ok = false;
38151 					(yyval.node) = (Node *)n;
38152 				}
38153 #line 38154 "gram.c" /* yacc.c:1652  */
38154     break;
38155 
38156   case 1302:
38157 #line 9158 "gram.y" /* yacc.c:1652  */
38158     {
38159 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38160 					n->objectType = OBJECT_OPFAMILY;
38161 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
38162 					n->newschema = (yyvsp[0].str);
38163 					n->missing_ok = false;
38164 					(yyval.node) = (Node *)n;
38165 				}
38166 #line 38167 "gram.c" /* yacc.c:1652  */
38167     break;
38168 
38169   case 1303:
38170 #line 9167 "gram.y" /* yacc.c:1652  */
38171     {
38172 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38173 					n->objectType = OBJECT_PROCEDURE;
38174 					n->object = (Node *) (yyvsp[-3].objwithargs);
38175 					n->newschema = (yyvsp[0].str);
38176 					n->missing_ok = false;
38177 					(yyval.node) = (Node *)n;
38178 				}
38179 #line 38180 "gram.c" /* yacc.c:1652  */
38180     break;
38181 
38182   case 1304:
38183 #line 9176 "gram.y" /* yacc.c:1652  */
38184     {
38185 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38186 					n->objectType = OBJECT_ROUTINE;
38187 					n->object = (Node *) (yyvsp[-3].objwithargs);
38188 					n->newschema = (yyvsp[0].str);
38189 					n->missing_ok = false;
38190 					(yyval.node) = (Node *)n;
38191 				}
38192 #line 38193 "gram.c" /* yacc.c:1652  */
38193     break;
38194 
38195   case 1305:
38196 #line 9185 "gram.y" /* yacc.c:1652  */
38197     {
38198 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38199 					n->objectType = OBJECT_TABLE;
38200 					n->relation = (yyvsp[-3].range);
38201 					n->newschema = (yyvsp[0].str);
38202 					n->missing_ok = false;
38203 					(yyval.node) = (Node *)n;
38204 				}
38205 #line 38206 "gram.c" /* yacc.c:1652  */
38206     break;
38207 
38208   case 1306:
38209 #line 9194 "gram.y" /* yacc.c:1652  */
38210     {
38211 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38212 					n->objectType = OBJECT_TABLE;
38213 					n->relation = (yyvsp[-3].range);
38214 					n->newschema = (yyvsp[0].str);
38215 					n->missing_ok = true;
38216 					(yyval.node) = (Node *)n;
38217 				}
38218 #line 38219 "gram.c" /* yacc.c:1652  */
38219     break;
38220 
38221   case 1307:
38222 #line 9203 "gram.y" /* yacc.c:1652  */
38223     {
38224 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38225 					n->objectType = OBJECT_STATISTIC_EXT;
38226 					n->object = (Node *) (yyvsp[-3].list);
38227 					n->newschema = (yyvsp[0].str);
38228 					n->missing_ok = false;
38229 					(yyval.node) = (Node *)n;
38230 				}
38231 #line 38232 "gram.c" /* yacc.c:1652  */
38232     break;
38233 
38234   case 1308:
38235 #line 9212 "gram.y" /* yacc.c:1652  */
38236     {
38237 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38238 					n->objectType = OBJECT_TSPARSER;
38239 					n->object = (Node *) (yyvsp[-3].list);
38240 					n->newschema = (yyvsp[0].str);
38241 					n->missing_ok = false;
38242 					(yyval.node) = (Node *)n;
38243 				}
38244 #line 38245 "gram.c" /* yacc.c:1652  */
38245     break;
38246 
38247   case 1309:
38248 #line 9221 "gram.y" /* yacc.c:1652  */
38249     {
38250 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38251 					n->objectType = OBJECT_TSDICTIONARY;
38252 					n->object = (Node *) (yyvsp[-3].list);
38253 					n->newschema = (yyvsp[0].str);
38254 					n->missing_ok = false;
38255 					(yyval.node) = (Node *)n;
38256 				}
38257 #line 38258 "gram.c" /* yacc.c:1652  */
38258     break;
38259 
38260   case 1310:
38261 #line 9230 "gram.y" /* yacc.c:1652  */
38262     {
38263 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38264 					n->objectType = OBJECT_TSTEMPLATE;
38265 					n->object = (Node *) (yyvsp[-3].list);
38266 					n->newschema = (yyvsp[0].str);
38267 					n->missing_ok = false;
38268 					(yyval.node) = (Node *)n;
38269 				}
38270 #line 38271 "gram.c" /* yacc.c:1652  */
38271     break;
38272 
38273   case 1311:
38274 #line 9239 "gram.y" /* yacc.c:1652  */
38275     {
38276 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38277 					n->objectType = OBJECT_TSCONFIGURATION;
38278 					n->object = (Node *) (yyvsp[-3].list);
38279 					n->newschema = (yyvsp[0].str);
38280 					n->missing_ok = false;
38281 					(yyval.node) = (Node *)n;
38282 				}
38283 #line 38284 "gram.c" /* yacc.c:1652  */
38284     break;
38285 
38286   case 1312:
38287 #line 9248 "gram.y" /* yacc.c:1652  */
38288     {
38289 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38290 					n->objectType = OBJECT_SEQUENCE;
38291 					n->relation = (yyvsp[-3].range);
38292 					n->newschema = (yyvsp[0].str);
38293 					n->missing_ok = false;
38294 					(yyval.node) = (Node *)n;
38295 				}
38296 #line 38297 "gram.c" /* yacc.c:1652  */
38297     break;
38298 
38299   case 1313:
38300 #line 9257 "gram.y" /* yacc.c:1652  */
38301     {
38302 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38303 					n->objectType = OBJECT_SEQUENCE;
38304 					n->relation = (yyvsp[-3].range);
38305 					n->newschema = (yyvsp[0].str);
38306 					n->missing_ok = true;
38307 					(yyval.node) = (Node *)n;
38308 				}
38309 #line 38310 "gram.c" /* yacc.c:1652  */
38310     break;
38311 
38312   case 1314:
38313 #line 9266 "gram.y" /* yacc.c:1652  */
38314     {
38315 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38316 					n->objectType = OBJECT_VIEW;
38317 					n->relation = (yyvsp[-3].range);
38318 					n->newschema = (yyvsp[0].str);
38319 					n->missing_ok = false;
38320 					(yyval.node) = (Node *)n;
38321 				}
38322 #line 38323 "gram.c" /* yacc.c:1652  */
38323     break;
38324 
38325   case 1315:
38326 #line 9275 "gram.y" /* yacc.c:1652  */
38327     {
38328 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38329 					n->objectType = OBJECT_VIEW;
38330 					n->relation = (yyvsp[-3].range);
38331 					n->newschema = (yyvsp[0].str);
38332 					n->missing_ok = true;
38333 					(yyval.node) = (Node *)n;
38334 				}
38335 #line 38336 "gram.c" /* yacc.c:1652  */
38336     break;
38337 
38338   case 1316:
38339 #line 9284 "gram.y" /* yacc.c:1652  */
38340     {
38341 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38342 					n->objectType = OBJECT_MATVIEW;
38343 					n->relation = (yyvsp[-3].range);
38344 					n->newschema = (yyvsp[0].str);
38345 					n->missing_ok = false;
38346 					(yyval.node) = (Node *)n;
38347 				}
38348 #line 38349 "gram.c" /* yacc.c:1652  */
38349     break;
38350 
38351   case 1317:
38352 #line 9293 "gram.y" /* yacc.c:1652  */
38353     {
38354 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38355 					n->objectType = OBJECT_MATVIEW;
38356 					n->relation = (yyvsp[-3].range);
38357 					n->newschema = (yyvsp[0].str);
38358 					n->missing_ok = true;
38359 					(yyval.node) = (Node *)n;
38360 				}
38361 #line 38362 "gram.c" /* yacc.c:1652  */
38362     break;
38363 
38364   case 1318:
38365 #line 9302 "gram.y" /* yacc.c:1652  */
38366     {
38367 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38368 					n->objectType = OBJECT_FOREIGN_TABLE;
38369 					n->relation = (yyvsp[-3].range);
38370 					n->newschema = (yyvsp[0].str);
38371 					n->missing_ok = false;
38372 					(yyval.node) = (Node *)n;
38373 				}
38374 #line 38375 "gram.c" /* yacc.c:1652  */
38375     break;
38376 
38377   case 1319:
38378 #line 9311 "gram.y" /* yacc.c:1652  */
38379     {
38380 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38381 					n->objectType = OBJECT_FOREIGN_TABLE;
38382 					n->relation = (yyvsp[-3].range);
38383 					n->newschema = (yyvsp[0].str);
38384 					n->missing_ok = true;
38385 					(yyval.node) = (Node *)n;
38386 				}
38387 #line 38388 "gram.c" /* yacc.c:1652  */
38388     break;
38389 
38390   case 1320:
38391 #line 9320 "gram.y" /* yacc.c:1652  */
38392     {
38393 					AlterObjectSchemaStmt *n = makeNode(AlterObjectSchemaStmt);
38394 					n->objectType = OBJECT_TYPE;
38395 					n->object = (Node *) (yyvsp[-3].list);
38396 					n->newschema = (yyvsp[0].str);
38397 					n->missing_ok = false;
38398 					(yyval.node) = (Node *)n;
38399 				}
38400 #line 38401 "gram.c" /* yacc.c:1652  */
38401     break;
38402 
38403   case 1321:
38404 #line 9338 "gram.y" /* yacc.c:1652  */
38405     {
38406 					AlterOperatorStmt *n = makeNode(AlterOperatorStmt);
38407 					n->opername = (yyvsp[-4].objwithargs);
38408 					n->options = (yyvsp[-1].list);
38409 					(yyval.node) = (Node *)n;
38410 				}
38411 #line 38412 "gram.c" /* yacc.c:1652  */
38412     break;
38413 
38414   case 1322:
38415 #line 9346 "gram.y" /* yacc.c:1652  */
38416     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
38417 #line 38418 "gram.c" /* yacc.c:1652  */
38418     break;
38419 
38420   case 1323:
38421 #line 9347 "gram.y" /* yacc.c:1652  */
38422     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
38423 #line 38424 "gram.c" /* yacc.c:1652  */
38424     break;
38425 
38426   case 1324:
38427 #line 9351 "gram.y" /* yacc.c:1652  */
38428     { (yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2])); }
38429 #line 38430 "gram.c" /* yacc.c:1652  */
38430     break;
38431 
38432   case 1325:
38433 #line 9353 "gram.y" /* yacc.c:1652  */
38434     { (yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *) (yyvsp[0].node), (yylsp[-2])); }
38435 #line 38436 "gram.c" /* yacc.c:1652  */
38436     break;
38437 
38438   case 1326:
38439 #line 9358 "gram.y" /* yacc.c:1652  */
38440     { (yyval.node) = (Node *)(yyvsp[0].typnam); }
38441 #line 38442 "gram.c" /* yacc.c:1652  */
38442     break;
38443 
38444   case 1327:
38445 #line 9359 "gram.y" /* yacc.c:1652  */
38446     { (yyval.node) = (Node *)makeString(pstrdup((yyvsp[0].keyword))); }
38447 #line 38448 "gram.c" /* yacc.c:1652  */
38448     break;
38449 
38450   case 1328:
38451 #line 9360 "gram.y" /* yacc.c:1652  */
38452     { (yyval.node) = (Node *)(yyvsp[0].list); }
38453 #line 38454 "gram.c" /* yacc.c:1652  */
38454     break;
38455 
38456   case 1329:
38457 #line 9361 "gram.y" /* yacc.c:1652  */
38458     { (yyval.node) = (Node *)(yyvsp[0].value); }
38459 #line 38460 "gram.c" /* yacc.c:1652  */
38460     break;
38461 
38462   case 1330:
38463 #line 9362 "gram.y" /* yacc.c:1652  */
38464     { (yyval.node) = (Node *)makeString((yyvsp[0].str)); }
38465 #line 38466 "gram.c" /* yacc.c:1652  */
38466     break;
38467 
38468   case 1331:
38469 #line 9375 "gram.y" /* yacc.c:1652  */
38470     {
38471 					AlterTypeStmt *n = makeNode(AlterTypeStmt);
38472 					n->typeName = (yyvsp[-4].list);
38473 					n->options = (yyvsp[-1].list);
38474 					(yyval.node) = (Node *)n;
38475 				}
38476 #line 38477 "gram.c" /* yacc.c:1652  */
38477     break;
38478 
38479   case 1332:
38480 #line 9390 "gram.y" /* yacc.c:1652  */
38481     {
38482 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38483 					n->objectType = OBJECT_AGGREGATE;
38484 					n->object = (Node *) (yyvsp[-3].objwithargs);
38485 					n->newowner = (yyvsp[0].rolespec);
38486 					(yyval.node) = (Node *)n;
38487 				}
38488 #line 38489 "gram.c" /* yacc.c:1652  */
38489     break;
38490 
38491   case 1333:
38492 #line 9398 "gram.y" /* yacc.c:1652  */
38493     {
38494 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38495 					n->objectType = OBJECT_COLLATION;
38496 					n->object = (Node *) (yyvsp[-3].list);
38497 					n->newowner = (yyvsp[0].rolespec);
38498 					(yyval.node) = (Node *)n;
38499 				}
38500 #line 38501 "gram.c" /* yacc.c:1652  */
38501     break;
38502 
38503   case 1334:
38504 #line 9406 "gram.y" /* yacc.c:1652  */
38505     {
38506 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38507 					n->objectType = OBJECT_CONVERSION;
38508 					n->object = (Node *) (yyvsp[-3].list);
38509 					n->newowner = (yyvsp[0].rolespec);
38510 					(yyval.node) = (Node *)n;
38511 				}
38512 #line 38513 "gram.c" /* yacc.c:1652  */
38513     break;
38514 
38515   case 1335:
38516 #line 9414 "gram.y" /* yacc.c:1652  */
38517     {
38518 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38519 					n->objectType = OBJECT_DATABASE;
38520 					n->object = (Node *) makeString((yyvsp[-3].str));
38521 					n->newowner = (yyvsp[0].rolespec);
38522 					(yyval.node) = (Node *)n;
38523 				}
38524 #line 38525 "gram.c" /* yacc.c:1652  */
38525     break;
38526 
38527   case 1336:
38528 #line 9422 "gram.y" /* yacc.c:1652  */
38529     {
38530 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38531 					n->objectType = OBJECT_DOMAIN;
38532 					n->object = (Node *) (yyvsp[-3].list);
38533 					n->newowner = (yyvsp[0].rolespec);
38534 					(yyval.node) = (Node *)n;
38535 				}
38536 #line 38537 "gram.c" /* yacc.c:1652  */
38537     break;
38538 
38539   case 1337:
38540 #line 9430 "gram.y" /* yacc.c:1652  */
38541     {
38542 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38543 					n->objectType = OBJECT_FUNCTION;
38544 					n->object = (Node *) (yyvsp[-3].objwithargs);
38545 					n->newowner = (yyvsp[0].rolespec);
38546 					(yyval.node) = (Node *)n;
38547 				}
38548 #line 38549 "gram.c" /* yacc.c:1652  */
38549     break;
38550 
38551   case 1338:
38552 #line 9438 "gram.y" /* yacc.c:1652  */
38553     {
38554 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38555 					n->objectType = OBJECT_LANGUAGE;
38556 					n->object = (Node *) makeString((yyvsp[-3].str));
38557 					n->newowner = (yyvsp[0].rolespec);
38558 					(yyval.node) = (Node *)n;
38559 				}
38560 #line 38561 "gram.c" /* yacc.c:1652  */
38561     break;
38562 
38563   case 1339:
38564 #line 9446 "gram.y" /* yacc.c:1652  */
38565     {
38566 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38567 					n->objectType = OBJECT_LARGEOBJECT;
38568 					n->object = (Node *) (yyvsp[-3].value);
38569 					n->newowner = (yyvsp[0].rolespec);
38570 					(yyval.node) = (Node *)n;
38571 				}
38572 #line 38573 "gram.c" /* yacc.c:1652  */
38573     break;
38574 
38575   case 1340:
38576 #line 9454 "gram.y" /* yacc.c:1652  */
38577     {
38578 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38579 					n->objectType = OBJECT_OPERATOR;
38580 					n->object = (Node *) (yyvsp[-3].objwithargs);
38581 					n->newowner = (yyvsp[0].rolespec);
38582 					(yyval.node) = (Node *)n;
38583 				}
38584 #line 38585 "gram.c" /* yacc.c:1652  */
38585     break;
38586 
38587   case 1341:
38588 #line 9462 "gram.y" /* yacc.c:1652  */
38589     {
38590 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38591 					n->objectType = OBJECT_OPCLASS;
38592 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
38593 					n->newowner = (yyvsp[0].rolespec);
38594 					(yyval.node) = (Node *)n;
38595 				}
38596 #line 38597 "gram.c" /* yacc.c:1652  */
38597     break;
38598 
38599   case 1342:
38600 #line 9470 "gram.y" /* yacc.c:1652  */
38601     {
38602 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38603 					n->objectType = OBJECT_OPFAMILY;
38604 					n->object = (Node *) lcons(makeString((yyvsp[-3].str)), (yyvsp[-5].list));
38605 					n->newowner = (yyvsp[0].rolespec);
38606 					(yyval.node) = (Node *)n;
38607 				}
38608 #line 38609 "gram.c" /* yacc.c:1652  */
38609     break;
38610 
38611   case 1343:
38612 #line 9478 "gram.y" /* yacc.c:1652  */
38613     {
38614 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38615 					n->objectType = OBJECT_PROCEDURE;
38616 					n->object = (Node *) (yyvsp[-3].objwithargs);
38617 					n->newowner = (yyvsp[0].rolespec);
38618 					(yyval.node) = (Node *)n;
38619 				}
38620 #line 38621 "gram.c" /* yacc.c:1652  */
38621     break;
38622 
38623   case 1344:
38624 #line 9486 "gram.y" /* yacc.c:1652  */
38625     {
38626 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38627 					n->objectType = OBJECT_ROUTINE;
38628 					n->object = (Node *) (yyvsp[-3].objwithargs);
38629 					n->newowner = (yyvsp[0].rolespec);
38630 					(yyval.node) = (Node *)n;
38631 				}
38632 #line 38633 "gram.c" /* yacc.c:1652  */
38633     break;
38634 
38635   case 1345:
38636 #line 9494 "gram.y" /* yacc.c:1652  */
38637     {
38638 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38639 					n->objectType = OBJECT_SCHEMA;
38640 					n->object = (Node *) makeString((yyvsp[-3].str));
38641 					n->newowner = (yyvsp[0].rolespec);
38642 					(yyval.node) = (Node *)n;
38643 				}
38644 #line 38645 "gram.c" /* yacc.c:1652  */
38645     break;
38646 
38647   case 1346:
38648 #line 9502 "gram.y" /* yacc.c:1652  */
38649     {
38650 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38651 					n->objectType = OBJECT_TYPE;
38652 					n->object = (Node *) (yyvsp[-3].list);
38653 					n->newowner = (yyvsp[0].rolespec);
38654 					(yyval.node) = (Node *)n;
38655 				}
38656 #line 38657 "gram.c" /* yacc.c:1652  */
38657     break;
38658 
38659   case 1347:
38660 #line 9510 "gram.y" /* yacc.c:1652  */
38661     {
38662 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38663 					n->objectType = OBJECT_TABLESPACE;
38664 					n->object = (Node *) makeString((yyvsp[-3].str));
38665 					n->newowner = (yyvsp[0].rolespec);
38666 					(yyval.node) = (Node *)n;
38667 				}
38668 #line 38669 "gram.c" /* yacc.c:1652  */
38669     break;
38670 
38671   case 1348:
38672 #line 9518 "gram.y" /* yacc.c:1652  */
38673     {
38674 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38675 					n->objectType = OBJECT_STATISTIC_EXT;
38676 					n->object = (Node *) (yyvsp[-3].list);
38677 					n->newowner = (yyvsp[0].rolespec);
38678 					(yyval.node) = (Node *)n;
38679 				}
38680 #line 38681 "gram.c" /* yacc.c:1652  */
38681     break;
38682 
38683   case 1349:
38684 #line 9526 "gram.y" /* yacc.c:1652  */
38685     {
38686 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38687 					n->objectType = OBJECT_TSDICTIONARY;
38688 					n->object = (Node *) (yyvsp[-3].list);
38689 					n->newowner = (yyvsp[0].rolespec);
38690 					(yyval.node) = (Node *)n;
38691 				}
38692 #line 38693 "gram.c" /* yacc.c:1652  */
38693     break;
38694 
38695   case 1350:
38696 #line 9534 "gram.y" /* yacc.c:1652  */
38697     {
38698 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38699 					n->objectType = OBJECT_TSCONFIGURATION;
38700 					n->object = (Node *) (yyvsp[-3].list);
38701 					n->newowner = (yyvsp[0].rolespec);
38702 					(yyval.node) = (Node *)n;
38703 				}
38704 #line 38705 "gram.c" /* yacc.c:1652  */
38705     break;
38706 
38707   case 1351:
38708 #line 9542 "gram.y" /* yacc.c:1652  */
38709     {
38710 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38711 					n->objectType = OBJECT_FDW;
38712 					n->object = (Node *) makeString((yyvsp[-3].str));
38713 					n->newowner = (yyvsp[0].rolespec);
38714 					(yyval.node) = (Node *)n;
38715 				}
38716 #line 38717 "gram.c" /* yacc.c:1652  */
38717     break;
38718 
38719   case 1352:
38720 #line 9550 "gram.y" /* yacc.c:1652  */
38721     {
38722 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38723 					n->objectType = OBJECT_FOREIGN_SERVER;
38724 					n->object = (Node *) makeString((yyvsp[-3].str));
38725 					n->newowner = (yyvsp[0].rolespec);
38726 					(yyval.node) = (Node *)n;
38727 				}
38728 #line 38729 "gram.c" /* yacc.c:1652  */
38729     break;
38730 
38731   case 1353:
38732 #line 9558 "gram.y" /* yacc.c:1652  */
38733     {
38734 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38735 					n->objectType = OBJECT_EVENT_TRIGGER;
38736 					n->object = (Node *) makeString((yyvsp[-3].str));
38737 					n->newowner = (yyvsp[0].rolespec);
38738 					(yyval.node) = (Node *)n;
38739 				}
38740 #line 38741 "gram.c" /* yacc.c:1652  */
38741     break;
38742 
38743   case 1354:
38744 #line 9566 "gram.y" /* yacc.c:1652  */
38745     {
38746 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38747 					n->objectType = OBJECT_PUBLICATION;
38748 					n->object = (Node *) makeString((yyvsp[-3].str));
38749 					n->newowner = (yyvsp[0].rolespec);
38750 					(yyval.node) = (Node *)n;
38751 				}
38752 #line 38753 "gram.c" /* yacc.c:1652  */
38753     break;
38754 
38755   case 1355:
38756 #line 9574 "gram.y" /* yacc.c:1652  */
38757     {
38758 					AlterOwnerStmt *n = makeNode(AlterOwnerStmt);
38759 					n->objectType = OBJECT_SUBSCRIPTION;
38760 					n->object = (Node *) makeString((yyvsp[-3].str));
38761 					n->newowner = (yyvsp[0].rolespec);
38762 					(yyval.node) = (Node *)n;
38763 				}
38764 #line 38765 "gram.c" /* yacc.c:1652  */
38765     break;
38766 
38767   case 1356:
38768 #line 9592 "gram.y" /* yacc.c:1652  */
38769     {
38770 					CreatePublicationStmt *n = makeNode(CreatePublicationStmt);
38771 					n->pubname = (yyvsp[-2].str);
38772 					n->options = (yyvsp[0].list);
38773 					if ((yyvsp[-1].node) != NULL)
38774 					{
38775 						/* FOR TABLE */
38776 						if (IsA((yyvsp[-1].node), List))
38777 							n->tables = (List *)(yyvsp[-1].node);
38778 						/* FOR ALL TABLES */
38779 						else
38780 							n->for_all_tables = true;
38781 					}
38782 					(yyval.node) = (Node *)n;
38783 				}
38784 #line 38785 "gram.c" /* yacc.c:1652  */
38785     break;
38786 
38787   case 1357:
38788 #line 9610 "gram.y" /* yacc.c:1652  */
38789     { (yyval.node) = (yyvsp[0].node); }
38790 #line 38791 "gram.c" /* yacc.c:1652  */
38791     break;
38792 
38793   case 1358:
38794 #line 9611 "gram.y" /* yacc.c:1652  */
38795     { (yyval.node) = NULL; }
38796 #line 38797 "gram.c" /* yacc.c:1652  */
38797     break;
38798 
38799   case 1359:
38800 #line 9616 "gram.y" /* yacc.c:1652  */
38801     {
38802 					(yyval.node) = (Node *) (yyvsp[0].list);
38803 				}
38804 #line 38805 "gram.c" /* yacc.c:1652  */
38805     break;
38806 
38807   case 1360:
38808 #line 9620 "gram.y" /* yacc.c:1652  */
38809     {
38810 					(yyval.node) = (Node *) makeInteger(true);
38811 				}
38812 #line 38813 "gram.c" /* yacc.c:1652  */
38813     break;
38814 
38815   case 1361:
38816 #line 9640 "gram.y" /* yacc.c:1652  */
38817     {
38818 					AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
38819 					n->pubname = (yyvsp[-2].str);
38820 					n->options = (yyvsp[0].list);
38821 					(yyval.node) = (Node *)n;
38822 				}
38823 #line 38824 "gram.c" /* yacc.c:1652  */
38824     break;
38825 
38826   case 1362:
38827 #line 9647 "gram.y" /* yacc.c:1652  */
38828     {
38829 					AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
38830 					n->pubname = (yyvsp[-3].str);
38831 					n->tables = (yyvsp[0].list);
38832 					n->tableAction = DEFELEM_ADD;
38833 					(yyval.node) = (Node *)n;
38834 				}
38835 #line 38836 "gram.c" /* yacc.c:1652  */
38836     break;
38837 
38838   case 1363:
38839 #line 9655 "gram.y" /* yacc.c:1652  */
38840     {
38841 					AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
38842 					n->pubname = (yyvsp[-3].str);
38843 					n->tables = (yyvsp[0].list);
38844 					n->tableAction = DEFELEM_SET;
38845 					(yyval.node) = (Node *)n;
38846 				}
38847 #line 38848 "gram.c" /* yacc.c:1652  */
38848     break;
38849 
38850   case 1364:
38851 #line 9663 "gram.y" /* yacc.c:1652  */
38852     {
38853 					AlterPublicationStmt *n = makeNode(AlterPublicationStmt);
38854 					n->pubname = (yyvsp[-3].str);
38855 					n->tables = (yyvsp[0].list);
38856 					n->tableAction = DEFELEM_DROP;
38857 					(yyval.node) = (Node *)n;
38858 				}
38859 #line 38860 "gram.c" /* yacc.c:1652  */
38860     break;
38861 
38862   case 1365:
38863 #line 9680 "gram.y" /* yacc.c:1652  */
38864     {
38865 					CreateSubscriptionStmt *n =
38866 						makeNode(CreateSubscriptionStmt);
38867 					n->subname = (yyvsp[-5].str);
38868 					n->conninfo = (yyvsp[-3].str);
38869 					n->publication = (yyvsp[-1].list);
38870 					n->options = (yyvsp[0].list);
38871 					(yyval.node) = (Node *)n;
38872 				}
38873 #line 38874 "gram.c" /* yacc.c:1652  */
38874     break;
38875 
38876   case 1366:
38877 #line 9699 "gram.y" /* yacc.c:1652  */
38878     {
38879 					AlterSubscriptionStmt *n =
38880 						makeNode(AlterSubscriptionStmt);
38881 					n->kind = ALTER_SUBSCRIPTION_OPTIONS;
38882 					n->subname = (yyvsp[-2].str);
38883 					n->options = (yyvsp[0].list);
38884 					(yyval.node) = (Node *)n;
38885 				}
38886 #line 38887 "gram.c" /* yacc.c:1652  */
38887     break;
38888 
38889   case 1367:
38890 #line 9708 "gram.y" /* yacc.c:1652  */
38891     {
38892 					AlterSubscriptionStmt *n =
38893 						makeNode(AlterSubscriptionStmt);
38894 					n->kind = ALTER_SUBSCRIPTION_CONNECTION;
38895 					n->subname = (yyvsp[-2].str);
38896 					n->conninfo = (yyvsp[0].str);
38897 					(yyval.node) = (Node *)n;
38898 				}
38899 #line 38900 "gram.c" /* yacc.c:1652  */
38900     break;
38901 
38902   case 1368:
38903 #line 9717 "gram.y" /* yacc.c:1652  */
38904     {
38905 					AlterSubscriptionStmt *n =
38906 						makeNode(AlterSubscriptionStmt);
38907 					n->kind = ALTER_SUBSCRIPTION_REFRESH;
38908 					n->subname = (yyvsp[-3].str);
38909 					n->options = (yyvsp[0].list);
38910 					(yyval.node) = (Node *)n;
38911 				}
38912 #line 38913 "gram.c" /* yacc.c:1652  */
38913     break;
38914 
38915   case 1369:
38916 #line 9726 "gram.y" /* yacc.c:1652  */
38917     {
38918 					AlterSubscriptionStmt *n =
38919 						makeNode(AlterSubscriptionStmt);
38920 					n->kind = ALTER_SUBSCRIPTION_ADD_PUBLICATION;
38921 					n->subname = (yyvsp[-4].str);
38922 					n->publication = (yyvsp[-1].list);
38923 					n->options = (yyvsp[0].list);
38924 					(yyval.node) = (Node *)n;
38925 				}
38926 #line 38927 "gram.c" /* yacc.c:1652  */
38927     break;
38928 
38929   case 1370:
38930 #line 9736 "gram.y" /* yacc.c:1652  */
38931     {
38932 					AlterSubscriptionStmt *n =
38933 						makeNode(AlterSubscriptionStmt);
38934 					n->kind = ALTER_SUBSCRIPTION_DROP_PUBLICATION;
38935 					n->subname = (yyvsp[-4].str);
38936 					n->publication = (yyvsp[-1].list);
38937 					n->options = (yyvsp[0].list);
38938 					(yyval.node) = (Node *)n;
38939 				}
38940 #line 38941 "gram.c" /* yacc.c:1652  */
38941     break;
38942 
38943   case 1371:
38944 #line 9746 "gram.y" /* yacc.c:1652  */
38945     {
38946 					AlterSubscriptionStmt *n =
38947 						makeNode(AlterSubscriptionStmt);
38948 					n->kind = ALTER_SUBSCRIPTION_SET_PUBLICATION;
38949 					n->subname = (yyvsp[-4].str);
38950 					n->publication = (yyvsp[-1].list);
38951 					n->options = (yyvsp[0].list);
38952 					(yyval.node) = (Node *)n;
38953 				}
38954 #line 38955 "gram.c" /* yacc.c:1652  */
38955     break;
38956 
38957   case 1372:
38958 #line 9756 "gram.y" /* yacc.c:1652  */
38959     {
38960 					AlterSubscriptionStmt *n =
38961 						makeNode(AlterSubscriptionStmt);
38962 					n->kind = ALTER_SUBSCRIPTION_ENABLED;
38963 					n->subname = (yyvsp[-1].str);
38964 					n->options = list_make1(makeDefElem("enabled",
38965 											(Node *)makeInteger(true), (yylsp[-3])));
38966 					(yyval.node) = (Node *)n;
38967 				}
38968 #line 38969 "gram.c" /* yacc.c:1652  */
38969     break;
38970 
38971   case 1373:
38972 #line 9766 "gram.y" /* yacc.c:1652  */
38973     {
38974 					AlterSubscriptionStmt *n =
38975 						makeNode(AlterSubscriptionStmt);
38976 					n->kind = ALTER_SUBSCRIPTION_ENABLED;
38977 					n->subname = (yyvsp[-1].str);
38978 					n->options = list_make1(makeDefElem("enabled",
38979 											(Node *)makeInteger(false), (yylsp[-3])));
38980 					(yyval.node) = (Node *)n;
38981 				}
38982 #line 38983 "gram.c" /* yacc.c:1652  */
38983     break;
38984 
38985   case 1374:
38986 #line 9784 "gram.y" /* yacc.c:1652  */
38987     {
38988 					DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
38989 					n->subname = (yyvsp[-1].str);
38990 					n->missing_ok = false;
38991 					n->behavior = (yyvsp[0].dbehavior);
38992 					(yyval.node) = (Node *) n;
38993 				}
38994 #line 38995 "gram.c" /* yacc.c:1652  */
38995     break;
38996 
38997   case 1375:
38998 #line 9792 "gram.y" /* yacc.c:1652  */
38999     {
39000 					DropSubscriptionStmt *n = makeNode(DropSubscriptionStmt);
39001 					n->subname = (yyvsp[-1].str);
39002 					n->missing_ok = true;
39003 					n->behavior = (yyvsp[0].dbehavior);
39004 					(yyval.node) = (Node *) n;
39005 				}
39006 #line 39007 "gram.c" /* yacc.c:1652  */
39007     break;
39008 
39009   case 1376:
39010 #line 9810 "gram.y" /* yacc.c:1652  */
39011     {
39012 					RuleStmt *n = makeNode(RuleStmt);
39013 					n->replace = (yyvsp[-11].boolean);
39014 					n->relation = (yyvsp[-4].range);
39015 					n->rulename = (yyvsp[-9].str);
39016 					n->whereClause = (yyvsp[-3].node);
39017 					n->event = (yyvsp[-6].ival);
39018 					n->instead = (yyvsp[-1].boolean);
39019 					n->actions = (yyvsp[0].list);
39020 					(yyval.node) = (Node *)n;
39021 				}
39022 #line 39023 "gram.c" /* yacc.c:1652  */
39023     break;
39024 
39025   case 1377:
39026 #line 9824 "gram.y" /* yacc.c:1652  */
39027     { (yyval.list) = NIL; }
39028 #line 39029 "gram.c" /* yacc.c:1652  */
39029     break;
39030 
39031   case 1378:
39032 #line 9825 "gram.y" /* yacc.c:1652  */
39033     { (yyval.list) = list_make1((yyvsp[0].node)); }
39034 #line 39035 "gram.c" /* yacc.c:1652  */
39035     break;
39036 
39037   case 1379:
39038 #line 9826 "gram.y" /* yacc.c:1652  */
39039     { (yyval.list) = (yyvsp[-1].list); }
39040 #line 39041 "gram.c" /* yacc.c:1652  */
39041     break;
39042 
39043   case 1380:
39044 #line 9832 "gram.y" /* yacc.c:1652  */
39045     { if ((yyvsp[0].node) != NULL)
39046 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
39047 				  else
39048 					(yyval.list) = (yyvsp[-2].list);
39049 				}
39050 #line 39051 "gram.c" /* yacc.c:1652  */
39051     break;
39052 
39053   case 1381:
39054 #line 9838 "gram.y" /* yacc.c:1652  */
39055     { if ((yyvsp[0].node) != NULL)
39056 					(yyval.list) = list_make1((yyvsp[0].node));
39057 				  else
39058 					(yyval.list) = NIL;
39059 				}
39060 #line 39061 "gram.c" /* yacc.c:1652  */
39061     break;
39062 
39063   case 1387:
39064 #line 9854 "gram.y" /* yacc.c:1652  */
39065     { (yyval.node) = (yyvsp[0].node); }
39066 #line 39067 "gram.c" /* yacc.c:1652  */
39067     break;
39068 
39069   case 1388:
39070 #line 9855 "gram.y" /* yacc.c:1652  */
39071     { (yyval.node) = NULL; }
39072 #line 39073 "gram.c" /* yacc.c:1652  */
39073     break;
39074 
39075   case 1389:
39076 #line 9858 "gram.y" /* yacc.c:1652  */
39077     { (yyval.ival) = CMD_SELECT; }
39078 #line 39079 "gram.c" /* yacc.c:1652  */
39079     break;
39080 
39081   case 1390:
39082 #line 9859 "gram.y" /* yacc.c:1652  */
39083     { (yyval.ival) = CMD_UPDATE; }
39084 #line 39085 "gram.c" /* yacc.c:1652  */
39085     break;
39086 
39087   case 1391:
39088 #line 9860 "gram.y" /* yacc.c:1652  */
39089     { (yyval.ival) = CMD_DELETE; }
39090 #line 39091 "gram.c" /* yacc.c:1652  */
39091     break;
39092 
39093   case 1392:
39094 #line 9861 "gram.y" /* yacc.c:1652  */
39095     { (yyval.ival) = CMD_INSERT; }
39096 #line 39097 "gram.c" /* yacc.c:1652  */
39097     break;
39098 
39099   case 1393:
39100 #line 9865 "gram.y" /* yacc.c:1652  */
39101     { (yyval.boolean) = true; }
39102 #line 39103 "gram.c" /* yacc.c:1652  */
39103     break;
39104 
39105   case 1394:
39106 #line 9866 "gram.y" /* yacc.c:1652  */
39107     { (yyval.boolean) = false; }
39108 #line 39109 "gram.c" /* yacc.c:1652  */
39109     break;
39110 
39111   case 1395:
39112 #line 9867 "gram.y" /* yacc.c:1652  */
39113     { (yyval.boolean) = false; }
39114 #line 39115 "gram.c" /* yacc.c:1652  */
39115     break;
39116 
39117   case 1396:
39118 #line 9880 "gram.y" /* yacc.c:1652  */
39119     {
39120 					NotifyStmt *n = makeNode(NotifyStmt);
39121 					n->conditionname = (yyvsp[-1].str);
39122 					n->payload = (yyvsp[0].str);
39123 					(yyval.node) = (Node *)n;
39124 				}
39125 #line 39126 "gram.c" /* yacc.c:1652  */
39126     break;
39127 
39128   case 1397:
39129 #line 9889 "gram.y" /* yacc.c:1652  */
39130     { (yyval.str) = (yyvsp[0].str); }
39131 #line 39132 "gram.c" /* yacc.c:1652  */
39132     break;
39133 
39134   case 1398:
39135 #line 9890 "gram.y" /* yacc.c:1652  */
39136     { (yyval.str) = NULL; }
39137 #line 39138 "gram.c" /* yacc.c:1652  */
39138     break;
39139 
39140   case 1399:
39141 #line 9894 "gram.y" /* yacc.c:1652  */
39142     {
39143 					ListenStmt *n = makeNode(ListenStmt);
39144 					n->conditionname = (yyvsp[0].str);
39145 					(yyval.node) = (Node *)n;
39146 				}
39147 #line 39148 "gram.c" /* yacc.c:1652  */
39148     break;
39149 
39150   case 1400:
39151 #line 9903 "gram.y" /* yacc.c:1652  */
39152     {
39153 					UnlistenStmt *n = makeNode(UnlistenStmt);
39154 					n->conditionname = (yyvsp[0].str);
39155 					(yyval.node) = (Node *)n;
39156 				}
39157 #line 39158 "gram.c" /* yacc.c:1652  */
39158     break;
39159 
39160   case 1401:
39161 #line 9909 "gram.y" /* yacc.c:1652  */
39162     {
39163 					UnlistenStmt *n = makeNode(UnlistenStmt);
39164 					n->conditionname = NULL;
39165 					(yyval.node) = (Node *)n;
39166 				}
39167 #line 39168 "gram.c" /* yacc.c:1652  */
39168     break;
39169 
39170   case 1402:
39171 #line 9928 "gram.y" /* yacc.c:1652  */
39172     {
39173 					TransactionStmt *n = makeNode(TransactionStmt);
39174 					n->kind = TRANS_STMT_ROLLBACK;
39175 					n->options = NIL;
39176 					n->chain = (yyvsp[0].boolean);
39177 					(yyval.node) = (Node *)n;
39178 				}
39179 #line 39180 "gram.c" /* yacc.c:1652  */
39180     break;
39181 
39182   case 1403:
39183 #line 9936 "gram.y" /* yacc.c:1652  */
39184     {
39185 					TransactionStmt *n = makeNode(TransactionStmt);
39186 					n->kind = TRANS_STMT_START;
39187 					n->options = (yyvsp[0].list);
39188 					(yyval.node) = (Node *)n;
39189 				}
39190 #line 39191 "gram.c" /* yacc.c:1652  */
39191     break;
39192 
39193   case 1404:
39194 #line 9943 "gram.y" /* yacc.c:1652  */
39195     {
39196 					TransactionStmt *n = makeNode(TransactionStmt);
39197 					n->kind = TRANS_STMT_COMMIT;
39198 					n->options = NIL;
39199 					n->chain = (yyvsp[0].boolean);
39200 					(yyval.node) = (Node *)n;
39201 				}
39202 #line 39203 "gram.c" /* yacc.c:1652  */
39203     break;
39204 
39205   case 1405:
39206 #line 9951 "gram.y" /* yacc.c:1652  */
39207     {
39208 					TransactionStmt *n = makeNode(TransactionStmt);
39209 					n->kind = TRANS_STMT_ROLLBACK;
39210 					n->options = NIL;
39211 					n->chain = (yyvsp[0].boolean);
39212 					(yyval.node) = (Node *)n;
39213 				}
39214 #line 39215 "gram.c" /* yacc.c:1652  */
39215     break;
39216 
39217   case 1406:
39218 #line 9959 "gram.y" /* yacc.c:1652  */
39219     {
39220 					TransactionStmt *n = makeNode(TransactionStmt);
39221 					n->kind = TRANS_STMT_SAVEPOINT;
39222 					n->savepoint_name = (yyvsp[0].str);
39223 					(yyval.node) = (Node *)n;
39224 				}
39225 #line 39226 "gram.c" /* yacc.c:1652  */
39226     break;
39227 
39228   case 1407:
39229 #line 9966 "gram.y" /* yacc.c:1652  */
39230     {
39231 					TransactionStmt *n = makeNode(TransactionStmt);
39232 					n->kind = TRANS_STMT_RELEASE;
39233 					n->savepoint_name = (yyvsp[0].str);
39234 					(yyval.node) = (Node *)n;
39235 				}
39236 #line 39237 "gram.c" /* yacc.c:1652  */
39237     break;
39238 
39239   case 1408:
39240 #line 9973 "gram.y" /* yacc.c:1652  */
39241     {
39242 					TransactionStmt *n = makeNode(TransactionStmt);
39243 					n->kind = TRANS_STMT_RELEASE;
39244 					n->savepoint_name = (yyvsp[0].str);
39245 					(yyval.node) = (Node *)n;
39246 				}
39247 #line 39248 "gram.c" /* yacc.c:1652  */
39248     break;
39249 
39250   case 1409:
39251 #line 9980 "gram.y" /* yacc.c:1652  */
39252     {
39253 					TransactionStmt *n = makeNode(TransactionStmt);
39254 					n->kind = TRANS_STMT_ROLLBACK_TO;
39255 					n->savepoint_name = (yyvsp[0].str);
39256 					(yyval.node) = (Node *)n;
39257 				}
39258 #line 39259 "gram.c" /* yacc.c:1652  */
39259     break;
39260 
39261   case 1410:
39262 #line 9987 "gram.y" /* yacc.c:1652  */
39263     {
39264 					TransactionStmt *n = makeNode(TransactionStmt);
39265 					n->kind = TRANS_STMT_ROLLBACK_TO;
39266 					n->savepoint_name = (yyvsp[0].str);
39267 					(yyval.node) = (Node *)n;
39268 				}
39269 #line 39270 "gram.c" /* yacc.c:1652  */
39270     break;
39271 
39272   case 1411:
39273 #line 9994 "gram.y" /* yacc.c:1652  */
39274     {
39275 					TransactionStmt *n = makeNode(TransactionStmt);
39276 					n->kind = TRANS_STMT_PREPARE;
39277 					n->gid = (yyvsp[0].str);
39278 					(yyval.node) = (Node *)n;
39279 				}
39280 #line 39281 "gram.c" /* yacc.c:1652  */
39281     break;
39282 
39283   case 1412:
39284 #line 10001 "gram.y" /* yacc.c:1652  */
39285     {
39286 					TransactionStmt *n = makeNode(TransactionStmt);
39287 					n->kind = TRANS_STMT_COMMIT_PREPARED;
39288 					n->gid = (yyvsp[0].str);
39289 					(yyval.node) = (Node *)n;
39290 				}
39291 #line 39292 "gram.c" /* yacc.c:1652  */
39292     break;
39293 
39294   case 1413:
39295 #line 10008 "gram.y" /* yacc.c:1652  */
39296     {
39297 					TransactionStmt *n = makeNode(TransactionStmt);
39298 					n->kind = TRANS_STMT_ROLLBACK_PREPARED;
39299 					n->gid = (yyvsp[0].str);
39300 					(yyval.node) = (Node *)n;
39301 				}
39302 #line 39303 "gram.c" /* yacc.c:1652  */
39303     break;
39304 
39305   case 1414:
39306 #line 10018 "gram.y" /* yacc.c:1652  */
39307     {
39308 					TransactionStmt *n = makeNode(TransactionStmt);
39309 					n->kind = TRANS_STMT_BEGIN;
39310 					n->options = (yyvsp[0].list);
39311 					(yyval.node) = (Node *)n;
39312 				}
39313 #line 39314 "gram.c" /* yacc.c:1652  */
39314     break;
39315 
39316   case 1415:
39317 #line 10025 "gram.y" /* yacc.c:1652  */
39318     {
39319 					TransactionStmt *n = makeNode(TransactionStmt);
39320 					n->kind = TRANS_STMT_COMMIT;
39321 					n->options = NIL;
39322 					n->chain = (yyvsp[0].boolean);
39323 					(yyval.node) = (Node *)n;
39324 				}
39325 #line 39326 "gram.c" /* yacc.c:1652  */
39326     break;
39327 
39328   case 1419:
39329 #line 10041 "gram.y" /* yacc.c:1652  */
39330     { (yyval.defelt) = makeDefElem("transaction_isolation",
39331 									   makeStringConst((yyvsp[0].str), (yylsp[0])), (yylsp[-2])); }
39332 #line 39333 "gram.c" /* yacc.c:1652  */
39333     break;
39334 
39335   case 1420:
39336 #line 10044 "gram.y" /* yacc.c:1652  */
39337     { (yyval.defelt) = makeDefElem("transaction_read_only",
39338 									   makeIntConst(true, (yylsp[-1])), (yylsp[-1])); }
39339 #line 39340 "gram.c" /* yacc.c:1652  */
39340     break;
39341 
39342   case 1421:
39343 #line 10047 "gram.y" /* yacc.c:1652  */
39344     { (yyval.defelt) = makeDefElem("transaction_read_only",
39345 									   makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
39346 #line 39347 "gram.c" /* yacc.c:1652  */
39347     break;
39348 
39349   case 1422:
39350 #line 10050 "gram.y" /* yacc.c:1652  */
39351     { (yyval.defelt) = makeDefElem("transaction_deferrable",
39352 									   makeIntConst(true, (yylsp[0])), (yylsp[0])); }
39353 #line 39354 "gram.c" /* yacc.c:1652  */
39354     break;
39355 
39356   case 1423:
39357 #line 10053 "gram.y" /* yacc.c:1652  */
39358     { (yyval.defelt) = makeDefElem("transaction_deferrable",
39359 									   makeIntConst(false, (yylsp[-1])), (yylsp[-1])); }
39360 #line 39361 "gram.c" /* yacc.c:1652  */
39361     break;
39362 
39363   case 1424:
39364 #line 10060 "gram.y" /* yacc.c:1652  */
39365     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
39366 #line 39367 "gram.c" /* yacc.c:1652  */
39367     break;
39368 
39369   case 1425:
39370 #line 10062 "gram.y" /* yacc.c:1652  */
39371     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt)); }
39372 #line 39373 "gram.c" /* yacc.c:1652  */
39373     break;
39374 
39375   case 1426:
39376 #line 10064 "gram.y" /* yacc.c:1652  */
39377     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
39378 #line 39379 "gram.c" /* yacc.c:1652  */
39379     break;
39380 
39381   case 1428:
39382 #line 10070 "gram.y" /* yacc.c:1652  */
39383     { (yyval.list) = NIL; }
39384 #line 39385 "gram.c" /* yacc.c:1652  */
39385     break;
39386 
39387   case 1429:
39388 #line 10074 "gram.y" /* yacc.c:1652  */
39389     { (yyval.boolean) = true; }
39390 #line 39391 "gram.c" /* yacc.c:1652  */
39391     break;
39392 
39393   case 1430:
39394 #line 10075 "gram.y" /* yacc.c:1652  */
39395     { (yyval.boolean) = false; }
39396 #line 39397 "gram.c" /* yacc.c:1652  */
39397     break;
39398 
39399   case 1431:
39400 #line 10076 "gram.y" /* yacc.c:1652  */
39401     { (yyval.boolean) = false; }
39402 #line 39403 "gram.c" /* yacc.c:1652  */
39403     break;
39404 
39405   case 1432:
39406 #line 10090 "gram.y" /* yacc.c:1652  */
39407     {
39408 					ViewStmt *n = makeNode(ViewStmt);
39409 					n->view = (yyvsp[-5].range);
39410 					n->view->relpersistence = (yyvsp[-7].ival);
39411 					n->aliases = (yyvsp[-4].list);
39412 					n->query = (yyvsp[-1].node);
39413 					n->replace = false;
39414 					n->options = (yyvsp[-3].list);
39415 					n->withCheckOption = (yyvsp[0].ival);
39416 					(yyval.node) = (Node *) n;
39417 				}
39418 #line 39419 "gram.c" /* yacc.c:1652  */
39419     break;
39420 
39421   case 1433:
39422 #line 10103 "gram.y" /* yacc.c:1652  */
39423     {
39424 					ViewStmt *n = makeNode(ViewStmt);
39425 					n->view = (yyvsp[-5].range);
39426 					n->view->relpersistence = (yyvsp[-7].ival);
39427 					n->aliases = (yyvsp[-4].list);
39428 					n->query = (yyvsp[-1].node);
39429 					n->replace = true;
39430 					n->options = (yyvsp[-3].list);
39431 					n->withCheckOption = (yyvsp[0].ival);
39432 					(yyval.node) = (Node *) n;
39433 				}
39434 #line 39435 "gram.c" /* yacc.c:1652  */
39435     break;
39436 
39437   case 1434:
39438 #line 10116 "gram.y" /* yacc.c:1652  */
39439     {
39440 					ViewStmt *n = makeNode(ViewStmt);
39441 					n->view = (yyvsp[-7].range);
39442 					n->view->relpersistence = (yyvsp[-10].ival);
39443 					n->aliases = (yyvsp[-5].list);
39444 					n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
39445 					n->replace = false;
39446 					n->options = (yyvsp[-3].list);
39447 					n->withCheckOption = (yyvsp[0].ival);
39448 					if (n->withCheckOption != NO_CHECK_OPTION)
39449 						ereport(ERROR,
39450 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
39451 								 errmsg("WITH CHECK OPTION not supported on recursive views"),
39452 								 parser_errposition((yylsp[0]))));
39453 					(yyval.node) = (Node *) n;
39454 				}
39455 #line 39456 "gram.c" /* yacc.c:1652  */
39456     break;
39457 
39458   case 1435:
39459 #line 10134 "gram.y" /* yacc.c:1652  */
39460     {
39461 					ViewStmt *n = makeNode(ViewStmt);
39462 					n->view = (yyvsp[-7].range);
39463 					n->view->relpersistence = (yyvsp[-10].ival);
39464 					n->aliases = (yyvsp[-5].list);
39465 					n->query = makeRecursiveViewSelect(n->view->relname, n->aliases, (yyvsp[-1].node));
39466 					n->replace = true;
39467 					n->options = (yyvsp[-3].list);
39468 					n->withCheckOption = (yyvsp[0].ival);
39469 					if (n->withCheckOption != NO_CHECK_OPTION)
39470 						ereport(ERROR,
39471 								(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
39472 								 errmsg("WITH CHECK OPTION not supported on recursive views"),
39473 								 parser_errposition((yylsp[0]))));
39474 					(yyval.node) = (Node *) n;
39475 				}
39476 #line 39477 "gram.c" /* yacc.c:1652  */
39477     break;
39478 
39479   case 1436:
39480 #line 10153 "gram.y" /* yacc.c:1652  */
39481     { (yyval.ival) = CASCADED_CHECK_OPTION; }
39482 #line 39483 "gram.c" /* yacc.c:1652  */
39483     break;
39484 
39485   case 1437:
39486 #line 10154 "gram.y" /* yacc.c:1652  */
39487     { (yyval.ival) = CASCADED_CHECK_OPTION; }
39488 #line 39489 "gram.c" /* yacc.c:1652  */
39489     break;
39490 
39491   case 1438:
39492 #line 10155 "gram.y" /* yacc.c:1652  */
39493     { (yyval.ival) = LOCAL_CHECK_OPTION; }
39494 #line 39495 "gram.c" /* yacc.c:1652  */
39495     break;
39496 
39497   case 1439:
39498 #line 10156 "gram.y" /* yacc.c:1652  */
39499     { (yyval.ival) = NO_CHECK_OPTION; }
39500 #line 39501 "gram.c" /* yacc.c:1652  */
39501     break;
39502 
39503   case 1440:
39504 #line 10167 "gram.y" /* yacc.c:1652  */
39505     {
39506 					LoadStmt *n = makeNode(LoadStmt);
39507 					n->filename = (yyvsp[0].str);
39508 					(yyval.node) = (Node *)n;
39509 				}
39510 #line 39511 "gram.c" /* yacc.c:1652  */
39511     break;
39512 
39513   case 1441:
39514 #line 10183 "gram.y" /* yacc.c:1652  */
39515     {
39516 					CreatedbStmt *n = makeNode(CreatedbStmt);
39517 					n->dbname = (yyvsp[-2].str);
39518 					n->options = (yyvsp[0].list);
39519 					(yyval.node) = (Node *)n;
39520 				}
39521 #line 39522 "gram.c" /* yacc.c:1652  */
39522     break;
39523 
39524   case 1442:
39525 #line 10192 "gram.y" /* yacc.c:1652  */
39526     { (yyval.list) = (yyvsp[0].list); }
39527 #line 39528 "gram.c" /* yacc.c:1652  */
39528     break;
39529 
39530   case 1443:
39531 #line 10193 "gram.y" /* yacc.c:1652  */
39532     { (yyval.list) = NIL; }
39533 #line 39534 "gram.c" /* yacc.c:1652  */
39534     break;
39535 
39536   case 1444:
39537 #line 10197 "gram.y" /* yacc.c:1652  */
39538     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
39539 #line 39540 "gram.c" /* yacc.c:1652  */
39540     break;
39541 
39542   case 1445:
39543 #line 10198 "gram.y" /* yacc.c:1652  */
39544     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
39545 #line 39546 "gram.c" /* yacc.c:1652  */
39546     break;
39547 
39548   case 1446:
39549 #line 10203 "gram.y" /* yacc.c:1652  */
39550     {
39551 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeInteger((yyvsp[0].ival)), (yylsp[-2]));
39552 				}
39553 #line 39554 "gram.c" /* yacc.c:1652  */
39554     break;
39555 
39556   case 1447:
39557 #line 10207 "gram.y" /* yacc.c:1652  */
39558     {
39559 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), (Node *)makeString((yyvsp[0].str)), (yylsp[-2]));
39560 				}
39561 #line 39562 "gram.c" /* yacc.c:1652  */
39562     break;
39563 
39564   case 1448:
39565 #line 10211 "gram.y" /* yacc.c:1652  */
39566     {
39567 					(yyval.defelt) = makeDefElem((yyvsp[-2].str), NULL, (yylsp[-2]));
39568 				}
39569 #line 39570 "gram.c" /* yacc.c:1652  */
39570     break;
39571 
39572   case 1449:
39573 #line 10228 "gram.y" /* yacc.c:1652  */
39574     { (yyval.str) = (yyvsp[0].str); }
39575 #line 39576 "gram.c" /* yacc.c:1652  */
39576     break;
39577 
39578   case 1450:
39579 #line 10229 "gram.y" /* yacc.c:1652  */
39580     { (yyval.str) = pstrdup("connection_limit"); }
39581 #line 39582 "gram.c" /* yacc.c:1652  */
39582     break;
39583 
39584   case 1451:
39585 #line 10230 "gram.y" /* yacc.c:1652  */
39586     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39587 #line 39588 "gram.c" /* yacc.c:1652  */
39588     break;
39589 
39590   case 1452:
39591 #line 10231 "gram.y" /* yacc.c:1652  */
39592     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39593 #line 39594 "gram.c" /* yacc.c:1652  */
39594     break;
39595 
39596   case 1453:
39597 #line 10232 "gram.y" /* yacc.c:1652  */
39598     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39599 #line 39600 "gram.c" /* yacc.c:1652  */
39600     break;
39601 
39602   case 1454:
39603 #line 10233 "gram.y" /* yacc.c:1652  */
39604     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39605 #line 39606 "gram.c" /* yacc.c:1652  */
39606     break;
39607 
39608   case 1455:
39609 #line 10234 "gram.y" /* yacc.c:1652  */
39610     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
39611 #line 39612 "gram.c" /* yacc.c:1652  */
39612     break;
39613 
39614   case 1458:
39615 #line 10254 "gram.y" /* yacc.c:1652  */
39616     {
39617 					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
39618 					n->dbname = (yyvsp[-2].str);
39619 					n->options = (yyvsp[0].list);
39620 					(yyval.node) = (Node *)n;
39621 				 }
39622 #line 39623 "gram.c" /* yacc.c:1652  */
39623     break;
39624 
39625   case 1459:
39626 #line 10261 "gram.y" /* yacc.c:1652  */
39627     {
39628 					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
39629 					n->dbname = (yyvsp[-1].str);
39630 					n->options = (yyvsp[0].list);
39631 					(yyval.node) = (Node *)n;
39632 				 }
39633 #line 39634 "gram.c" /* yacc.c:1652  */
39634     break;
39635 
39636   case 1460:
39637 #line 10268 "gram.y" /* yacc.c:1652  */
39638     {
39639 					AlterDatabaseStmt *n = makeNode(AlterDatabaseStmt);
39640 					n->dbname = (yyvsp[-3].str);
39641 					n->options = list_make1(makeDefElem("tablespace",
39642 														(Node *)makeString((yyvsp[0].str)), (yylsp[0])));
39643 					(yyval.node) = (Node *)n;
39644 				 }
39645 #line 39646 "gram.c" /* yacc.c:1652  */
39646     break;
39647 
39648   case 1461:
39649 #line 10279 "gram.y" /* yacc.c:1652  */
39650     {
39651 					AlterDatabaseSetStmt *n = makeNode(AlterDatabaseSetStmt);
39652 					n->dbname = (yyvsp[-1].str);
39653 					n->setstmt = (yyvsp[0].vsetstmt);
39654 					(yyval.node) = (Node *)n;
39655 				}
39656 #line 39657 "gram.c" /* yacc.c:1652  */
39657     break;
39658 
39659   case 1462:
39660 #line 10296 "gram.y" /* yacc.c:1652  */
39661     {
39662 					DropdbStmt *n = makeNode(DropdbStmt);
39663 					n->dbname = (yyvsp[0].str);
39664 					n->missing_ok = false;
39665 					n->options = NULL;
39666 					(yyval.node) = (Node *)n;
39667 				}
39668 #line 39669 "gram.c" /* yacc.c:1652  */
39669     break;
39670 
39671   case 1463:
39672 #line 10304 "gram.y" /* yacc.c:1652  */
39673     {
39674 					DropdbStmt *n = makeNode(DropdbStmt);
39675 					n->dbname = (yyvsp[0].str);
39676 					n->missing_ok = true;
39677 					n->options = NULL;
39678 					(yyval.node) = (Node *)n;
39679 				}
39680 #line 39681 "gram.c" /* yacc.c:1652  */
39681     break;
39682 
39683   case 1464:
39684 #line 10312 "gram.y" /* yacc.c:1652  */
39685     {
39686 					DropdbStmt *n = makeNode(DropdbStmt);
39687 					n->dbname = (yyvsp[-4].str);
39688 					n->missing_ok = false;
39689 					n->options = (yyvsp[-1].list);
39690 					(yyval.node) = (Node *)n;
39691 				}
39692 #line 39693 "gram.c" /* yacc.c:1652  */
39693     break;
39694 
39695   case 1465:
39696 #line 10320 "gram.y" /* yacc.c:1652  */
39697     {
39698 					DropdbStmt *n = makeNode(DropdbStmt);
39699 					n->dbname = (yyvsp[-4].str);
39700 					n->missing_ok = true;
39701 					n->options = (yyvsp[-1].list);
39702 					(yyval.node) = (Node *)n;
39703 				}
39704 #line 39705 "gram.c" /* yacc.c:1652  */
39705     break;
39706 
39707   case 1466:
39708 #line 10331 "gram.y" /* yacc.c:1652  */
39709     {
39710 					(yyval.list) = list_make1((Node *) (yyvsp[0].defelt));
39711 				}
39712 #line 39713 "gram.c" /* yacc.c:1652  */
39713     break;
39714 
39715   case 1467:
39716 #line 10335 "gram.y" /* yacc.c:1652  */
39717     {
39718 					(yyval.list) = lappend((yyvsp[-2].list), (Node *) (yyvsp[0].defelt));
39719 				}
39720 #line 39721 "gram.c" /* yacc.c:1652  */
39721     break;
39722 
39723   case 1468:
39724 #line 10346 "gram.y" /* yacc.c:1652  */
39725     {
39726 					(yyval.defelt) = makeDefElem("force", NULL, (yylsp[0]));
39727 				}
39728 #line 39729 "gram.c" /* yacc.c:1652  */
39729     break;
39730 
39731   case 1469:
39732 #line 10358 "gram.y" /* yacc.c:1652  */
39733     {
39734 					AlterCollationStmt *n = makeNode(AlterCollationStmt);
39735 					n->collname = (yyvsp[-2].list);
39736 					(yyval.node) = (Node *)n;
39737 				}
39738 #line 39739 "gram.c" /* yacc.c:1652  */
39739     break;
39740 
39741   case 1470:
39742 #line 10375 "gram.y" /* yacc.c:1652  */
39743     {
39744 					AlterSystemStmt *n = makeNode(AlterSystemStmt);
39745 					n->setstmt = (yyvsp[0].vsetstmt);
39746 					(yyval.node) = (Node *)n;
39747 				}
39748 #line 39749 "gram.c" /* yacc.c:1652  */
39749     break;
39750 
39751   case 1471:
39752 #line 10381 "gram.y" /* yacc.c:1652  */
39753     {
39754 					AlterSystemStmt *n = makeNode(AlterSystemStmt);
39755 					n->setstmt = (yyvsp[0].vsetstmt);
39756 					(yyval.node) = (Node *)n;
39757 				}
39758 #line 39759 "gram.c" /* yacc.c:1652  */
39759     break;
39760 
39761   case 1472:
39762 #line 10397 "gram.y" /* yacc.c:1652  */
39763     {
39764 					CreateDomainStmt *n = makeNode(CreateDomainStmt);
39765 					n->domainname = (yyvsp[-3].list);
39766 					n->typeName = (yyvsp[-1].typnam);
39767 					SplitColQualList((yyvsp[0].list), &n->constraints, &n->collClause,
39768 									 yyscanner);
39769 					(yyval.node) = (Node *)n;
39770 				}
39771 #line 39772 "gram.c" /* yacc.c:1652  */
39772     break;
39773 
39774   case 1473:
39775 #line 10410 "gram.y" /* yacc.c:1652  */
39776     {
39777 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39778 					n->subtype = 'T';
39779 					n->typeName = (yyvsp[-1].list);
39780 					n->def = (yyvsp[0].node);
39781 					(yyval.node) = (Node *)n;
39782 				}
39783 #line 39784 "gram.c" /* yacc.c:1652  */
39784     break;
39785 
39786   case 1474:
39787 #line 10419 "gram.y" /* yacc.c:1652  */
39788     {
39789 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39790 					n->subtype = 'N';
39791 					n->typeName = (yyvsp[-3].list);
39792 					(yyval.node) = (Node *)n;
39793 				}
39794 #line 39795 "gram.c" /* yacc.c:1652  */
39795     break;
39796 
39797   case 1475:
39798 #line 10427 "gram.y" /* yacc.c:1652  */
39799     {
39800 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39801 					n->subtype = 'O';
39802 					n->typeName = (yyvsp[-3].list);
39803 					(yyval.node) = (Node *)n;
39804 				}
39805 #line 39806 "gram.c" /* yacc.c:1652  */
39806     break;
39807 
39808   case 1476:
39809 #line 10435 "gram.y" /* yacc.c:1652  */
39810     {
39811 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39812 					n->subtype = 'C';
39813 					n->typeName = (yyvsp[-2].list);
39814 					n->def = (yyvsp[0].node);
39815 					(yyval.node) = (Node *)n;
39816 				}
39817 #line 39818 "gram.c" /* yacc.c:1652  */
39818     break;
39819 
39820   case 1477:
39821 #line 10444 "gram.y" /* yacc.c:1652  */
39822     {
39823 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39824 					n->subtype = 'X';
39825 					n->typeName = (yyvsp[-4].list);
39826 					n->name = (yyvsp[-1].str);
39827 					n->behavior = (yyvsp[0].dbehavior);
39828 					n->missing_ok = false;
39829 					(yyval.node) = (Node *)n;
39830 				}
39831 #line 39832 "gram.c" /* yacc.c:1652  */
39832     break;
39833 
39834   case 1478:
39835 #line 10455 "gram.y" /* yacc.c:1652  */
39836     {
39837 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39838 					n->subtype = 'X';
39839 					n->typeName = (yyvsp[-6].list);
39840 					n->name = (yyvsp[-1].str);
39841 					n->behavior = (yyvsp[0].dbehavior);
39842 					n->missing_ok = true;
39843 					(yyval.node) = (Node *)n;
39844 				}
39845 #line 39846 "gram.c" /* yacc.c:1652  */
39846     break;
39847 
39848   case 1479:
39849 #line 10466 "gram.y" /* yacc.c:1652  */
39850     {
39851 					AlterDomainStmt *n = makeNode(AlterDomainStmt);
39852 					n->subtype = 'V';
39853 					n->typeName = (yyvsp[-3].list);
39854 					n->name = (yyvsp[0].str);
39855 					(yyval.node) = (Node *)n;
39856 				}
39857 #line 39858 "gram.c" /* yacc.c:1652  */
39858     break;
39859 
39860   case 1482:
39861 #line 10488 "gram.y" /* yacc.c:1652  */
39862     {
39863 					AlterTSDictionaryStmt *n = makeNode(AlterTSDictionaryStmt);
39864 					n->dictname = (yyvsp[-1].list);
39865 					n->options = (yyvsp[0].list);
39866 					(yyval.node) = (Node *)n;
39867 				}
39868 #line 39869 "gram.c" /* yacc.c:1652  */
39869     break;
39870 
39871   case 1483:
39872 #line 10498 "gram.y" /* yacc.c:1652  */
39873     {
39874 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39875 					n->kind = ALTER_TSCONFIG_ADD_MAPPING;
39876 					n->cfgname = (yyvsp[-6].list);
39877 					n->tokentype = (yyvsp[-2].list);
39878 					n->dicts = (yyvsp[0].list);
39879 					n->override = false;
39880 					n->replace = false;
39881 					(yyval.node) = (Node*)n;
39882 				}
39883 #line 39884 "gram.c" /* yacc.c:1652  */
39884     break;
39885 
39886   case 1484:
39887 #line 10509 "gram.y" /* yacc.c:1652  */
39888     {
39889 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39890 					n->kind = ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN;
39891 					n->cfgname = (yyvsp[-6].list);
39892 					n->tokentype = (yyvsp[-2].list);
39893 					n->dicts = (yyvsp[0].list);
39894 					n->override = true;
39895 					n->replace = false;
39896 					(yyval.node) = (Node*)n;
39897 				}
39898 #line 39899 "gram.c" /* yacc.c:1652  */
39899     break;
39900 
39901   case 1485:
39902 #line 10520 "gram.y" /* yacc.c:1652  */
39903     {
39904 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39905 					n->kind = ALTER_TSCONFIG_REPLACE_DICT;
39906 					n->cfgname = (yyvsp[-6].list);
39907 					n->tokentype = NIL;
39908 					n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
39909 					n->override = false;
39910 					n->replace = true;
39911 					(yyval.node) = (Node*)n;
39912 				}
39913 #line 39914 "gram.c" /* yacc.c:1652  */
39914     break;
39915 
39916   case 1486:
39917 #line 10531 "gram.y" /* yacc.c:1652  */
39918     {
39919 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39920 					n->kind = ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN;
39921 					n->cfgname = (yyvsp[-8].list);
39922 					n->tokentype = (yyvsp[-4].list);
39923 					n->dicts = list_make2((yyvsp[-2].list),(yyvsp[0].list));
39924 					n->override = false;
39925 					n->replace = true;
39926 					(yyval.node) = (Node*)n;
39927 				}
39928 #line 39929 "gram.c" /* yacc.c:1652  */
39929     break;
39930 
39931   case 1487:
39932 #line 10542 "gram.y" /* yacc.c:1652  */
39933     {
39934 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39935 					n->kind = ALTER_TSCONFIG_DROP_MAPPING;
39936 					n->cfgname = (yyvsp[-4].list);
39937 					n->tokentype = (yyvsp[0].list);
39938 					n->missing_ok = false;
39939 					(yyval.node) = (Node*)n;
39940 				}
39941 #line 39942 "gram.c" /* yacc.c:1652  */
39942     break;
39943 
39944   case 1488:
39945 #line 10551 "gram.y" /* yacc.c:1652  */
39946     {
39947 					AlterTSConfigurationStmt *n = makeNode(AlterTSConfigurationStmt);
39948 					n->kind = ALTER_TSCONFIG_DROP_MAPPING;
39949 					n->cfgname = (yyvsp[-6].list);
39950 					n->tokentype = (yyvsp[0].list);
39951 					n->missing_ok = true;
39952 					(yyval.node) = (Node*)n;
39953 				}
39954 #line 39955 "gram.c" /* yacc.c:1652  */
39955     break;
39956 
39957   case 1491:
39958 #line 10579 "gram.y" /* yacc.c:1652  */
39959     {
39960 				CreateConversionStmt *n = makeNode(CreateConversionStmt);
39961 				n->conversion_name = (yyvsp[-6].list);
39962 				n->for_encoding_name = (yyvsp[-4].str);
39963 				n->to_encoding_name = (yyvsp[-2].str);
39964 				n->func_name = (yyvsp[0].list);
39965 				n->def = (yyvsp[-8].boolean);
39966 				(yyval.node) = (Node *)n;
39967 			}
39968 #line 39969 "gram.c" /* yacc.c:1652  */
39969     break;
39970 
39971   case 1492:
39972 #line 10602 "gram.y" /* yacc.c:1652  */
39973     {
39974 					ClusterStmt *n = makeNode(ClusterStmt);
39975 					n->relation = (yyvsp[-1].range);
39976 					n->indexname = (yyvsp[0].str);
39977 					n->params = NIL;
39978 					if ((yyvsp[-2].boolean))
39979 						n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[-2])));
39980 					(yyval.node) = (Node*)n;
39981 				}
39982 #line 39983 "gram.c" /* yacc.c:1652  */
39983     break;
39984 
39985   case 1493:
39986 #line 10613 "gram.y" /* yacc.c:1652  */
39987     {
39988 					ClusterStmt *n = makeNode(ClusterStmt);
39989 					n->relation = (yyvsp[-1].range);
39990 					n->indexname = (yyvsp[0].str);
39991 					n->params = (yyvsp[-3].list);
39992 					(yyval.node) = (Node*)n;
39993 				}
39994 #line 39995 "gram.c" /* yacc.c:1652  */
39995     break;
39996 
39997   case 1494:
39998 #line 10621 "gram.y" /* yacc.c:1652  */
39999     {
40000 					ClusterStmt *n = makeNode(ClusterStmt);
40001 					n->relation = NULL;
40002 					n->indexname = NULL;
40003 					n->params = NIL;
40004 					if ((yyvsp[0].boolean))
40005 						n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[0])));
40006 					(yyval.node) = (Node*)n;
40007 				}
40008 #line 40009 "gram.c" /* yacc.c:1652  */
40009     break;
40010 
40011   case 1495:
40012 #line 10632 "gram.y" /* yacc.c:1652  */
40013     {
40014 					ClusterStmt *n = makeNode(ClusterStmt);
40015 					n->relation = (yyvsp[0].range);
40016 					n->indexname = (yyvsp[-2].str);
40017 					n->params = NIL;
40018 					if ((yyvsp[-3].boolean))
40019 						n->params = lappend(n->params, makeDefElem("verbose", NULL, (yylsp[-3])));
40020 					(yyval.node) = (Node*)n;
40021 				}
40022 #line 40023 "gram.c" /* yacc.c:1652  */
40023     break;
40024 
40025   case 1496:
40026 #line 10644 "gram.y" /* yacc.c:1652  */
40027     { (yyval.str) = (yyvsp[0].str); }
40028 #line 40029 "gram.c" /* yacc.c:1652  */
40029     break;
40030 
40031   case 1497:
40032 #line 10645 "gram.y" /* yacc.c:1652  */
40033     { (yyval.str) = NULL; }
40034 #line 40035 "gram.c" /* yacc.c:1652  */
40035     break;
40036 
40037   case 1498:
40038 #line 10658 "gram.y" /* yacc.c:1652  */
40039     {
40040 					VacuumStmt *n = makeNode(VacuumStmt);
40041 					n->options = NIL;
40042 					if ((yyvsp[-4].boolean))
40043 						n->options = lappend(n->options,
40044 											 makeDefElem("full", NULL, (yylsp[-4])));
40045 					if ((yyvsp[-3].boolean))
40046 						n->options = lappend(n->options,
40047 											 makeDefElem("freeze", NULL, (yylsp[-3])));
40048 					if ((yyvsp[-2].boolean))
40049 						n->options = lappend(n->options,
40050 											 makeDefElem("verbose", NULL, (yylsp[-2])));
40051 					if ((yyvsp[-1].boolean))
40052 						n->options = lappend(n->options,
40053 											 makeDefElem("analyze", NULL, (yylsp[-1])));
40054 					n->rels = (yyvsp[0].list);
40055 					n->is_vacuumcmd = true;
40056 					(yyval.node) = (Node *)n;
40057 				}
40058 #line 40059 "gram.c" /* yacc.c:1652  */
40059     break;
40060 
40061   case 1499:
40062 #line 10678 "gram.y" /* yacc.c:1652  */
40063     {
40064 					VacuumStmt *n = makeNode(VacuumStmt);
40065 					n->options = (yyvsp[-2].list);
40066 					n->rels = (yyvsp[0].list);
40067 					n->is_vacuumcmd = true;
40068 					(yyval.node) = (Node *) n;
40069 				}
40070 #line 40071 "gram.c" /* yacc.c:1652  */
40071     break;
40072 
40073   case 1500:
40074 #line 10688 "gram.y" /* yacc.c:1652  */
40075     {
40076 					VacuumStmt *n = makeNode(VacuumStmt);
40077 					n->options = NIL;
40078 					if ((yyvsp[-1].boolean))
40079 						n->options = lappend(n->options,
40080 											 makeDefElem("verbose", NULL, (yylsp[-1])));
40081 					n->rels = (yyvsp[0].list);
40082 					n->is_vacuumcmd = false;
40083 					(yyval.node) = (Node *)n;
40084 				}
40085 #line 40086 "gram.c" /* yacc.c:1652  */
40086     break;
40087 
40088   case 1501:
40089 #line 10699 "gram.y" /* yacc.c:1652  */
40090     {
40091 					VacuumStmt *n = makeNode(VacuumStmt);
40092 					n->options = (yyvsp[-2].list);
40093 					n->rels = (yyvsp[0].list);
40094 					n->is_vacuumcmd = false;
40095 					(yyval.node) = (Node *) n;
40096 				}
40097 #line 40098 "gram.c" /* yacc.c:1652  */
40098     break;
40099 
40100   case 1502:
40101 #line 10710 "gram.y" /* yacc.c:1652  */
40102     {
40103 					(yyval.list) = list_make1((yyvsp[0].defelt));
40104 				}
40105 #line 40106 "gram.c" /* yacc.c:1652  */
40106     break;
40107 
40108   case 1503:
40109 #line 10714 "gram.y" /* yacc.c:1652  */
40110     {
40111 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].defelt));
40112 				}
40113 #line 40114 "gram.c" /* yacc.c:1652  */
40114     break;
40115 
40116   case 1506:
40117 #line 10726 "gram.y" /* yacc.c:1652  */
40118     {
40119 					(yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1]));
40120 				}
40121 #line 40122 "gram.c" /* yacc.c:1652  */
40122     break;
40123 
40124   case 1507:
40125 #line 10732 "gram.y" /* yacc.c:1652  */
40126     { (yyval.str) = (yyvsp[0].str); }
40127 #line 40128 "gram.c" /* yacc.c:1652  */
40128     break;
40129 
40130   case 1508:
40131 #line 10733 "gram.y" /* yacc.c:1652  */
40132     { (yyval.str) = "analyze"; }
40133 #line 40134 "gram.c" /* yacc.c:1652  */
40134     break;
40135 
40136   case 1509:
40137 #line 10737 "gram.y" /* yacc.c:1652  */
40138     { (yyval.node) = (Node *) makeString((yyvsp[0].str)); }
40139 #line 40140 "gram.c" /* yacc.c:1652  */
40140     break;
40141 
40142   case 1510:
40143 #line 10738 "gram.y" /* yacc.c:1652  */
40144     { (yyval.node) = (Node *) (yyvsp[0].value); }
40145 #line 40146 "gram.c" /* yacc.c:1652  */
40146     break;
40147 
40148   case 1511:
40149 #line 10739 "gram.y" /* yacc.c:1652  */
40150     { (yyval.node) = NULL; }
40151 #line 40152 "gram.c" /* yacc.c:1652  */
40152     break;
40153 
40154   case 1512:
40155 #line 10743 "gram.y" /* yacc.c:1652  */
40156     { (yyval.boolean) = true; }
40157 #line 40158 "gram.c" /* yacc.c:1652  */
40158     break;
40159 
40160   case 1513:
40161 #line 10744 "gram.y" /* yacc.c:1652  */
40162     { (yyval.boolean) = false; }
40163 #line 40164 "gram.c" /* yacc.c:1652  */
40164     break;
40165 
40166   case 1514:
40167 #line 10748 "gram.y" /* yacc.c:1652  */
40168     { (yyval.boolean) = true; }
40169 #line 40170 "gram.c" /* yacc.c:1652  */
40170     break;
40171 
40172   case 1515:
40173 #line 10749 "gram.y" /* yacc.c:1652  */
40174     { (yyval.boolean) = false; }
40175 #line 40176 "gram.c" /* yacc.c:1652  */
40176     break;
40177 
40178   case 1516:
40179 #line 10752 "gram.y" /* yacc.c:1652  */
40180     { (yyval.boolean) = true; }
40181 #line 40182 "gram.c" /* yacc.c:1652  */
40182     break;
40183 
40184   case 1517:
40185 #line 10753 "gram.y" /* yacc.c:1652  */
40186     { (yyval.boolean) = false; }
40187 #line 40188 "gram.c" /* yacc.c:1652  */
40188     break;
40189 
40190   case 1518:
40191 #line 10756 "gram.y" /* yacc.c:1652  */
40192     { (yyval.boolean) = true; }
40193 #line 40194 "gram.c" /* yacc.c:1652  */
40194     break;
40195 
40196   case 1519:
40197 #line 10757 "gram.y" /* yacc.c:1652  */
40198     { (yyval.boolean) = false; }
40199 #line 40200 "gram.c" /* yacc.c:1652  */
40200     break;
40201 
40202   case 1520:
40203 #line 10761 "gram.y" /* yacc.c:1652  */
40204     { (yyval.list) = (yyvsp[-1].list); }
40205 #line 40206 "gram.c" /* yacc.c:1652  */
40206     break;
40207 
40208   case 1521:
40209 #line 10762 "gram.y" /* yacc.c:1652  */
40210     { (yyval.list) = NIL; }
40211 #line 40212 "gram.c" /* yacc.c:1652  */
40212     break;
40213 
40214   case 1522:
40215 #line 10767 "gram.y" /* yacc.c:1652  */
40216     {
40217 					(yyval.node) = (Node *) makeVacuumRelation((yyvsp[-1].range), InvalidOid, (yyvsp[0].list));
40218 				}
40219 #line 40220 "gram.c" /* yacc.c:1652  */
40220     break;
40221 
40222   case 1523:
40223 #line 10774 "gram.y" /* yacc.c:1652  */
40224     { (yyval.list) = list_make1((yyvsp[0].node)); }
40225 #line 40226 "gram.c" /* yacc.c:1652  */
40226     break;
40227 
40228   case 1524:
40229 #line 10776 "gram.y" /* yacc.c:1652  */
40230     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
40231 #line 40232 "gram.c" /* yacc.c:1652  */
40232     break;
40233 
40234   case 1525:
40235 #line 10780 "gram.y" /* yacc.c:1652  */
40236     { (yyval.list) = (yyvsp[0].list); }
40237 #line 40238 "gram.c" /* yacc.c:1652  */
40238     break;
40239 
40240   case 1526:
40241 #line 10781 "gram.y" /* yacc.c:1652  */
40242     { (yyval.list) = NIL; }
40243 #line 40244 "gram.c" /* yacc.c:1652  */
40244     break;
40245 
40246   case 1527:
40247 #line 10795 "gram.y" /* yacc.c:1652  */
40248     {
40249 					ExplainStmt *n = makeNode(ExplainStmt);
40250 					n->query = (yyvsp[0].node);
40251 					n->options = NIL;
40252 					(yyval.node) = (Node *) n;
40253 				}
40254 #line 40255 "gram.c" /* yacc.c:1652  */
40255     break;
40256 
40257   case 1528:
40258 #line 10802 "gram.y" /* yacc.c:1652  */
40259     {
40260 					ExplainStmt *n = makeNode(ExplainStmt);
40261 					n->query = (yyvsp[0].node);
40262 					n->options = list_make1(makeDefElem("analyze", NULL, (yylsp[-2])));
40263 					if ((yyvsp[-1].boolean))
40264 						n->options = lappend(n->options,
40265 											 makeDefElem("verbose", NULL, (yylsp[-1])));
40266 					(yyval.node) = (Node *) n;
40267 				}
40268 #line 40269 "gram.c" /* yacc.c:1652  */
40269     break;
40270 
40271   case 1529:
40272 #line 10812 "gram.y" /* yacc.c:1652  */
40273     {
40274 					ExplainStmt *n = makeNode(ExplainStmt);
40275 					n->query = (yyvsp[0].node);
40276 					n->options = list_make1(makeDefElem("verbose", NULL, (yylsp[-1])));
40277 					(yyval.node) = (Node *) n;
40278 				}
40279 #line 40280 "gram.c" /* yacc.c:1652  */
40280     break;
40281 
40282   case 1530:
40283 #line 10819 "gram.y" /* yacc.c:1652  */
40284     {
40285 					ExplainStmt *n = makeNode(ExplainStmt);
40286 					n->query = (yyvsp[0].node);
40287 					n->options = (yyvsp[-2].list);
40288 					(yyval.node) = (Node *) n;
40289 				}
40290 #line 40291 "gram.c" /* yacc.c:1652  */
40291     break;
40292 
40293   case 1540:
40294 #line 10847 "gram.y" /* yacc.c:1652  */
40295     {
40296 					PrepareStmt *n = makeNode(PrepareStmt);
40297 					n->name = (yyvsp[-3].str);
40298 					n->argtypes = (yyvsp[-2].list);
40299 					n->query = (yyvsp[0].node);
40300 					(yyval.node) = (Node *) n;
40301 				}
40302 #line 40303 "gram.c" /* yacc.c:1652  */
40303     break;
40304 
40305   case 1541:
40306 #line 10856 "gram.y" /* yacc.c:1652  */
40307     { (yyval.list) = (yyvsp[-1].list); }
40308 #line 40309 "gram.c" /* yacc.c:1652  */
40309     break;
40310 
40311   case 1542:
40312 #line 10857 "gram.y" /* yacc.c:1652  */
40313     { (yyval.list) = NIL; }
40314 #line 40315 "gram.c" /* yacc.c:1652  */
40315     break;
40316 
40317   case 1547:
40318 #line 10875 "gram.y" /* yacc.c:1652  */
40319     {
40320 					ExecuteStmt *n = makeNode(ExecuteStmt);
40321 					n->name = (yyvsp[-1].str);
40322 					n->params = (yyvsp[0].list);
40323 					(yyval.node) = (Node *) n;
40324 				}
40325 #line 40326 "gram.c" /* yacc.c:1652  */
40326     break;
40327 
40328   case 1548:
40329 #line 10883 "gram.y" /* yacc.c:1652  */
40330     {
40331 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
40332 					ExecuteStmt *n = makeNode(ExecuteStmt);
40333 					n->name = (yyvsp[-2].str);
40334 					n->params = (yyvsp[-1].list);
40335 					ctas->query = (Node *) n;
40336 					ctas->into = (yyvsp[-5].into);
40337 					ctas->objtype = OBJECT_TABLE;
40338 					ctas->is_select_into = false;
40339 					ctas->if_not_exists = false;
40340 					/* cram additional flags into the IntoClause */
40341 					(yyvsp[-5].into)->rel->relpersistence = (yyvsp[-7].ival);
40342 					(yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
40343 					(yyval.node) = (Node *) ctas;
40344 				}
40345 #line 40346 "gram.c" /* yacc.c:1652  */
40346     break;
40347 
40348   case 1549:
40349 #line 10900 "gram.y" /* yacc.c:1652  */
40350     {
40351 					CreateTableAsStmt *ctas = makeNode(CreateTableAsStmt);
40352 					ExecuteStmt *n = makeNode(ExecuteStmt);
40353 					n->name = (yyvsp[-2].str);
40354 					n->params = (yyvsp[-1].list);
40355 					ctas->query = (Node *) n;
40356 					ctas->into = (yyvsp[-5].into);
40357 					ctas->objtype = OBJECT_TABLE;
40358 					ctas->is_select_into = false;
40359 					ctas->if_not_exists = true;
40360 					/* cram additional flags into the IntoClause */
40361 					(yyvsp[-5].into)->rel->relpersistence = (yyvsp[-10].ival);
40362 					(yyvsp[-5].into)->skipData = !((yyvsp[0].boolean));
40363 					(yyval.node) = (Node *) ctas;
40364 				}
40365 #line 40366 "gram.c" /* yacc.c:1652  */
40366     break;
40367 
40368   case 1550:
40369 #line 10917 "gram.y" /* yacc.c:1652  */
40370     { (yyval.list) = (yyvsp[-1].list); }
40371 #line 40372 "gram.c" /* yacc.c:1652  */
40372     break;
40373 
40374   case 1551:
40375 #line 10918 "gram.y" /* yacc.c:1652  */
40376     { (yyval.list) = NIL; }
40377 #line 40378 "gram.c" /* yacc.c:1652  */
40378     break;
40379 
40380   case 1552:
40381 #line 10929 "gram.y" /* yacc.c:1652  */
40382     {
40383 						DeallocateStmt *n = makeNode(DeallocateStmt);
40384 						n->name = (yyvsp[0].str);
40385 						(yyval.node) = (Node *) n;
40386 					}
40387 #line 40388 "gram.c" /* yacc.c:1652  */
40388     break;
40389 
40390   case 1553:
40391 #line 10935 "gram.y" /* yacc.c:1652  */
40392     {
40393 						DeallocateStmt *n = makeNode(DeallocateStmt);
40394 						n->name = (yyvsp[0].str);
40395 						(yyval.node) = (Node *) n;
40396 					}
40397 #line 40398 "gram.c" /* yacc.c:1652  */
40398     break;
40399 
40400   case 1554:
40401 #line 10941 "gram.y" /* yacc.c:1652  */
40402     {
40403 						DeallocateStmt *n = makeNode(DeallocateStmt);
40404 						n->name = NULL;
40405 						(yyval.node) = (Node *) n;
40406 					}
40407 #line 40408 "gram.c" /* yacc.c:1652  */
40408     break;
40409 
40410   case 1555:
40411 #line 10947 "gram.y" /* yacc.c:1652  */
40412     {
40413 						DeallocateStmt *n = makeNode(DeallocateStmt);
40414 						n->name = NULL;
40415 						(yyval.node) = (Node *) n;
40416 					}
40417 #line 40418 "gram.c" /* yacc.c:1652  */
40418     break;
40419 
40420   case 1556:
40421 #line 10964 "gram.y" /* yacc.c:1652  */
40422     {
40423 					(yyvsp[-2].istmt)->relation = (yyvsp[-3].range);
40424 					(yyvsp[-2].istmt)->onConflictClause = (yyvsp[-1].onconflict);
40425 					(yyvsp[-2].istmt)->returningList = (yyvsp[0].list);
40426 					(yyvsp[-2].istmt)->withClause = (yyvsp[-6].with);
40427 					(yyval.node) = (Node *) (yyvsp[-2].istmt);
40428 				}
40429 #line 40430 "gram.c" /* yacc.c:1652  */
40430     break;
40431 
40432   case 1557:
40433 #line 10981 "gram.y" /* yacc.c:1652  */
40434     {
40435 					(yyval.range) = (yyvsp[0].range);
40436 				}
40437 #line 40438 "gram.c" /* yacc.c:1652  */
40438     break;
40439 
40440   case 1558:
40441 #line 10985 "gram.y" /* yacc.c:1652  */
40442     {
40443 					(yyvsp[-2].range)->alias = makeAlias((yyvsp[0].str), NIL);
40444 					(yyval.range) = (yyvsp[-2].range);
40445 				}
40446 #line 40447 "gram.c" /* yacc.c:1652  */
40447     break;
40448 
40449   case 1559:
40450 #line 10993 "gram.y" /* yacc.c:1652  */
40451     {
40452 					(yyval.istmt) = makeNode(InsertStmt);
40453 					(yyval.istmt)->cols = NIL;
40454 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
40455 				}
40456 #line 40457 "gram.c" /* yacc.c:1652  */
40457     break;
40458 
40459   case 1560:
40460 #line 10999 "gram.y" /* yacc.c:1652  */
40461     {
40462 					(yyval.istmt) = makeNode(InsertStmt);
40463 					(yyval.istmt)->cols = NIL;
40464 					(yyval.istmt)->override = (yyvsp[-2].ival);
40465 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
40466 				}
40467 #line 40468 "gram.c" /* yacc.c:1652  */
40468     break;
40469 
40470   case 1561:
40471 #line 11006 "gram.y" /* yacc.c:1652  */
40472     {
40473 					(yyval.istmt) = makeNode(InsertStmt);
40474 					(yyval.istmt)->cols = (yyvsp[-2].list);
40475 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
40476 				}
40477 #line 40478 "gram.c" /* yacc.c:1652  */
40478     break;
40479 
40480   case 1562:
40481 #line 11012 "gram.y" /* yacc.c:1652  */
40482     {
40483 					(yyval.istmt) = makeNode(InsertStmt);
40484 					(yyval.istmt)->cols = (yyvsp[-5].list);
40485 					(yyval.istmt)->override = (yyvsp[-2].ival);
40486 					(yyval.istmt)->selectStmt = (yyvsp[0].node);
40487 				}
40488 #line 40489 "gram.c" /* yacc.c:1652  */
40489     break;
40490 
40491   case 1563:
40492 #line 11019 "gram.y" /* yacc.c:1652  */
40493     {
40494 					(yyval.istmt) = makeNode(InsertStmt);
40495 					(yyval.istmt)->cols = NIL;
40496 					(yyval.istmt)->selectStmt = NULL;
40497 				}
40498 #line 40499 "gram.c" /* yacc.c:1652  */
40499     break;
40500 
40501   case 1564:
40502 #line 11027 "gram.y" /* yacc.c:1652  */
40503     { (yyval.ival) = OVERRIDING_USER_VALUE; }
40504 #line 40505 "gram.c" /* yacc.c:1652  */
40505     break;
40506 
40507   case 1565:
40508 #line 11028 "gram.y" /* yacc.c:1652  */
40509     { (yyval.ival) = OVERRIDING_SYSTEM_VALUE; }
40510 #line 40511 "gram.c" /* yacc.c:1652  */
40511     break;
40512 
40513   case 1566:
40514 #line 11033 "gram.y" /* yacc.c:1652  */
40515     { (yyval.list) = list_make1((yyvsp[0].target)); }
40516 #line 40517 "gram.c" /* yacc.c:1652  */
40517     break;
40518 
40519   case 1567:
40520 #line 11035 "gram.y" /* yacc.c:1652  */
40521     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
40522 #line 40523 "gram.c" /* yacc.c:1652  */
40523     break;
40524 
40525   case 1568:
40526 #line 11040 "gram.y" /* yacc.c:1652  */
40527     {
40528 					(yyval.target) = makeNode(ResTarget);
40529 					(yyval.target)->name = (yyvsp[-1].str);
40530 					(yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
40531 					(yyval.target)->val = NULL;
40532 					(yyval.target)->location = (yylsp[-1]);
40533 				}
40534 #line 40535 "gram.c" /* yacc.c:1652  */
40535     break;
40536 
40537   case 1569:
40538 #line 11051 "gram.y" /* yacc.c:1652  */
40539     {
40540 					(yyval.onconflict) = makeNode(OnConflictClause);
40541 					(yyval.onconflict)->action = ONCONFLICT_UPDATE;
40542 					(yyval.onconflict)->infer = (yyvsp[-5].infer);
40543 					(yyval.onconflict)->targetList = (yyvsp[-1].list);
40544 					(yyval.onconflict)->whereClause = (yyvsp[0].node);
40545 					(yyval.onconflict)->location = (yylsp[-7]);
40546 				}
40547 #line 40548 "gram.c" /* yacc.c:1652  */
40548     break;
40549 
40550   case 1570:
40551 #line 11061 "gram.y" /* yacc.c:1652  */
40552     {
40553 					(yyval.onconflict) = makeNode(OnConflictClause);
40554 					(yyval.onconflict)->action = ONCONFLICT_NOTHING;
40555 					(yyval.onconflict)->infer = (yyvsp[-2].infer);
40556 					(yyval.onconflict)->targetList = NIL;
40557 					(yyval.onconflict)->whereClause = NULL;
40558 					(yyval.onconflict)->location = (yylsp[-4]);
40559 				}
40560 #line 40561 "gram.c" /* yacc.c:1652  */
40561     break;
40562 
40563   case 1571:
40564 #line 11070 "gram.y" /* yacc.c:1652  */
40565     {
40566 					(yyval.onconflict) = NULL;
40567 				}
40568 #line 40569 "gram.c" /* yacc.c:1652  */
40569     break;
40570 
40571   case 1572:
40572 #line 11077 "gram.y" /* yacc.c:1652  */
40573     {
40574 					(yyval.infer) = makeNode(InferClause);
40575 					(yyval.infer)->indexElems = (yyvsp[-2].list);
40576 					(yyval.infer)->whereClause = (yyvsp[0].node);
40577 					(yyval.infer)->conname = NULL;
40578 					(yyval.infer)->location = (yylsp[-3]);
40579 				}
40580 #line 40581 "gram.c" /* yacc.c:1652  */
40581     break;
40582 
40583   case 1573:
40584 #line 11086 "gram.y" /* yacc.c:1652  */
40585     {
40586 					(yyval.infer) = makeNode(InferClause);
40587 					(yyval.infer)->indexElems = NIL;
40588 					(yyval.infer)->whereClause = NULL;
40589 					(yyval.infer)->conname = (yyvsp[0].str);
40590 					(yyval.infer)->location = (yylsp[-2]);
40591 				}
40592 #line 40593 "gram.c" /* yacc.c:1652  */
40593     break;
40594 
40595   case 1574:
40596 #line 11094 "gram.y" /* yacc.c:1652  */
40597     {
40598 					(yyval.infer) = NULL;
40599 				}
40600 #line 40601 "gram.c" /* yacc.c:1652  */
40601     break;
40602 
40603   case 1575:
40604 #line 11100 "gram.y" /* yacc.c:1652  */
40605     { (yyval.list) = (yyvsp[0].list); }
40606 #line 40607 "gram.c" /* yacc.c:1652  */
40607     break;
40608 
40609   case 1576:
40610 #line 11101 "gram.y" /* yacc.c:1652  */
40611     { (yyval.list) = NIL; }
40612 #line 40613 "gram.c" /* yacc.c:1652  */
40613     break;
40614 
40615   case 1577:
40616 #line 11114 "gram.y" /* yacc.c:1652  */
40617     {
40618 					DeleteStmt *n = makeNode(DeleteStmt);
40619 					n->relation = (yyvsp[-3].range);
40620 					n->usingClause = (yyvsp[-2].list);
40621 					n->whereClause = (yyvsp[-1].node);
40622 					n->returningList = (yyvsp[0].list);
40623 					n->withClause = (yyvsp[-6].with);
40624 					(yyval.node) = (Node *)n;
40625 				}
40626 #line 40627 "gram.c" /* yacc.c:1652  */
40627     break;
40628 
40629   case 1578:
40630 #line 11126 "gram.y" /* yacc.c:1652  */
40631     { (yyval.list) = (yyvsp[0].list); }
40632 #line 40633 "gram.c" /* yacc.c:1652  */
40633     break;
40634 
40635   case 1579:
40636 #line 11127 "gram.y" /* yacc.c:1652  */
40637     { (yyval.list) = NIL; }
40638 #line 40639 "gram.c" /* yacc.c:1652  */
40639     break;
40640 
40641   case 1580:
40642 #line 11139 "gram.y" /* yacc.c:1652  */
40643     {
40644 					LockStmt *n = makeNode(LockStmt);
40645 
40646 					n->relations = (yyvsp[-2].list);
40647 					n->mode = (yyvsp[-1].ival);
40648 					n->nowait = (yyvsp[0].boolean);
40649 					(yyval.node) = (Node *)n;
40650 				}
40651 #line 40652 "gram.c" /* yacc.c:1652  */
40652     break;
40653 
40654   case 1581:
40655 #line 11149 "gram.y" /* yacc.c:1652  */
40656     { (yyval.ival) = (yyvsp[-1].ival); }
40657 #line 40658 "gram.c" /* yacc.c:1652  */
40658     break;
40659 
40660   case 1582:
40661 #line 11150 "gram.y" /* yacc.c:1652  */
40662     { (yyval.ival) = AccessExclusiveLock; }
40663 #line 40664 "gram.c" /* yacc.c:1652  */
40664     break;
40665 
40666   case 1583:
40667 #line 11153 "gram.y" /* yacc.c:1652  */
40668     { (yyval.ival) = AccessShareLock; }
40669 #line 40670 "gram.c" /* yacc.c:1652  */
40670     break;
40671 
40672   case 1584:
40673 #line 11154 "gram.y" /* yacc.c:1652  */
40674     { (yyval.ival) = RowShareLock; }
40675 #line 40676 "gram.c" /* yacc.c:1652  */
40676     break;
40677 
40678   case 1585:
40679 #line 11155 "gram.y" /* yacc.c:1652  */
40680     { (yyval.ival) = RowExclusiveLock; }
40681 #line 40682 "gram.c" /* yacc.c:1652  */
40682     break;
40683 
40684   case 1586:
40685 #line 11156 "gram.y" /* yacc.c:1652  */
40686     { (yyval.ival) = ShareUpdateExclusiveLock; }
40687 #line 40688 "gram.c" /* yacc.c:1652  */
40688     break;
40689 
40690   case 1587:
40691 #line 11157 "gram.y" /* yacc.c:1652  */
40692     { (yyval.ival) = ShareLock; }
40693 #line 40694 "gram.c" /* yacc.c:1652  */
40694     break;
40695 
40696   case 1588:
40697 #line 11158 "gram.y" /* yacc.c:1652  */
40698     { (yyval.ival) = ShareRowExclusiveLock; }
40699 #line 40700 "gram.c" /* yacc.c:1652  */
40700     break;
40701 
40702   case 1589:
40703 #line 11159 "gram.y" /* yacc.c:1652  */
40704     { (yyval.ival) = ExclusiveLock; }
40705 #line 40706 "gram.c" /* yacc.c:1652  */
40706     break;
40707 
40708   case 1590:
40709 #line 11160 "gram.y" /* yacc.c:1652  */
40710     { (yyval.ival) = AccessExclusiveLock; }
40711 #line 40712 "gram.c" /* yacc.c:1652  */
40712     break;
40713 
40714   case 1591:
40715 #line 11163 "gram.y" /* yacc.c:1652  */
40716     { (yyval.boolean) = true; }
40717 #line 40718 "gram.c" /* yacc.c:1652  */
40718     break;
40719 
40720   case 1592:
40721 #line 11164 "gram.y" /* yacc.c:1652  */
40722     { (yyval.boolean) = false; }
40723 #line 40724 "gram.c" /* yacc.c:1652  */
40724     break;
40725 
40726   case 1593:
40727 #line 11168 "gram.y" /* yacc.c:1652  */
40728     { (yyval.ival) = LockWaitError; }
40729 #line 40730 "gram.c" /* yacc.c:1652  */
40730     break;
40731 
40732   case 1594:
40733 #line 11169 "gram.y" /* yacc.c:1652  */
40734     { (yyval.ival) = LockWaitSkip; }
40735 #line 40736 "gram.c" /* yacc.c:1652  */
40736     break;
40737 
40738   case 1595:
40739 #line 11170 "gram.y" /* yacc.c:1652  */
40740     { (yyval.ival) = LockWaitBlock; }
40741 #line 40742 "gram.c" /* yacc.c:1652  */
40742     break;
40743 
40744   case 1596:
40745 #line 11186 "gram.y" /* yacc.c:1652  */
40746     {
40747 					UpdateStmt *n = makeNode(UpdateStmt);
40748 					n->relation = (yyvsp[-5].range);
40749 					n->targetList = (yyvsp[-3].list);
40750 					n->fromClause = (yyvsp[-2].list);
40751 					n->whereClause = (yyvsp[-1].node);
40752 					n->returningList = (yyvsp[0].list);
40753 					n->withClause = (yyvsp[-7].with);
40754 					(yyval.node) = (Node *)n;
40755 				}
40756 #line 40757 "gram.c" /* yacc.c:1652  */
40757     break;
40758 
40759   case 1597:
40760 #line 11199 "gram.y" /* yacc.c:1652  */
40761     { (yyval.list) = (yyvsp[0].list); }
40762 #line 40763 "gram.c" /* yacc.c:1652  */
40763     break;
40764 
40765   case 1598:
40766 #line 11200 "gram.y" /* yacc.c:1652  */
40767     { (yyval.list) = list_concat((yyvsp[-2].list),(yyvsp[0].list)); }
40768 #line 40769 "gram.c" /* yacc.c:1652  */
40769     break;
40770 
40771   case 1599:
40772 #line 11205 "gram.y" /* yacc.c:1652  */
40773     {
40774 					(yyvsp[-2].target)->val = (Node *) (yyvsp[0].node);
40775 					(yyval.list) = list_make1((yyvsp[-2].target));
40776 				}
40777 #line 40778 "gram.c" /* yacc.c:1652  */
40778     break;
40779 
40780   case 1600:
40781 #line 11210 "gram.y" /* yacc.c:1652  */
40782     {
40783 					int ncolumns = list_length((yyvsp[-3].list));
40784 					int i = 1;
40785 					ListCell *col_cell;
40786 
40787 					/* Create a MultiAssignRef source for each target */
40788 					foreach(col_cell, (yyvsp[-3].list))
40789 					{
40790 						ResTarget *res_col = (ResTarget *) lfirst(col_cell);
40791 						MultiAssignRef *r = makeNode(MultiAssignRef);
40792 
40793 						r->source = (Node *) (yyvsp[0].node);
40794 						r->colno = i;
40795 						r->ncolumns = ncolumns;
40796 						res_col->val = (Node *) r;
40797 						i++;
40798 					}
40799 
40800 					(yyval.list) = (yyvsp[-3].list);
40801 				}
40802 #line 40803 "gram.c" /* yacc.c:1652  */
40803     break;
40804 
40805   case 1601:
40806 #line 11234 "gram.y" /* yacc.c:1652  */
40807     {
40808 					(yyval.target) = makeNode(ResTarget);
40809 					(yyval.target)->name = (yyvsp[-1].str);
40810 					(yyval.target)->indirection = check_indirection((yyvsp[0].list), yyscanner);
40811 					(yyval.target)->val = NULL;	/* upper production sets this */
40812 					(yyval.target)->location = (yylsp[-1]);
40813 				}
40814 #line 40815 "gram.c" /* yacc.c:1652  */
40815     break;
40816 
40817   case 1602:
40818 #line 11244 "gram.y" /* yacc.c:1652  */
40819     { (yyval.list) = list_make1((yyvsp[0].target)); }
40820 #line 40821 "gram.c" /* yacc.c:1652  */
40821     break;
40822 
40823   case 1603:
40824 #line 11245 "gram.y" /* yacc.c:1652  */
40825     { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].target)); }
40826 #line 40827 "gram.c" /* yacc.c:1652  */
40827     break;
40828 
40829   case 1604:
40830 #line 11256 "gram.y" /* yacc.c:1652  */
40831     {
40832 					DeclareCursorStmt *n = makeNode(DeclareCursorStmt);
40833 					n->portalname = (yyvsp[-5].str);
40834 					/* currently we always set FAST_PLAN option */
40835 					n->options = (yyvsp[-4].ival) | (yyvsp[-2].ival) | CURSOR_OPT_FAST_PLAN;
40836 					n->query = (yyvsp[0].node);
40837 					(yyval.node) = (Node *)n;
40838 				}
40839 #line 40840 "gram.c" /* yacc.c:1652  */
40840     break;
40841 
40842   case 1605:
40843 #line 11266 "gram.y" /* yacc.c:1652  */
40844     { (yyval.str) = (yyvsp[0].str); }
40845 #line 40846 "gram.c" /* yacc.c:1652  */
40846     break;
40847 
40848   case 1606:
40849 #line 11269 "gram.y" /* yacc.c:1652  */
40850     { (yyval.ival) = 0; }
40851 #line 40852 "gram.c" /* yacc.c:1652  */
40852     break;
40853 
40854   case 1607:
40855 #line 11270 "gram.y" /* yacc.c:1652  */
40856     { (yyval.ival) = (yyvsp[-2].ival) | CURSOR_OPT_NO_SCROLL; }
40857 #line 40858 "gram.c" /* yacc.c:1652  */
40858     break;
40859 
40860   case 1608:
40861 #line 11271 "gram.y" /* yacc.c:1652  */
40862     { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_SCROLL; }
40863 #line 40864 "gram.c" /* yacc.c:1652  */
40864     break;
40865 
40866   case 1609:
40867 #line 11272 "gram.y" /* yacc.c:1652  */
40868     { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_BINARY; }
40869 #line 40870 "gram.c" /* yacc.c:1652  */
40870     break;
40871 
40872   case 1610:
40873 #line 11273 "gram.y" /* yacc.c:1652  */
40874     { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_ASENSITIVE; }
40875 #line 40876 "gram.c" /* yacc.c:1652  */
40876     break;
40877 
40878   case 1611:
40879 #line 11274 "gram.y" /* yacc.c:1652  */
40880     { (yyval.ival) = (yyvsp[-1].ival) | CURSOR_OPT_INSENSITIVE; }
40881 #line 40882 "gram.c" /* yacc.c:1652  */
40882     break;
40883 
40884   case 1612:
40885 #line 11277 "gram.y" /* yacc.c:1652  */
40886     { (yyval.ival) = 0; }
40887 #line 40888 "gram.c" /* yacc.c:1652  */
40888     break;
40889 
40890   case 1613:
40891 #line 11278 "gram.y" /* yacc.c:1652  */
40892     { (yyval.ival) = CURSOR_OPT_HOLD; }
40893 #line 40894 "gram.c" /* yacc.c:1652  */
40894     break;
40895 
40896   case 1614:
40897 #line 11279 "gram.y" /* yacc.c:1652  */
40898     { (yyval.ival) = 0; }
40899 #line 40900 "gram.c" /* yacc.c:1652  */
40900     break;
40901 
40902   case 1617:
40903 #line 11332 "gram.y" /* yacc.c:1652  */
40904     { (yyval.node) = (yyvsp[-1].node); }
40905 #line 40906 "gram.c" /* yacc.c:1652  */
40906     break;
40907 
40908   case 1618:
40909 #line 11333 "gram.y" /* yacc.c:1652  */
40910     { (yyval.node) = (yyvsp[-1].node); }
40911 #line 40912 "gram.c" /* yacc.c:1652  */
40912     break;
40913 
40914   case 1619:
40915 #line 11348 "gram.y" /* yacc.c:1652  */
40916     { (yyval.node) = (yyvsp[0].node); }
40917 #line 40918 "gram.c" /* yacc.c:1652  */
40918     break;
40919 
40920   case 1620:
40921 #line 11350 "gram.y" /* yacc.c:1652  */
40922     {
40923 					insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
40924 										NULL, NULL,
40925 										yyscanner);
40926 					(yyval.node) = (yyvsp[-1].node);
40927 				}
40928 #line 40929 "gram.c" /* yacc.c:1652  */
40929     break;
40930 
40931   case 1621:
40932 #line 11357 "gram.y" /* yacc.c:1652  */
40933     {
40934 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
40935 										(yyvsp[0].selectlimit),
40936 										NULL,
40937 										yyscanner);
40938 					(yyval.node) = (yyvsp[-3].node);
40939 				}
40940 #line 40941 "gram.c" /* yacc.c:1652  */
40941     break;
40942 
40943   case 1622:
40944 #line 11365 "gram.y" /* yacc.c:1652  */
40945     {
40946 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
40947 										(yyvsp[-1].selectlimit),
40948 										NULL,
40949 										yyscanner);
40950 					(yyval.node) = (yyvsp[-3].node);
40951 				}
40952 #line 40953 "gram.c" /* yacc.c:1652  */
40953     break;
40954 
40955   case 1623:
40956 #line 11373 "gram.y" /* yacc.c:1652  */
40957     {
40958 					insertSelectOptions((SelectStmt *) (yyvsp[0].node), NULL, NIL,
40959 										NULL,
40960 										(yyvsp[-1].with),
40961 										yyscanner);
40962 					(yyval.node) = (yyvsp[0].node);
40963 				}
40964 #line 40965 "gram.c" /* yacc.c:1652  */
40965     break;
40966 
40967   case 1624:
40968 #line 11381 "gram.y" /* yacc.c:1652  */
40969     {
40970 					insertSelectOptions((SelectStmt *) (yyvsp[-1].node), (yyvsp[0].list), NIL,
40971 										NULL,
40972 										(yyvsp[-2].with),
40973 										yyscanner);
40974 					(yyval.node) = (yyvsp[-1].node);
40975 				}
40976 #line 40977 "gram.c" /* yacc.c:1652  */
40977     break;
40978 
40979   case 1625:
40980 #line 11389 "gram.y" /* yacc.c:1652  */
40981     {
40982 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[-1].list),
40983 										(yyvsp[0].selectlimit),
40984 										(yyvsp[-4].with),
40985 										yyscanner);
40986 					(yyval.node) = (yyvsp[-3].node);
40987 				}
40988 #line 40989 "gram.c" /* yacc.c:1652  */
40989     break;
40990 
40991   case 1626:
40992 #line 11397 "gram.y" /* yacc.c:1652  */
40993     {
40994 					insertSelectOptions((SelectStmt *) (yyvsp[-3].node), (yyvsp[-2].list), (yyvsp[0].list),
40995 										(yyvsp[-1].selectlimit),
40996 										(yyvsp[-4].with),
40997 										yyscanner);
40998 					(yyval.node) = (yyvsp[-3].node);
40999 				}
41000 #line 41001 "gram.c" /* yacc.c:1652  */
41001     break;
41002 
41003   case 1627:
41004 #line 11407 "gram.y" /* yacc.c:1652  */
41005     { (yyval.node) = (yyvsp[0].node); }
41006 #line 41007 "gram.c" /* yacc.c:1652  */
41007     break;
41008 
41009   case 1628:
41010 #line 11408 "gram.y" /* yacc.c:1652  */
41011     { (yyval.node) = (yyvsp[0].node); }
41012 #line 41013 "gram.c" /* yacc.c:1652  */
41013     break;
41014 
41015   case 1629:
41016 #line 11443 "gram.y" /* yacc.c:1652  */
41017     {
41018 					SelectStmt *n = makeNode(SelectStmt);
41019 					n->targetList = (yyvsp[-6].list);
41020 					n->intoClause = (yyvsp[-5].into);
41021 					n->fromClause = (yyvsp[-4].list);
41022 					n->whereClause = (yyvsp[-3].node);
41023 					n->groupClause = ((yyvsp[-2].groupclause))->list;
41024 					n->groupDistinct = ((yyvsp[-2].groupclause))->distinct;
41025 					n->havingClause = (yyvsp[-1].node);
41026 					n->windowClause = (yyvsp[0].list);
41027 					(yyval.node) = (Node *)n;
41028 				}
41029 #line 41030 "gram.c" /* yacc.c:1652  */
41030     break;
41031 
41032   case 1630:
41033 #line 11458 "gram.y" /* yacc.c:1652  */
41034     {
41035 					SelectStmt *n = makeNode(SelectStmt);
41036 					n->distinctClause = (yyvsp[-7].list);
41037 					n->targetList = (yyvsp[-6].list);
41038 					n->intoClause = (yyvsp[-5].into);
41039 					n->fromClause = (yyvsp[-4].list);
41040 					n->whereClause = (yyvsp[-3].node);
41041 					n->groupClause = ((yyvsp[-2].groupclause))->list;
41042 					n->groupDistinct = ((yyvsp[-2].groupclause))->distinct;
41043 					n->havingClause = (yyvsp[-1].node);
41044 					n->windowClause = (yyvsp[0].list);
41045 					(yyval.node) = (Node *)n;
41046 				}
41047 #line 41048 "gram.c" /* yacc.c:1652  */
41048     break;
41049 
41050   case 1631:
41051 #line 11471 "gram.y" /* yacc.c:1652  */
41052     { (yyval.node) = (yyvsp[0].node); }
41053 #line 41054 "gram.c" /* yacc.c:1652  */
41054     break;
41055 
41056   case 1632:
41057 #line 11473 "gram.y" /* yacc.c:1652  */
41058     {
41059 					/* same as SELECT * FROM relation_expr */
41060 					ColumnRef *cr = makeNode(ColumnRef);
41061 					ResTarget *rt = makeNode(ResTarget);
41062 					SelectStmt *n = makeNode(SelectStmt);
41063 
41064 					cr->fields = list_make1(makeNode(A_Star));
41065 					cr->location = -1;
41066 
41067 					rt->name = NULL;
41068 					rt->indirection = NIL;
41069 					rt->val = (Node *)cr;
41070 					rt->location = -1;
41071 
41072 					n->targetList = list_make1(rt);
41073 					n->fromClause = list_make1((yyvsp[0].range));
41074 					(yyval.node) = (Node *)n;
41075 				}
41076 #line 41077 "gram.c" /* yacc.c:1652  */
41077     break;
41078 
41079   case 1633:
41080 #line 11492 "gram.y" /* yacc.c:1652  */
41081     {
41082 					(yyval.node) = makeSetOp(SETOP_UNION, (yyvsp[-1].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[-3].node), (yyvsp[0].node));
41083 				}
41084 #line 41085 "gram.c" /* yacc.c:1652  */
41085     break;
41086 
41087   case 1634:
41088 #line 11496 "gram.y" /* yacc.c:1652  */
41089     {
41090 					(yyval.node) = makeSetOp(SETOP_INTERSECT, (yyvsp[-1].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[-3].node), (yyvsp[0].node));
41091 				}
41092 #line 41093 "gram.c" /* yacc.c:1652  */
41093     break;
41094 
41095   case 1635:
41096 #line 11500 "gram.y" /* yacc.c:1652  */
41097     {
41098 					(yyval.node) = makeSetOp(SETOP_EXCEPT, (yyvsp[-1].setquantifier) == SET_QUANTIFIER_ALL, (yyvsp[-3].node), (yyvsp[0].node));
41099 				}
41100 #line 41101 "gram.c" /* yacc.c:1652  */
41101     break;
41102 
41103   case 1636:
41104 #line 11515 "gram.y" /* yacc.c:1652  */
41105     {
41106 				(yyval.with) = makeNode(WithClause);
41107 				(yyval.with)->ctes = (yyvsp[0].list);
41108 				(yyval.with)->recursive = false;
41109 				(yyval.with)->location = (yylsp[-1]);
41110 			}
41111 #line 41112 "gram.c" /* yacc.c:1652  */
41112     break;
41113 
41114   case 1637:
41115 #line 11522 "gram.y" /* yacc.c:1652  */
41116     {
41117 				(yyval.with) = makeNode(WithClause);
41118 				(yyval.with)->ctes = (yyvsp[0].list);
41119 				(yyval.with)->recursive = false;
41120 				(yyval.with)->location = (yylsp[-1]);
41121 			}
41122 #line 41123 "gram.c" /* yacc.c:1652  */
41123     break;
41124 
41125   case 1638:
41126 #line 11529 "gram.y" /* yacc.c:1652  */
41127     {
41128 				(yyval.with) = makeNode(WithClause);
41129 				(yyval.with)->ctes = (yyvsp[0].list);
41130 				(yyval.with)->recursive = true;
41131 				(yyval.with)->location = (yylsp[-2]);
41132 			}
41133 #line 41134 "gram.c" /* yacc.c:1652  */
41134     break;
41135 
41136   case 1639:
41137 #line 11538 "gram.y" /* yacc.c:1652  */
41138     { (yyval.list) = list_make1((yyvsp[0].node)); }
41139 #line 41140 "gram.c" /* yacc.c:1652  */
41140     break;
41141 
41142   case 1640:
41143 #line 11539 "gram.y" /* yacc.c:1652  */
41144     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
41145 #line 41146 "gram.c" /* yacc.c:1652  */
41146     break;
41147 
41148   case 1641:
41149 #line 11543 "gram.y" /* yacc.c:1652  */
41150     {
41151 				CommonTableExpr *n = makeNode(CommonTableExpr);
41152 				n->ctename = (yyvsp[-8].str);
41153 				n->aliascolnames = (yyvsp[-7].list);
41154 				n->ctematerialized = (yyvsp[-5].ival);
41155 				n->ctequery = (yyvsp[-3].node);
41156 				n->search_clause = castNode(CTESearchClause, (yyvsp[-1].node));
41157 				n->cycle_clause = castNode(CTECycleClause, (yyvsp[0].node));
41158 				n->location = (yylsp[-8]);
41159 				(yyval.node) = (Node *) n;
41160 			}
41161 #line 41162 "gram.c" /* yacc.c:1652  */
41162     break;
41163 
41164   case 1642:
41165 #line 11557 "gram.y" /* yacc.c:1652  */
41166     { (yyval.ival) = CTEMaterializeAlways; }
41167 #line 41168 "gram.c" /* yacc.c:1652  */
41168     break;
41169 
41170   case 1643:
41171 #line 11558 "gram.y" /* yacc.c:1652  */
41172     { (yyval.ival) = CTEMaterializeNever; }
41173 #line 41174 "gram.c" /* yacc.c:1652  */
41174     break;
41175 
41176   case 1644:
41177 #line 11559 "gram.y" /* yacc.c:1652  */
41178     { (yyval.ival) = CTEMaterializeDefault; }
41179 #line 41180 "gram.c" /* yacc.c:1652  */
41180     break;
41181 
41182   case 1645:
41183 #line 11564 "gram.y" /* yacc.c:1652  */
41184     {
41185 				CTESearchClause *n = makeNode(CTESearchClause);
41186 				n->search_col_list = (yyvsp[-2].list);
41187 				n->search_breadth_first = false;
41188 				n->search_seq_column = (yyvsp[0].str);
41189 				n->location = (yylsp[-6]);
41190 				(yyval.node) = (Node *) n;
41191 			}
41192 #line 41193 "gram.c" /* yacc.c:1652  */
41193     break;
41194 
41195   case 1646:
41196 #line 11573 "gram.y" /* yacc.c:1652  */
41197     {
41198 				CTESearchClause *n = makeNode(CTESearchClause);
41199 				n->search_col_list = (yyvsp[-2].list);
41200 				n->search_breadth_first = true;
41201 				n->search_seq_column = (yyvsp[0].str);
41202 				n->location = (yylsp[-6]);
41203 				(yyval.node) = (Node *) n;
41204 			}
41205 #line 41206 "gram.c" /* yacc.c:1652  */
41206     break;
41207 
41208   case 1647:
41209 #line 11582 "gram.y" /* yacc.c:1652  */
41210     {
41211 				(yyval.node) = NULL;
41212 			}
41213 #line 41214 "gram.c" /* yacc.c:1652  */
41214     break;
41215 
41216   case 1648:
41217 #line 11589 "gram.y" /* yacc.c:1652  */
41218     {
41219 				CTECycleClause *n = makeNode(CTECycleClause);
41220 				n->cycle_col_list = (yyvsp[-8].list);
41221 				n->cycle_mark_column = (yyvsp[-6].str);
41222 				n->cycle_mark_value = (yyvsp[-4].node);
41223 				n->cycle_mark_default = (yyvsp[-2].node);
41224 				n->cycle_path_column = (yyvsp[0].str);
41225 				n->location = (yylsp[-9]);
41226 				(yyval.node) = (Node *) n;
41227 			}
41228 #line 41229 "gram.c" /* yacc.c:1652  */
41229     break;
41230 
41231   case 1649:
41232 #line 11600 "gram.y" /* yacc.c:1652  */
41233     {
41234 				CTECycleClause *n = makeNode(CTECycleClause);
41235 				n->cycle_col_list = (yyvsp[-4].list);
41236 				n->cycle_mark_column = (yyvsp[-2].str);
41237 				n->cycle_mark_value = makeBoolAConst(true, -1);
41238 				n->cycle_mark_default = makeBoolAConst(false, -1);
41239 				n->cycle_path_column = (yyvsp[0].str);
41240 				n->location = (yylsp[-5]);
41241 				(yyval.node) = (Node *) n;
41242 			}
41243 #line 41244 "gram.c" /* yacc.c:1652  */
41244     break;
41245 
41246   case 1650:
41247 #line 11611 "gram.y" /* yacc.c:1652  */
41248     {
41249 				(yyval.node) = NULL;
41250 			}
41251 #line 41252 "gram.c" /* yacc.c:1652  */
41252     break;
41253 
41254   case 1651:
41255 #line 11617 "gram.y" /* yacc.c:1652  */
41256     { (yyval.with) = (yyvsp[0].with); }
41257 #line 41258 "gram.c" /* yacc.c:1652  */
41258     break;
41259 
41260   case 1652:
41261 #line 11618 "gram.y" /* yacc.c:1652  */
41262     { (yyval.with) = NULL; }
41263 #line 41264 "gram.c" /* yacc.c:1652  */
41264     break;
41265 
41266   case 1653:
41267 #line 11623 "gram.y" /* yacc.c:1652  */
41268     {
41269 					(yyval.into) = makeNode(IntoClause);
41270 					(yyval.into)->rel = (yyvsp[0].range);
41271 					(yyval.into)->colNames = NIL;
41272 					(yyval.into)->options = NIL;
41273 					(yyval.into)->onCommit = ONCOMMIT_NOOP;
41274 					(yyval.into)->tableSpaceName = NULL;
41275 					(yyval.into)->viewQuery = NULL;
41276 					(yyval.into)->skipData = false;
41277 				}
41278 #line 41279 "gram.c" /* yacc.c:1652  */
41279     break;
41280 
41281   case 1654:
41282 #line 11634 "gram.y" /* yacc.c:1652  */
41283     { (yyval.into) = NULL; }
41284 #line 41285 "gram.c" /* yacc.c:1652  */
41285     break;
41286 
41287   case 1655:
41288 #line 11643 "gram.y" /* yacc.c:1652  */
41289     {
41290 					(yyval.range) = (yyvsp[0].range);
41291 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41292 				}
41293 #line 41294 "gram.c" /* yacc.c:1652  */
41294     break;
41295 
41296   case 1656:
41297 #line 11648 "gram.y" /* yacc.c:1652  */
41298     {
41299 					(yyval.range) = (yyvsp[0].range);
41300 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41301 				}
41302 #line 41303 "gram.c" /* yacc.c:1652  */
41303     break;
41304 
41305   case 1657:
41306 #line 11653 "gram.y" /* yacc.c:1652  */
41307     {
41308 					(yyval.range) = (yyvsp[0].range);
41309 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41310 				}
41311 #line 41312 "gram.c" /* yacc.c:1652  */
41312     break;
41313 
41314   case 1658:
41315 #line 11658 "gram.y" /* yacc.c:1652  */
41316     {
41317 					(yyval.range) = (yyvsp[0].range);
41318 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41319 				}
41320 #line 41321 "gram.c" /* yacc.c:1652  */
41321     break;
41322 
41323   case 1659:
41324 #line 11663 "gram.y" /* yacc.c:1652  */
41325     {
41326 					ereport(WARNING,
41327 							(errmsg("GLOBAL is deprecated in temporary table creation"),
41328 							 parser_errposition((yylsp[-3]))));
41329 					(yyval.range) = (yyvsp[0].range);
41330 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41331 				}
41332 #line 41333 "gram.c" /* yacc.c:1652  */
41333     break;
41334 
41335   case 1660:
41336 #line 11671 "gram.y" /* yacc.c:1652  */
41337     {
41338 					ereport(WARNING,
41339 							(errmsg("GLOBAL is deprecated in temporary table creation"),
41340 							 parser_errposition((yylsp[-3]))));
41341 					(yyval.range) = (yyvsp[0].range);
41342 					(yyval.range)->relpersistence = RELPERSISTENCE_TEMP;
41343 				}
41344 #line 41345 "gram.c" /* yacc.c:1652  */
41345     break;
41346 
41347   case 1661:
41348 #line 11679 "gram.y" /* yacc.c:1652  */
41349     {
41350 					(yyval.range) = (yyvsp[0].range);
41351 					(yyval.range)->relpersistence = RELPERSISTENCE_UNLOGGED;
41352 				}
41353 #line 41354 "gram.c" /* yacc.c:1652  */
41354     break;
41355 
41356   case 1662:
41357 #line 11684 "gram.y" /* yacc.c:1652  */
41358     {
41359 					(yyval.range) = (yyvsp[0].range);
41360 					(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
41361 				}
41362 #line 41363 "gram.c" /* yacc.c:1652  */
41363     break;
41364 
41365   case 1663:
41366 #line 11689 "gram.y" /* yacc.c:1652  */
41367     {
41368 					(yyval.range) = (yyvsp[0].range);
41369 					(yyval.range)->relpersistence = RELPERSISTENCE_PERMANENT;
41370 				}
41371 #line 41372 "gram.c" /* yacc.c:1652  */
41372     break;
41373 
41374   case 1666:
41375 #line 11700 "gram.y" /* yacc.c:1652  */
41376     { (yyval.setquantifier) = SET_QUANTIFIER_ALL; }
41377 #line 41378 "gram.c" /* yacc.c:1652  */
41378     break;
41379 
41380   case 1667:
41381 #line 11701 "gram.y" /* yacc.c:1652  */
41382     { (yyval.setquantifier) = SET_QUANTIFIER_DISTINCT; }
41383 #line 41384 "gram.c" /* yacc.c:1652  */
41384     break;
41385 
41386   case 1668:
41387 #line 11702 "gram.y" /* yacc.c:1652  */
41388     { (yyval.setquantifier) = SET_QUANTIFIER_DEFAULT; }
41389 #line 41390 "gram.c" /* yacc.c:1652  */
41390     break;
41391 
41392   case 1669:
41393 #line 11709 "gram.y" /* yacc.c:1652  */
41394     { (yyval.list) = list_make1(NIL); }
41395 #line 41396 "gram.c" /* yacc.c:1652  */
41396     break;
41397 
41398   case 1670:
41399 #line 11710 "gram.y" /* yacc.c:1652  */
41400     { (yyval.list) = (yyvsp[-1].list); }
41401 #line 41402 "gram.c" /* yacc.c:1652  */
41402     break;
41403 
41404   case 1673:
41405 #line 11719 "gram.y" /* yacc.c:1652  */
41406     { (yyval.list) = (yyvsp[0].list); }
41407 #line 41408 "gram.c" /* yacc.c:1652  */
41408     break;
41409 
41410   case 1674:
41411 #line 11720 "gram.y" /* yacc.c:1652  */
41412     { (yyval.list) = NIL; }
41413 #line 41414 "gram.c" /* yacc.c:1652  */
41414     break;
41415 
41416   case 1675:
41417 #line 11724 "gram.y" /* yacc.c:1652  */
41418     { (yyval.list) = (yyvsp[0].list); }
41419 #line 41420 "gram.c" /* yacc.c:1652  */
41420     break;
41421 
41422   case 1676:
41423 #line 11725 "gram.y" /* yacc.c:1652  */
41424     { (yyval.list) = NIL; }
41425 #line 41426 "gram.c" /* yacc.c:1652  */
41426     break;
41427 
41428   case 1677:
41429 #line 11729 "gram.y" /* yacc.c:1652  */
41430     { (yyval.list) = (yyvsp[0].list); }
41431 #line 41432 "gram.c" /* yacc.c:1652  */
41432     break;
41433 
41434   case 1678:
41435 #line 11733 "gram.y" /* yacc.c:1652  */
41436     { (yyval.list) = list_make1((yyvsp[0].sortby)); }
41437 #line 41438 "gram.c" /* yacc.c:1652  */
41438     break;
41439 
41440   case 1679:
41441 #line 11734 "gram.y" /* yacc.c:1652  */
41442     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].sortby)); }
41443 #line 41444 "gram.c" /* yacc.c:1652  */
41444     break;
41445 
41446   case 1680:
41447 #line 11738 "gram.y" /* yacc.c:1652  */
41448     {
41449 					(yyval.sortby) = makeNode(SortBy);
41450 					(yyval.sortby)->node = (yyvsp[-3].node);
41451 					(yyval.sortby)->sortby_dir = SORTBY_USING;
41452 					(yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
41453 					(yyval.sortby)->useOp = (yyvsp[-1].list);
41454 					(yyval.sortby)->location = (yylsp[-1]);
41455 				}
41456 #line 41457 "gram.c" /* yacc.c:1652  */
41457     break;
41458 
41459   case 1681:
41460 #line 11747 "gram.y" /* yacc.c:1652  */
41461     {
41462 					(yyval.sortby) = makeNode(SortBy);
41463 					(yyval.sortby)->node = (yyvsp[-2].node);
41464 					(yyval.sortby)->sortby_dir = (yyvsp[-1].ival);
41465 					(yyval.sortby)->sortby_nulls = (yyvsp[0].ival);
41466 					(yyval.sortby)->useOp = NIL;
41467 					(yyval.sortby)->location = -1;		/* no operator */
41468 				}
41469 #line 41470 "gram.c" /* yacc.c:1652  */
41470     break;
41471 
41472   case 1682:
41473 #line 11760 "gram.y" /* yacc.c:1652  */
41474     {
41475 					(yyval.selectlimit) = (yyvsp[-1].selectlimit);
41476 					((yyval.selectlimit))->limitOffset = (yyvsp[0].node);
41477 				}
41478 #line 41479 "gram.c" /* yacc.c:1652  */
41479     break;
41480 
41481   case 1683:
41482 #line 11765 "gram.y" /* yacc.c:1652  */
41483     {
41484 					(yyval.selectlimit) = (yyvsp[0].selectlimit);
41485 					((yyval.selectlimit))->limitOffset = (yyvsp[-1].node);
41486 				}
41487 #line 41488 "gram.c" /* yacc.c:1652  */
41488     break;
41489 
41490   case 1684:
41491 #line 11770 "gram.y" /* yacc.c:1652  */
41492     {
41493 					(yyval.selectlimit) = (yyvsp[0].selectlimit);
41494 				}
41495 #line 41496 "gram.c" /* yacc.c:1652  */
41496     break;
41497 
41498   case 1685:
41499 #line 11774 "gram.y" /* yacc.c:1652  */
41500     {
41501 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
41502 					n->limitOffset = (yyvsp[0].node);
41503 					n->limitCount = NULL;
41504 					n->limitOption = LIMIT_OPTION_COUNT;
41505 					(yyval.selectlimit) = n;
41506 				}
41507 #line 41508 "gram.c" /* yacc.c:1652  */
41508     break;
41509 
41510   case 1686:
41511 #line 11784 "gram.y" /* yacc.c:1652  */
41512     { (yyval.selectlimit) = (yyvsp[0].selectlimit); }
41513 #line 41514 "gram.c" /* yacc.c:1652  */
41514     break;
41515 
41516   case 1687:
41517 #line 11785 "gram.y" /* yacc.c:1652  */
41518     { (yyval.selectlimit) = NULL; }
41519 #line 41520 "gram.c" /* yacc.c:1652  */
41520     break;
41521 
41522   case 1688:
41523 #line 11790 "gram.y" /* yacc.c:1652  */
41524     {
41525 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
41526 					n->limitOffset = NULL;
41527 					n->limitCount = (yyvsp[0].node);
41528 					n->limitOption = LIMIT_OPTION_COUNT;
41529 					(yyval.selectlimit) = n;
41530 				}
41531 #line 41532 "gram.c" /* yacc.c:1652  */
41532     break;
41533 
41534   case 1689:
41535 #line 11798 "gram.y" /* yacc.c:1652  */
41536     {
41537 					/* Disabled because it was too confusing, bjm 2002-02-18 */
41538 					ereport(ERROR,
41539 							(errcode(ERRCODE_SYNTAX_ERROR),
41540 							 errmsg("LIMIT #,# syntax is not supported"),
41541 							 errhint("Use separate LIMIT and OFFSET clauses."),
41542 							 parser_errposition((yylsp[-3]))));
41543 				}
41544 #line 41545 "gram.c" /* yacc.c:1652  */
41545     break;
41546 
41547   case 1690:
41548 #line 11814 "gram.y" /* yacc.c:1652  */
41549     {
41550 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
41551 					n->limitOffset = NULL;
41552 					n->limitCount = (yyvsp[-2].node);
41553 					n->limitOption = LIMIT_OPTION_COUNT;
41554 					(yyval.selectlimit) = n;
41555 				}
41556 #line 41557 "gram.c" /* yacc.c:1652  */
41557     break;
41558 
41559   case 1691:
41560 #line 11822 "gram.y" /* yacc.c:1652  */
41561     {
41562 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
41563 					n->limitOffset = NULL;
41564 					n->limitCount = (yyvsp[-3].node);
41565 					n->limitOption = LIMIT_OPTION_WITH_TIES;
41566 					(yyval.selectlimit) = n;
41567 				}
41568 #line 41569 "gram.c" /* yacc.c:1652  */
41569     break;
41570 
41571   case 1692:
41572 #line 11830 "gram.y" /* yacc.c:1652  */
41573     {
41574 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
41575 					n->limitOffset = NULL;
41576 					n->limitCount = makeIntConst(1, -1);
41577 					n->limitOption = LIMIT_OPTION_COUNT;
41578 					(yyval.selectlimit) = n;
41579 				}
41580 #line 41581 "gram.c" /* yacc.c:1652  */
41581     break;
41582 
41583   case 1693:
41584 #line 11838 "gram.y" /* yacc.c:1652  */
41585     {
41586 					SelectLimit *n = (SelectLimit *) palloc(sizeof(SelectLimit));
41587 					n->limitOffset = NULL;
41588 					n->limitCount = makeIntConst(1, -1);
41589 					n->limitOption = LIMIT_OPTION_WITH_TIES;
41590 					(yyval.selectlimit) = n;
41591 				}
41592 #line 41593 "gram.c" /* yacc.c:1652  */
41593     break;
41594 
41595   case 1694:
41596 #line 11849 "gram.y" /* yacc.c:1652  */
41597     { (yyval.node) = (yyvsp[0].node); }
41598 #line 41599 "gram.c" /* yacc.c:1652  */
41599     break;
41600 
41601   case 1695:
41602 #line 11852 "gram.y" /* yacc.c:1652  */
41603     { (yyval.node) = (yyvsp[-1].node); }
41604 #line 41605 "gram.c" /* yacc.c:1652  */
41605     break;
41606 
41607   case 1696:
41608 #line 11856 "gram.y" /* yacc.c:1652  */
41609     { (yyval.node) = (yyvsp[0].node); }
41610 #line 41611 "gram.c" /* yacc.c:1652  */
41611     break;
41612 
41613   case 1697:
41614 #line 11858 "gram.y" /* yacc.c:1652  */
41615     {
41616 					/* LIMIT ALL is represented as a NULL constant */
41617 					(yyval.node) = makeNullAConst((yylsp[0]));
41618 				}
41619 #line 41620 "gram.c" /* yacc.c:1652  */
41620     break;
41621 
41622   case 1698:
41623 #line 11865 "gram.y" /* yacc.c:1652  */
41624     { (yyval.node) = (yyvsp[0].node); }
41625 #line 41626 "gram.c" /* yacc.c:1652  */
41626     break;
41627 
41628   case 1699:
41629 #line 11885 "gram.y" /* yacc.c:1652  */
41630     { (yyval.node) = (yyvsp[0].node); }
41631 #line 41632 "gram.c" /* yacc.c:1652  */
41632     break;
41633 
41634   case 1700:
41635 #line 11887 "gram.y" /* yacc.c:1652  */
41636     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
41637 #line 41638 "gram.c" /* yacc.c:1652  */
41638     break;
41639 
41640   case 1701:
41641 #line 11889 "gram.y" /* yacc.c:1652  */
41642     { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
41643 #line 41644 "gram.c" /* yacc.c:1652  */
41644     break;
41645 
41646   case 1702:
41647 #line 11893 "gram.y" /* yacc.c:1652  */
41648     { (yyval.node) = makeIntConst((yyvsp[0].ival),(yylsp[0])); }
41649 #line 41650 "gram.c" /* yacc.c:1652  */
41650     break;
41651 
41652   case 1703:
41653 #line 11894 "gram.y" /* yacc.c:1652  */
41654     { (yyval.node) = makeFloatConst((yyvsp[0].str),(yylsp[0])); }
41655 #line 41656 "gram.c" /* yacc.c:1652  */
41656     break;
41657 
41658   case 1704:
41659 #line 11898 "gram.y" /* yacc.c:1652  */
41660     { (yyval.ival) = 0; }
41661 #line 41662 "gram.c" /* yacc.c:1652  */
41662     break;
41663 
41664   case 1705:
41665 #line 11899 "gram.y" /* yacc.c:1652  */
41666     { (yyval.ival) = 0; }
41667 #line 41668 "gram.c" /* yacc.c:1652  */
41668     break;
41669 
41670   case 1706:
41671 #line 11902 "gram.y" /* yacc.c:1652  */
41672     { (yyval.ival) = 0; }
41673 #line 41674 "gram.c" /* yacc.c:1652  */
41674     break;
41675 
41676   case 1707:
41677 #line 11903 "gram.y" /* yacc.c:1652  */
41678     { (yyval.ival) = 0; }
41679 #line 41680 "gram.c" /* yacc.c:1652  */
41680     break;
41681 
41682   case 1708:
41683 #line 11929 "gram.y" /* yacc.c:1652  */
41684     {
41685 					GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause));
41686 					n->distinct = (yyvsp[-1].setquantifier) == SET_QUANTIFIER_DISTINCT;
41687 					n->list = (yyvsp[0].list);
41688 					(yyval.groupclause) = n;
41689 				}
41690 #line 41691 "gram.c" /* yacc.c:1652  */
41691     break;
41692 
41693   case 1709:
41694 #line 11936 "gram.y" /* yacc.c:1652  */
41695     {
41696 					GroupClause *n = (GroupClause *) palloc(sizeof(GroupClause));
41697 					n->distinct = false;
41698 					n->list = NIL;
41699 					(yyval.groupclause) = n;
41700 				}
41701 #line 41702 "gram.c" /* yacc.c:1652  */
41702     break;
41703 
41704   case 1710:
41705 #line 11945 "gram.y" /* yacc.c:1652  */
41706     { (yyval.list) = list_make1((yyvsp[0].node)); }
41707 #line 41708 "gram.c" /* yacc.c:1652  */
41708     break;
41709 
41710   case 1711:
41711 #line 11946 "gram.y" /* yacc.c:1652  */
41712     { (yyval.list) = lappend((yyvsp[-2].list),(yyvsp[0].node)); }
41713 #line 41714 "gram.c" /* yacc.c:1652  */
41714     break;
41715 
41716   case 1712:
41717 #line 11950 "gram.y" /* yacc.c:1652  */
41718     { (yyval.node) = (yyvsp[0].node); }
41719 #line 41720 "gram.c" /* yacc.c:1652  */
41720     break;
41721 
41722   case 1713:
41723 #line 11951 "gram.y" /* yacc.c:1652  */
41724     { (yyval.node) = (yyvsp[0].node); }
41725 #line 41726 "gram.c" /* yacc.c:1652  */
41726     break;
41727 
41728   case 1714:
41729 #line 11952 "gram.y" /* yacc.c:1652  */
41730     { (yyval.node) = (yyvsp[0].node); }
41731 #line 41732 "gram.c" /* yacc.c:1652  */
41732     break;
41733 
41734   case 1715:
41735 #line 11953 "gram.y" /* yacc.c:1652  */
41736     { (yyval.node) = (yyvsp[0].node); }
41737 #line 41738 "gram.c" /* yacc.c:1652  */
41738     break;
41739 
41740   case 1716:
41741 #line 11954 "gram.y" /* yacc.c:1652  */
41742     { (yyval.node) = (yyvsp[0].node); }
41743 #line 41744 "gram.c" /* yacc.c:1652  */
41744     break;
41745 
41746   case 1717:
41747 #line 11959 "gram.y" /* yacc.c:1652  */
41748     {
41749 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_EMPTY, NIL, (yylsp[-1]));
41750 				}
41751 #line 41752 "gram.c" /* yacc.c:1652  */
41752     break;
41753 
41754   case 1718:
41755 #line 11972 "gram.y" /* yacc.c:1652  */
41756     {
41757 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_ROLLUP, (yyvsp[-1].list), (yylsp[-3]));
41758 				}
41759 #line 41760 "gram.c" /* yacc.c:1652  */
41760     break;
41761 
41762   case 1719:
41763 #line 11979 "gram.y" /* yacc.c:1652  */
41764     {
41765 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_CUBE, (yyvsp[-1].list), (yylsp[-3]));
41766 				}
41767 #line 41768 "gram.c" /* yacc.c:1652  */
41768     break;
41769 
41770   case 1720:
41771 #line 11986 "gram.y" /* yacc.c:1652  */
41772     {
41773 					(yyval.node) = (Node *) makeGroupingSet(GROUPING_SET_SETS, (yyvsp[-1].list), (yylsp[-4]));
41774 				}
41775 #line 41776 "gram.c" /* yacc.c:1652  */
41776     break;
41777 
41778   case 1721:
41779 #line 11992 "gram.y" /* yacc.c:1652  */
41780     { (yyval.node) = (yyvsp[0].node); }
41781 #line 41782 "gram.c" /* yacc.c:1652  */
41782     break;
41783 
41784   case 1722:
41785 #line 11993 "gram.y" /* yacc.c:1652  */
41786     { (yyval.node) = NULL; }
41787 #line 41788 "gram.c" /* yacc.c:1652  */
41788     break;
41789 
41790   case 1723:
41791 #line 11997 "gram.y" /* yacc.c:1652  */
41792     { (yyval.list) = (yyvsp[0].list); }
41793 #line 41794 "gram.c" /* yacc.c:1652  */
41794     break;
41795 
41796   case 1724:
41797 #line 11998 "gram.y" /* yacc.c:1652  */
41798     { (yyval.list) = NIL; }
41799 #line 41800 "gram.c" /* yacc.c:1652  */
41800     break;
41801 
41802   case 1725:
41803 #line 12002 "gram.y" /* yacc.c:1652  */
41804     { (yyval.list) = (yyvsp[0].list); }
41805 #line 41806 "gram.c" /* yacc.c:1652  */
41806     break;
41807 
41808   case 1726:
41809 #line 12003 "gram.y" /* yacc.c:1652  */
41810     { (yyval.list) = NIL; }
41811 #line 41812 "gram.c" /* yacc.c:1652  */
41812     break;
41813 
41814   case 1727:
41815 #line 12007 "gram.y" /* yacc.c:1652  */
41816     { (yyval.list) = list_make1((yyvsp[0].node)); }
41817 #line 41818 "gram.c" /* yacc.c:1652  */
41818     break;
41819 
41820   case 1728:
41821 #line 12008 "gram.y" /* yacc.c:1652  */
41822     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
41823 #line 41824 "gram.c" /* yacc.c:1652  */
41824     break;
41825 
41826   case 1729:
41827 #line 12013 "gram.y" /* yacc.c:1652  */
41828     {
41829 					LockingClause *n = makeNode(LockingClause);
41830 					n->lockedRels = (yyvsp[-1].list);
41831 					n->strength = (yyvsp[-2].ival);
41832 					n->waitPolicy = (yyvsp[0].ival);
41833 					(yyval.node) = (Node *) n;
41834 				}
41835 #line 41836 "gram.c" /* yacc.c:1652  */
41836     break;
41837 
41838   case 1730:
41839 #line 12023 "gram.y" /* yacc.c:1652  */
41840     { (yyval.ival) = LCS_FORUPDATE; }
41841 #line 41842 "gram.c" /* yacc.c:1652  */
41842     break;
41843 
41844   case 1731:
41845 #line 12024 "gram.y" /* yacc.c:1652  */
41846     { (yyval.ival) = LCS_FORNOKEYUPDATE; }
41847 #line 41848 "gram.c" /* yacc.c:1652  */
41848     break;
41849 
41850   case 1732:
41851 #line 12025 "gram.y" /* yacc.c:1652  */
41852     { (yyval.ival) = LCS_FORSHARE; }
41853 #line 41854 "gram.c" /* yacc.c:1652  */
41854     break;
41855 
41856   case 1733:
41857 #line 12026 "gram.y" /* yacc.c:1652  */
41858     { (yyval.ival) = LCS_FORKEYSHARE; }
41859 #line 41860 "gram.c" /* yacc.c:1652  */
41860     break;
41861 
41862   case 1734:
41863 #line 12030 "gram.y" /* yacc.c:1652  */
41864     { (yyval.list) = (yyvsp[0].list); }
41865 #line 41866 "gram.c" /* yacc.c:1652  */
41866     break;
41867 
41868   case 1735:
41869 #line 12031 "gram.y" /* yacc.c:1652  */
41870     { (yyval.list) = NIL; }
41871 #line 41872 "gram.c" /* yacc.c:1652  */
41872     break;
41873 
41874   case 1736:
41875 #line 12042 "gram.y" /* yacc.c:1652  */
41876     {
41877 					SelectStmt *n = makeNode(SelectStmt);
41878 					n->valuesLists = list_make1((yyvsp[-1].list));
41879 					(yyval.node) = (Node *) n;
41880 				}
41881 #line 41882 "gram.c" /* yacc.c:1652  */
41882     break;
41883 
41884   case 1737:
41885 #line 12048 "gram.y" /* yacc.c:1652  */
41886     {
41887 					SelectStmt *n = (SelectStmt *) (yyvsp[-4].node);
41888 					n->valuesLists = lappend(n->valuesLists, (yyvsp[-1].list));
41889 					(yyval.node) = (Node *) n;
41890 				}
41891 #line 41892 "gram.c" /* yacc.c:1652  */
41892     break;
41893 
41894   case 1738:
41895 #line 12065 "gram.y" /* yacc.c:1652  */
41896     { (yyval.list) = (yyvsp[0].list); }
41897 #line 41898 "gram.c" /* yacc.c:1652  */
41898     break;
41899 
41900   case 1739:
41901 #line 12066 "gram.y" /* yacc.c:1652  */
41902     { (yyval.list) = NIL; }
41903 #line 41904 "gram.c" /* yacc.c:1652  */
41904     break;
41905 
41906   case 1740:
41907 #line 12070 "gram.y" /* yacc.c:1652  */
41908     { (yyval.list) = list_make1((yyvsp[0].node)); }
41909 #line 41910 "gram.c" /* yacc.c:1652  */
41910     break;
41911 
41912   case 1741:
41913 #line 12071 "gram.y" /* yacc.c:1652  */
41914     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
41915 #line 41916 "gram.c" /* yacc.c:1652  */
41916     break;
41917 
41918   case 1742:
41919 #line 12078 "gram.y" /* yacc.c:1652  */
41920     {
41921 					(yyvsp[-1].range)->alias = (yyvsp[0].alias);
41922 					(yyval.node) = (Node *) (yyvsp[-1].range);
41923 				}
41924 #line 41925 "gram.c" /* yacc.c:1652  */
41925     break;
41926 
41927   case 1743:
41928 #line 12083 "gram.y" /* yacc.c:1652  */
41929     {
41930 					RangeTableSample *n = (RangeTableSample *) (yyvsp[0].node);
41931 					(yyvsp[-2].range)->alias = (yyvsp[-1].alias);
41932 					/* relation_expr goes inside the RangeTableSample node */
41933 					n->relation = (Node *) (yyvsp[-2].range);
41934 					(yyval.node) = (Node *) n;
41935 				}
41936 #line 41937 "gram.c" /* yacc.c:1652  */
41937     break;
41938 
41939   case 1744:
41940 #line 12091 "gram.y" /* yacc.c:1652  */
41941     {
41942 					RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
41943 					n->alias = linitial((yyvsp[0].list));
41944 					n->coldeflist = lsecond((yyvsp[0].list));
41945 					(yyval.node) = (Node *) n;
41946 				}
41947 #line 41948 "gram.c" /* yacc.c:1652  */
41948     break;
41949 
41950   case 1745:
41951 #line 12098 "gram.y" /* yacc.c:1652  */
41952     {
41953 					RangeFunction *n = (RangeFunction *) (yyvsp[-1].node);
41954 					n->lateral = true;
41955 					n->alias = linitial((yyvsp[0].list));
41956 					n->coldeflist = lsecond((yyvsp[0].list));
41957 					(yyval.node) = (Node *) n;
41958 				}
41959 #line 41960 "gram.c" /* yacc.c:1652  */
41960     break;
41961 
41962   case 1746:
41963 #line 12106 "gram.y" /* yacc.c:1652  */
41964     {
41965 					RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
41966 					n->alias = (yyvsp[0].alias);
41967 					(yyval.node) = (Node *) n;
41968 				}
41969 #line 41970 "gram.c" /* yacc.c:1652  */
41970     break;
41971 
41972   case 1747:
41973 #line 12112 "gram.y" /* yacc.c:1652  */
41974     {
41975 					RangeTableFunc *n = (RangeTableFunc *) (yyvsp[-1].node);
41976 					n->lateral = true;
41977 					n->alias = (yyvsp[0].alias);
41978 					(yyval.node) = (Node *) n;
41979 				}
41980 #line 41981 "gram.c" /* yacc.c:1652  */
41981     break;
41982 
41983   case 1748:
41984 #line 12119 "gram.y" /* yacc.c:1652  */
41985     {
41986 					RangeSubselect *n = makeNode(RangeSubselect);
41987 					n->lateral = false;
41988 					n->subquery = (yyvsp[-1].node);
41989 					n->alias = (yyvsp[0].alias);
41990 					/*
41991 					 * The SQL spec does not permit a subselect
41992 					 * (<derived_table>) without an alias clause,
41993 					 * so we don't either.  This avoids the problem
41994 					 * of needing to invent a unique refname for it.
41995 					 * That could be surmounted if there's sufficient
41996 					 * popular demand, but for now let's just implement
41997 					 * the spec and see if anyone complains.
41998 					 * However, it does seem like a good idea to emit
41999 					 * an error message that's better than "syntax error".
42000 					 */
42001 					if ((yyvsp[0].alias) == NULL)
42002 					{
42003 						if (IsA((yyvsp[-1].node), SelectStmt) &&
42004 							((SelectStmt *) (yyvsp[-1].node))->valuesLists)
42005 							ereport(ERROR,
42006 									(errcode(ERRCODE_SYNTAX_ERROR),
42007 									 errmsg("VALUES in FROM must have an alias"),
42008 									 errhint("For example, FROM (VALUES ...) [AS] foo."),
42009 									 parser_errposition((yylsp[-1]))));
42010 						else
42011 							ereport(ERROR,
42012 									(errcode(ERRCODE_SYNTAX_ERROR),
42013 									 errmsg("subquery in FROM must have an alias"),
42014 									 errhint("For example, FROM (SELECT ...) [AS] foo."),
42015 									 parser_errposition((yylsp[-1]))));
42016 					}
42017 					(yyval.node) = (Node *) n;
42018 				}
42019 #line 42020 "gram.c" /* yacc.c:1652  */
42020     break;
42021 
42022   case 1749:
42023 #line 12154 "gram.y" /* yacc.c:1652  */
42024     {
42025 					RangeSubselect *n = makeNode(RangeSubselect);
42026 					n->lateral = true;
42027 					n->subquery = (yyvsp[-1].node);
42028 					n->alias = (yyvsp[0].alias);
42029 					/* same comment as above */
42030 					if ((yyvsp[0].alias) == NULL)
42031 					{
42032 						if (IsA((yyvsp[-1].node), SelectStmt) &&
42033 							((SelectStmt *) (yyvsp[-1].node))->valuesLists)
42034 							ereport(ERROR,
42035 									(errcode(ERRCODE_SYNTAX_ERROR),
42036 									 errmsg("VALUES in FROM must have an alias"),
42037 									 errhint("For example, FROM (VALUES ...) [AS] foo."),
42038 									 parser_errposition((yylsp[-1]))));
42039 						else
42040 							ereport(ERROR,
42041 									(errcode(ERRCODE_SYNTAX_ERROR),
42042 									 errmsg("subquery in FROM must have an alias"),
42043 									 errhint("For example, FROM (SELECT ...) [AS] foo."),
42044 									 parser_errposition((yylsp[-1]))));
42045 					}
42046 					(yyval.node) = (Node *) n;
42047 				}
42048 #line 42049 "gram.c" /* yacc.c:1652  */
42049     break;
42050 
42051   case 1750:
42052 #line 12179 "gram.y" /* yacc.c:1652  */
42053     {
42054 					(yyval.node) = (Node *) (yyvsp[0].jexpr);
42055 				}
42056 #line 42057 "gram.c" /* yacc.c:1652  */
42057     break;
42058 
42059   case 1751:
42060 #line 12183 "gram.y" /* yacc.c:1652  */
42061     {
42062 					(yyvsp[-2].jexpr)->alias = (yyvsp[0].alias);
42063 					(yyval.node) = (Node *) (yyvsp[-2].jexpr);
42064 				}
42065 #line 42066 "gram.c" /* yacc.c:1652  */
42066     break;
42067 
42068   case 1752:
42069 #line 12209 "gram.y" /* yacc.c:1652  */
42070     {
42071 					(yyval.jexpr) = (yyvsp[-1].jexpr);
42072 				}
42073 #line 42074 "gram.c" /* yacc.c:1652  */
42074     break;
42075 
42076   case 1753:
42077 #line 12213 "gram.y" /* yacc.c:1652  */
42078     {
42079 					/* CROSS JOIN is same as unqualified inner join */
42080 					JoinExpr *n = makeNode(JoinExpr);
42081 					n->jointype = JOIN_INNER;
42082 					n->isNatural = false;
42083 					n->larg = (yyvsp[-3].node);
42084 					n->rarg = (yyvsp[0].node);
42085 					n->usingClause = NIL;
42086 					n->join_using_alias = NULL;
42087 					n->quals = NULL;
42088 					(yyval.jexpr) = n;
42089 				}
42090 #line 42091 "gram.c" /* yacc.c:1652  */
42091     break;
42092 
42093   case 1754:
42094 #line 12226 "gram.y" /* yacc.c:1652  */
42095     {
42096 					JoinExpr *n = makeNode(JoinExpr);
42097 					n->jointype = (yyvsp[-3].jtype);
42098 					n->isNatural = false;
42099 					n->larg = (yyvsp[-4].node);
42100 					n->rarg = (yyvsp[-1].node);
42101 					if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
42102 					{
42103 						 /* USING clause */
42104 						n->usingClause = linitial_node(List, castNode(List, (yyvsp[0].node)));
42105 						n->join_using_alias = lsecond_node(Alias, castNode(List, (yyvsp[0].node)));
42106 					}
42107 					else
42108 					{
42109 						/* ON clause */
42110 						n->quals = (yyvsp[0].node);
42111 					}
42112 					(yyval.jexpr) = n;
42113 				}
42114 #line 42115 "gram.c" /* yacc.c:1652  */
42115     break;
42116 
42117   case 1755:
42118 #line 12246 "gram.y" /* yacc.c:1652  */
42119     {
42120 					/* letting join_type reduce to empty doesn't work */
42121 					JoinExpr *n = makeNode(JoinExpr);
42122 					n->jointype = JOIN_INNER;
42123 					n->isNatural = false;
42124 					n->larg = (yyvsp[-3].node);
42125 					n->rarg = (yyvsp[-1].node);
42126 					if ((yyvsp[0].node) != NULL && IsA((yyvsp[0].node), List))
42127 					{
42128 						/* USING clause */
42129 						n->usingClause = linitial_node(List, castNode(List, (yyvsp[0].node)));
42130 						n->join_using_alias = lsecond_node(Alias, castNode(List, (yyvsp[0].node)));
42131 					}
42132 					else
42133 					{
42134 						/* ON clause */
42135 						n->quals = (yyvsp[0].node);
42136 					}
42137 					(yyval.jexpr) = n;
42138 				}
42139 #line 42140 "gram.c" /* yacc.c:1652  */
42140     break;
42141 
42142   case 1756:
42143 #line 12267 "gram.y" /* yacc.c:1652  */
42144     {
42145 					JoinExpr *n = makeNode(JoinExpr);
42146 					n->jointype = (yyvsp[-2].jtype);
42147 					n->isNatural = true;
42148 					n->larg = (yyvsp[-4].node);
42149 					n->rarg = (yyvsp[0].node);
42150 					n->usingClause = NIL; /* figure out which columns later... */
42151 					n->join_using_alias = NULL;
42152 					n->quals = NULL; /* fill later */
42153 					(yyval.jexpr) = n;
42154 				}
42155 #line 42156 "gram.c" /* yacc.c:1652  */
42156     break;
42157 
42158   case 1757:
42159 #line 12279 "gram.y" /* yacc.c:1652  */
42160     {
42161 					/* letting join_type reduce to empty doesn't work */
42162 					JoinExpr *n = makeNode(JoinExpr);
42163 					n->jointype = JOIN_INNER;
42164 					n->isNatural = true;
42165 					n->larg = (yyvsp[-3].node);
42166 					n->rarg = (yyvsp[0].node);
42167 					n->usingClause = NIL; /* figure out which columns later... */
42168 					n->join_using_alias = NULL;
42169 					n->quals = NULL; /* fill later */
42170 					(yyval.jexpr) = n;
42171 				}
42172 #line 42173 "gram.c" /* yacc.c:1652  */
42173     break;
42174 
42175   case 1758:
42176 #line 12295 "gram.y" /* yacc.c:1652  */
42177     {
42178 					(yyval.alias) = makeNode(Alias);
42179 					(yyval.alias)->aliasname = (yyvsp[-3].str);
42180 					(yyval.alias)->colnames = (yyvsp[-1].list);
42181 				}
42182 #line 42183 "gram.c" /* yacc.c:1652  */
42183     break;
42184 
42185   case 1759:
42186 #line 12301 "gram.y" /* yacc.c:1652  */
42187     {
42188 					(yyval.alias) = makeNode(Alias);
42189 					(yyval.alias)->aliasname = (yyvsp[0].str);
42190 				}
42191 #line 42192 "gram.c" /* yacc.c:1652  */
42192     break;
42193 
42194   case 1760:
42195 #line 12306 "gram.y" /* yacc.c:1652  */
42196     {
42197 					(yyval.alias) = makeNode(Alias);
42198 					(yyval.alias)->aliasname = (yyvsp[-3].str);
42199 					(yyval.alias)->colnames = (yyvsp[-1].list);
42200 				}
42201 #line 42202 "gram.c" /* yacc.c:1652  */
42202     break;
42203 
42204   case 1761:
42205 #line 12312 "gram.y" /* yacc.c:1652  */
42206     {
42207 					(yyval.alias) = makeNode(Alias);
42208 					(yyval.alias)->aliasname = (yyvsp[0].str);
42209 				}
42210 #line 42211 "gram.c" /* yacc.c:1652  */
42211     break;
42212 
42213   case 1762:
42214 #line 12318 "gram.y" /* yacc.c:1652  */
42215     { (yyval.alias) = (yyvsp[0].alias); }
42216 #line 42217 "gram.c" /* yacc.c:1652  */
42217     break;
42218 
42219   case 1763:
42220 #line 12319 "gram.y" /* yacc.c:1652  */
42221     { (yyval.alias) = NULL; }
42222 #line 42223 "gram.c" /* yacc.c:1652  */
42223     break;
42224 
42225   case 1764:
42226 #line 12330 "gram.y" /* yacc.c:1652  */
42227     {
42228 					(yyval.alias) = makeNode(Alias);
42229 					(yyval.alias)->aliasname = (yyvsp[0].str);
42230 					/* the column name list will be inserted later */
42231 				}
42232 #line 42233 "gram.c" /* yacc.c:1652  */
42233     break;
42234 
42235   case 1765:
42236 #line 12335 "gram.y" /* yacc.c:1652  */
42237     { (yyval.alias) = NULL; }
42238 #line 42239 "gram.c" /* yacc.c:1652  */
42239     break;
42240 
42241   case 1766:
42242 #line 12344 "gram.y" /* yacc.c:1652  */
42243     {
42244 					(yyval.list) = list_make2((yyvsp[0].alias), NIL);
42245 				}
42246 #line 42247 "gram.c" /* yacc.c:1652  */
42247     break;
42248 
42249   case 1767:
42250 #line 12348 "gram.y" /* yacc.c:1652  */
42251     {
42252 					(yyval.list) = list_make2(NULL, (yyvsp[-1].list));
42253 				}
42254 #line 42255 "gram.c" /* yacc.c:1652  */
42255     break;
42256 
42257   case 1768:
42258 #line 12352 "gram.y" /* yacc.c:1652  */
42259     {
42260 					Alias *a = makeNode(Alias);
42261 					a->aliasname = (yyvsp[-3].str);
42262 					(yyval.list) = list_make2(a, (yyvsp[-1].list));
42263 				}
42264 #line 42265 "gram.c" /* yacc.c:1652  */
42265     break;
42266 
42267   case 1769:
42268 #line 12358 "gram.y" /* yacc.c:1652  */
42269     {
42270 					Alias *a = makeNode(Alias);
42271 					a->aliasname = (yyvsp[-3].str);
42272 					(yyval.list) = list_make2(a, (yyvsp[-1].list));
42273 				}
42274 #line 42275 "gram.c" /* yacc.c:1652  */
42275     break;
42276 
42277   case 1770:
42278 #line 12364 "gram.y" /* yacc.c:1652  */
42279     {
42280 					(yyval.list) = list_make2(NULL, NIL);
42281 				}
42282 #line 42283 "gram.c" /* yacc.c:1652  */
42283     break;
42284 
42285   case 1771:
42286 #line 12369 "gram.y" /* yacc.c:1652  */
42287     { (yyval.jtype) = JOIN_FULL; }
42288 #line 42289 "gram.c" /* yacc.c:1652  */
42289     break;
42290 
42291   case 1772:
42292 #line 12370 "gram.y" /* yacc.c:1652  */
42293     { (yyval.jtype) = JOIN_LEFT; }
42294 #line 42295 "gram.c" /* yacc.c:1652  */
42295     break;
42296 
42297   case 1773:
42298 #line 12371 "gram.y" /* yacc.c:1652  */
42299     { (yyval.jtype) = JOIN_RIGHT; }
42300 #line 42301 "gram.c" /* yacc.c:1652  */
42301     break;
42302 
42303   case 1774:
42304 #line 12372 "gram.y" /* yacc.c:1652  */
42305     { (yyval.jtype) = JOIN_INNER; }
42306 #line 42307 "gram.c" /* yacc.c:1652  */
42307     break;
42308 
42309   case 1777:
42310 #line 12393 "gram.y" /* yacc.c:1652  */
42311     {
42312 					(yyval.node) = (Node *) list_make2((yyvsp[-2].list), (yyvsp[0].alias));
42313 				}
42314 #line 42315 "gram.c" /* yacc.c:1652  */
42315     break;
42316 
42317   case 1778:
42318 #line 12397 "gram.y" /* yacc.c:1652  */
42319     {
42320 					(yyval.node) = (yyvsp[0].node);
42321 				}
42322 #line 42323 "gram.c" /* yacc.c:1652  */
42323     break;
42324 
42325   case 1779:
42326 #line 12405 "gram.y" /* yacc.c:1652  */
42327     {
42328 					/* inheritance query, implicitly */
42329 					(yyval.range) = (yyvsp[0].range);
42330 					(yyval.range)->inh = true;
42331 					(yyval.range)->alias = NULL;
42332 				}
42333 #line 42334 "gram.c" /* yacc.c:1652  */
42334     break;
42335 
42336   case 1780:
42337 #line 12412 "gram.y" /* yacc.c:1652  */
42338     {
42339 					/* inheritance query, explicitly */
42340 					(yyval.range) = (yyvsp[-1].range);
42341 					(yyval.range)->inh = true;
42342 					(yyval.range)->alias = NULL;
42343 				}
42344 #line 42345 "gram.c" /* yacc.c:1652  */
42345     break;
42346 
42347   case 1781:
42348 #line 12419 "gram.y" /* yacc.c:1652  */
42349     {
42350 					/* no inheritance */
42351 					(yyval.range) = (yyvsp[0].range);
42352 					(yyval.range)->inh = false;
42353 					(yyval.range)->alias = NULL;
42354 				}
42355 #line 42356 "gram.c" /* yacc.c:1652  */
42356     break;
42357 
42358   case 1782:
42359 #line 12426 "gram.y" /* yacc.c:1652  */
42360     {
42361 					/* no inheritance, SQL99-style syntax */
42362 					(yyval.range) = (yyvsp[-1].range);
42363 					(yyval.range)->inh = false;
42364 					(yyval.range)->alias = NULL;
42365 				}
42366 #line 42367 "gram.c" /* yacc.c:1652  */
42367     break;
42368 
42369   case 1783:
42370 #line 12436 "gram.y" /* yacc.c:1652  */
42371     { (yyval.list) = list_make1((yyvsp[0].range)); }
42372 #line 42373 "gram.c" /* yacc.c:1652  */
42373     break;
42374 
42375   case 1784:
42376 #line 12437 "gram.y" /* yacc.c:1652  */
42377     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
42378 #line 42379 "gram.c" /* yacc.c:1652  */
42379     break;
42380 
42381   case 1785:
42382 #line 12451 "gram.y" /* yacc.c:1652  */
42383     {
42384 					(yyval.range) = (yyvsp[0].range);
42385 				}
42386 #line 42387 "gram.c" /* yacc.c:1652  */
42387     break;
42388 
42389   case 1786:
42390 #line 12455 "gram.y" /* yacc.c:1652  */
42391     {
42392 					Alias *alias = makeNode(Alias);
42393 					alias->aliasname = (yyvsp[0].str);
42394 					(yyvsp[-1].range)->alias = alias;
42395 					(yyval.range) = (yyvsp[-1].range);
42396 				}
42397 #line 42398 "gram.c" /* yacc.c:1652  */
42398     break;
42399 
42400   case 1787:
42401 #line 12462 "gram.y" /* yacc.c:1652  */
42402     {
42403 					Alias *alias = makeNode(Alias);
42404 					alias->aliasname = (yyvsp[0].str);
42405 					(yyvsp[-2].range)->alias = alias;
42406 					(yyval.range) = (yyvsp[-2].range);
42407 				}
42408 #line 42409 "gram.c" /* yacc.c:1652  */
42409     break;
42410 
42411   case 1788:
42412 #line 12475 "gram.y" /* yacc.c:1652  */
42413     {
42414 					RangeTableSample *n = makeNode(RangeTableSample);
42415 					/* n->relation will be filled in later */
42416 					n->method = (yyvsp[-4].list);
42417 					n->args = (yyvsp[-2].list);
42418 					n->repeatable = (yyvsp[0].node);
42419 					n->location = (yylsp[-4]);
42420 					(yyval.node) = (Node *) n;
42421 				}
42422 #line 42423 "gram.c" /* yacc.c:1652  */
42423     break;
42424 
42425   case 1789:
42426 #line 12487 "gram.y" /* yacc.c:1652  */
42427     { (yyval.node) = (Node *) (yyvsp[-1].node); }
42428 #line 42429 "gram.c" /* yacc.c:1652  */
42429     break;
42430 
42431   case 1790:
42432 #line 12488 "gram.y" /* yacc.c:1652  */
42433     { (yyval.node) = NULL; }
42434 #line 42435 "gram.c" /* yacc.c:1652  */
42435     break;
42436 
42437   case 1791:
42438 #line 12504 "gram.y" /* yacc.c:1652  */
42439     {
42440 					RangeFunction *n = makeNode(RangeFunction);
42441 					n->lateral = false;
42442 					n->ordinality = (yyvsp[0].boolean);
42443 					n->is_rowsfrom = false;
42444 					n->functions = list_make1(list_make2((yyvsp[-1].node), NIL));
42445 					/* alias and coldeflist are set by table_ref production */
42446 					(yyval.node) = (Node *) n;
42447 				}
42448 #line 42449 "gram.c" /* yacc.c:1652  */
42449     break;
42450 
42451   case 1792:
42452 #line 12514 "gram.y" /* yacc.c:1652  */
42453     {
42454 					RangeFunction *n = makeNode(RangeFunction);
42455 					n->lateral = false;
42456 					n->ordinality = (yyvsp[0].boolean);
42457 					n->is_rowsfrom = true;
42458 					n->functions = (yyvsp[-2].list);
42459 					/* alias and coldeflist are set by table_ref production */
42460 					(yyval.node) = (Node *) n;
42461 				}
42462 #line 42463 "gram.c" /* yacc.c:1652  */
42463     break;
42464 
42465   case 1793:
42466 #line 12526 "gram.y" /* yacc.c:1652  */
42467     { (yyval.list) = list_make2((yyvsp[-1].node), (yyvsp[0].list)); }
42468 #line 42469 "gram.c" /* yacc.c:1652  */
42469     break;
42470 
42471   case 1794:
42472 #line 12530 "gram.y" /* yacc.c:1652  */
42473     { (yyval.list) = list_make1((yyvsp[0].list)); }
42474 #line 42475 "gram.c" /* yacc.c:1652  */
42475     break;
42476 
42477   case 1795:
42478 #line 12531 "gram.y" /* yacc.c:1652  */
42479     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].list)); }
42480 #line 42481 "gram.c" /* yacc.c:1652  */
42481     break;
42482 
42483   case 1796:
42484 #line 12534 "gram.y" /* yacc.c:1652  */
42485     { (yyval.list) = (yyvsp[-1].list); }
42486 #line 42487 "gram.c" /* yacc.c:1652  */
42487     break;
42488 
42489   case 1797:
42490 #line 12535 "gram.y" /* yacc.c:1652  */
42491     { (yyval.list) = NIL; }
42492 #line 42493 "gram.c" /* yacc.c:1652  */
42493     break;
42494 
42495   case 1798:
42496 #line 12538 "gram.y" /* yacc.c:1652  */
42497     { (yyval.boolean) = true; }
42498 #line 42499 "gram.c" /* yacc.c:1652  */
42499     break;
42500 
42501   case 1799:
42502 #line 12539 "gram.y" /* yacc.c:1652  */
42503     { (yyval.boolean) = false; }
42504 #line 42505 "gram.c" /* yacc.c:1652  */
42505     break;
42506 
42507   case 1800:
42508 #line 12544 "gram.y" /* yacc.c:1652  */
42509     { (yyval.node) = (yyvsp[0].node); }
42510 #line 42511 "gram.c" /* yacc.c:1652  */
42511     break;
42512 
42513   case 1801:
42514 #line 12545 "gram.y" /* yacc.c:1652  */
42515     { (yyval.node) = NULL; }
42516 #line 42517 "gram.c" /* yacc.c:1652  */
42517     break;
42518 
42519   case 1802:
42520 #line 12550 "gram.y" /* yacc.c:1652  */
42521     { (yyval.node) = (yyvsp[0].node); }
42522 #line 42523 "gram.c" /* yacc.c:1652  */
42523     break;
42524 
42525   case 1803:
42526 #line 12552 "gram.y" /* yacc.c:1652  */
42527     {
42528 					CurrentOfExpr *n = makeNode(CurrentOfExpr);
42529 					/* cvarno is filled in by parse analysis */
42530 					n->cursor_name = (yyvsp[0].str);
42531 					n->cursor_param = 0;
42532 					(yyval.node) = (Node *) n;
42533 				}
42534 #line 42535 "gram.c" /* yacc.c:1652  */
42535     break;
42536 
42537   case 1804:
42538 #line 12559 "gram.y" /* yacc.c:1652  */
42539     { (yyval.node) = NULL; }
42540 #line 42541 "gram.c" /* yacc.c:1652  */
42541     break;
42542 
42543   case 1805:
42544 #line 12564 "gram.y" /* yacc.c:1652  */
42545     { (yyval.list) = (yyvsp[0].list); }
42546 #line 42547 "gram.c" /* yacc.c:1652  */
42547     break;
42548 
42549   case 1806:
42550 #line 12565 "gram.y" /* yacc.c:1652  */
42551     { (yyval.list) = NIL; }
42552 #line 42553 "gram.c" /* yacc.c:1652  */
42553     break;
42554 
42555   case 1807:
42556 #line 12570 "gram.y" /* yacc.c:1652  */
42557     {
42558 					(yyval.list) = list_make1((yyvsp[0].node));
42559 				}
42560 #line 42561 "gram.c" /* yacc.c:1652  */
42561     break;
42562 
42563   case 1808:
42564 #line 12574 "gram.y" /* yacc.c:1652  */
42565     {
42566 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
42567 				}
42568 #line 42569 "gram.c" /* yacc.c:1652  */
42569     break;
42570 
42571   case 1809:
42572 #line 12580 "gram.y" /* yacc.c:1652  */
42573     {
42574 					ColumnDef *n = makeNode(ColumnDef);
42575 					n->colname = (yyvsp[-2].str);
42576 					n->typeName = (yyvsp[-1].typnam);
42577 					n->inhcount = 0;
42578 					n->is_local = true;
42579 					n->is_not_null = false;
42580 					n->is_from_type = false;
42581 					n->storage = 0;
42582 					n->raw_default = NULL;
42583 					n->cooked_default = NULL;
42584 					n->collClause = (CollateClause *) (yyvsp[0].node);
42585 					n->collOid = InvalidOid;
42586 					n->constraints = NIL;
42587 					n->location = (yylsp[-2]);
42588 					(yyval.node) = (Node *)n;
42589 				}
42590 #line 42591 "gram.c" /* yacc.c:1652  */
42591     break;
42592 
42593   case 1810:
42594 #line 12604 "gram.y" /* yacc.c:1652  */
42595     {
42596 					RangeTableFunc *n = makeNode(RangeTableFunc);
42597 					n->rowexpr = (yyvsp[-4].node);
42598 					n->docexpr = (yyvsp[-3].node);
42599 					n->columns = (yyvsp[-1].list);
42600 					n->namespaces = NIL;
42601 					n->location = (yylsp[-6]);
42602 					(yyval.node) = (Node *)n;
42603 				}
42604 #line 42605 "gram.c" /* yacc.c:1652  */
42605     break;
42606 
42607   case 1811:
42608 #line 12615 "gram.y" /* yacc.c:1652  */
42609     {
42610 					RangeTableFunc *n = makeNode(RangeTableFunc);
42611 					n->rowexpr = (yyvsp[-4].node);
42612 					n->docexpr = (yyvsp[-3].node);
42613 					n->columns = (yyvsp[-1].list);
42614 					n->namespaces = (yyvsp[-7].list);
42615 					n->location = (yylsp[-11]);
42616 					(yyval.node) = (Node *)n;
42617 				}
42618 #line 42619 "gram.c" /* yacc.c:1652  */
42619     break;
42620 
42621   case 1812:
42622 #line 12626 "gram.y" /* yacc.c:1652  */
42623     { (yyval.list) = list_make1((yyvsp[0].node)); }
42624 #line 42625 "gram.c" /* yacc.c:1652  */
42625     break;
42626 
42627   case 1813:
42628 #line 12627 "gram.y" /* yacc.c:1652  */
42629     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
42630 #line 42631 "gram.c" /* yacc.c:1652  */
42631     break;
42632 
42633   case 1814:
42634 #line 12632 "gram.y" /* yacc.c:1652  */
42635     {
42636 					RangeTableFuncCol	   *fc = makeNode(RangeTableFuncCol);
42637 
42638 					fc->colname = (yyvsp[-1].str);
42639 					fc->for_ordinality = false;
42640 					fc->typeName = (yyvsp[0].typnam);
42641 					fc->is_not_null = false;
42642 					fc->colexpr = NULL;
42643 					fc->coldefexpr = NULL;
42644 					fc->location = (yylsp[-1]);
42645 
42646 					(yyval.node) = (Node *) fc;
42647 				}
42648 #line 42649 "gram.c" /* yacc.c:1652  */
42649     break;
42650 
42651   case 1815:
42652 #line 12646 "gram.y" /* yacc.c:1652  */
42653     {
42654 					RangeTableFuncCol	   *fc = makeNode(RangeTableFuncCol);
42655 					ListCell		   *option;
42656 					bool				nullability_seen = false;
42657 
42658 					fc->colname = (yyvsp[-2].str);
42659 					fc->typeName = (yyvsp[-1].typnam);
42660 					fc->for_ordinality = false;
42661 					fc->is_not_null = false;
42662 					fc->colexpr = NULL;
42663 					fc->coldefexpr = NULL;
42664 					fc->location = (yylsp[-2]);
42665 
42666 					foreach(option, (yyvsp[0].list))
42667 					{
42668 						DefElem   *defel = (DefElem *) lfirst(option);
42669 
42670 						if (strcmp(defel->defname, "default") == 0)
42671 						{
42672 							if (fc->coldefexpr != NULL)
42673 								ereport(ERROR,
42674 										(errcode(ERRCODE_SYNTAX_ERROR),
42675 										 errmsg("only one DEFAULT value is allowed"),
42676 										 parser_errposition(defel->location)));
42677 							fc->coldefexpr = defel->arg;
42678 						}
42679 						else if (strcmp(defel->defname, "path") == 0)
42680 						{
42681 							if (fc->colexpr != NULL)
42682 								ereport(ERROR,
42683 										(errcode(ERRCODE_SYNTAX_ERROR),
42684 										 errmsg("only one PATH value per column is allowed"),
42685 										 parser_errposition(defel->location)));
42686 							fc->colexpr = defel->arg;
42687 						}
42688 						else if (strcmp(defel->defname, "is_not_null") == 0)
42689 						{
42690 							if (nullability_seen)
42691 								ereport(ERROR,
42692 										(errcode(ERRCODE_SYNTAX_ERROR),
42693 										 errmsg("conflicting or redundant NULL / NOT NULL declarations for column \"%s\"", fc->colname),
42694 										 parser_errposition(defel->location)));
42695 							fc->is_not_null = intVal(defel->arg);
42696 							nullability_seen = true;
42697 						}
42698 						else
42699 						{
42700 							ereport(ERROR,
42701 									(errcode(ERRCODE_SYNTAX_ERROR),
42702 									 errmsg("unrecognized column option \"%s\"",
42703 											defel->defname),
42704 									 parser_errposition(defel->location)));
42705 						}
42706 					}
42707 					(yyval.node) = (Node *) fc;
42708 				}
42709 #line 42710 "gram.c" /* yacc.c:1652  */
42710     break;
42711 
42712   case 1816:
42713 #line 12703 "gram.y" /* yacc.c:1652  */
42714     {
42715 					RangeTableFuncCol	   *fc = makeNode(RangeTableFuncCol);
42716 
42717 					fc->colname = (yyvsp[-2].str);
42718 					fc->for_ordinality = true;
42719 					/* other fields are ignored, initialized by makeNode */
42720 					fc->location = (yylsp[-2]);
42721 
42722 					(yyval.node) = (Node *) fc;
42723 				}
42724 #line 42725 "gram.c" /* yacc.c:1652  */
42725     break;
42726 
42727   case 1817:
42728 #line 12717 "gram.y" /* yacc.c:1652  */
42729     { (yyval.list) = list_make1((yyvsp[0].defelt)); }
42730 #line 42731 "gram.c" /* yacc.c:1652  */
42731     break;
42732 
42733   case 1818:
42734 #line 12719 "gram.y" /* yacc.c:1652  */
42735     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].defelt)); }
42736 #line 42737 "gram.c" /* yacc.c:1652  */
42737     break;
42738 
42739   case 1819:
42740 #line 12724 "gram.y" /* yacc.c:1652  */
42741     { (yyval.defelt) = makeDefElem((yyvsp[-1].str), (yyvsp[0].node), (yylsp[-1])); }
42742 #line 42743 "gram.c" /* yacc.c:1652  */
42743     break;
42744 
42745   case 1820:
42746 #line 12726 "gram.y" /* yacc.c:1652  */
42747     { (yyval.defelt) = makeDefElem("default", (yyvsp[0].node), (yylsp[-1])); }
42748 #line 42749 "gram.c" /* yacc.c:1652  */
42749     break;
42750 
42751   case 1821:
42752 #line 12728 "gram.y" /* yacc.c:1652  */
42753     { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(true), (yylsp[-1])); }
42754 #line 42755 "gram.c" /* yacc.c:1652  */
42755     break;
42756 
42757   case 1822:
42758 #line 12730 "gram.y" /* yacc.c:1652  */
42759     { (yyval.defelt) = makeDefElem("is_not_null", (Node *) makeInteger(false), (yylsp[0])); }
42760 #line 42761 "gram.c" /* yacc.c:1652  */
42761     break;
42762 
42763   case 1823:
42764 #line 12735 "gram.y" /* yacc.c:1652  */
42765     { (yyval.list) = list_make1((yyvsp[0].target)); }
42766 #line 42767 "gram.c" /* yacc.c:1652  */
42767     break;
42768 
42769   case 1824:
42770 #line 12737 "gram.y" /* yacc.c:1652  */
42771     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
42772 #line 42773 "gram.c" /* yacc.c:1652  */
42773     break;
42774 
42775   case 1825:
42776 #line 12742 "gram.y" /* yacc.c:1652  */
42777     {
42778 					(yyval.target) = makeNode(ResTarget);
42779 					(yyval.target)->name = (yyvsp[0].str);
42780 					(yyval.target)->indirection = NIL;
42781 					(yyval.target)->val = (yyvsp[-2].node);
42782 					(yyval.target)->location = (yylsp[-2]);
42783 				}
42784 #line 42785 "gram.c" /* yacc.c:1652  */
42785     break;
42786 
42787   case 1826:
42788 #line 12750 "gram.y" /* yacc.c:1652  */
42789     {
42790 					(yyval.target) = makeNode(ResTarget);
42791 					(yyval.target)->name = NULL;
42792 					(yyval.target)->indirection = NIL;
42793 					(yyval.target)->val = (yyvsp[0].node);
42794 					(yyval.target)->location = (yylsp[-1]);
42795 				}
42796 #line 42797 "gram.c" /* yacc.c:1652  */
42797     break;
42798 
42799   case 1827:
42800 #line 12770 "gram.y" /* yacc.c:1652  */
42801     {
42802 					(yyval.typnam) = (yyvsp[-1].typnam);
42803 					(yyval.typnam)->arrayBounds = (yyvsp[0].list);
42804 				}
42805 #line 42806 "gram.c" /* yacc.c:1652  */
42806     break;
42807 
42808   case 1828:
42809 #line 12775 "gram.y" /* yacc.c:1652  */
42810     {
42811 					(yyval.typnam) = (yyvsp[-1].typnam);
42812 					(yyval.typnam)->arrayBounds = (yyvsp[0].list);
42813 					(yyval.typnam)->setof = true;
42814 				}
42815 #line 42816 "gram.c" /* yacc.c:1652  */
42816     break;
42817 
42818   case 1829:
42819 #line 12782 "gram.y" /* yacc.c:1652  */
42820     {
42821 					(yyval.typnam) = (yyvsp[-4].typnam);
42822 					(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
42823 				}
42824 #line 42825 "gram.c" /* yacc.c:1652  */
42825     break;
42826 
42827   case 1830:
42828 #line 12787 "gram.y" /* yacc.c:1652  */
42829     {
42830 					(yyval.typnam) = (yyvsp[-4].typnam);
42831 					(yyval.typnam)->arrayBounds = list_make1(makeInteger((yyvsp[-1].ival)));
42832 					(yyval.typnam)->setof = true;
42833 				}
42834 #line 42835 "gram.c" /* yacc.c:1652  */
42835     break;
42836 
42837   case 1831:
42838 #line 12793 "gram.y" /* yacc.c:1652  */
42839     {
42840 					(yyval.typnam) = (yyvsp[-1].typnam);
42841 					(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
42842 				}
42843 #line 42844 "gram.c" /* yacc.c:1652  */
42844     break;
42845 
42846   case 1832:
42847 #line 12798 "gram.y" /* yacc.c:1652  */
42848     {
42849 					(yyval.typnam) = (yyvsp[-1].typnam);
42850 					(yyval.typnam)->arrayBounds = list_make1(makeInteger(-1));
42851 					(yyval.typnam)->setof = true;
42852 				}
42853 #line 42854 "gram.c" /* yacc.c:1652  */
42854     break;
42855 
42856   case 1833:
42857 #line 12807 "gram.y" /* yacc.c:1652  */
42858     {  (yyval.list) = lappend((yyvsp[-2].list), makeInteger(-1)); }
42859 #line 42860 "gram.c" /* yacc.c:1652  */
42860     break;
42861 
42862   case 1834:
42863 #line 12809 "gram.y" /* yacc.c:1652  */
42864     {  (yyval.list) = lappend((yyvsp[-3].list), makeInteger((yyvsp[-1].ival))); }
42865 #line 42866 "gram.c" /* yacc.c:1652  */
42866     break;
42867 
42868   case 1835:
42869 #line 12811 "gram.y" /* yacc.c:1652  */
42870     {  (yyval.list) = NIL; }
42871 #line 42872 "gram.c" /* yacc.c:1652  */
42872     break;
42873 
42874   case 1836:
42875 #line 12815 "gram.y" /* yacc.c:1652  */
42876     { (yyval.typnam) = (yyvsp[0].typnam); }
42877 #line 42878 "gram.c" /* yacc.c:1652  */
42878     break;
42879 
42880   case 1837:
42881 #line 12816 "gram.y" /* yacc.c:1652  */
42882     { (yyval.typnam) = (yyvsp[0].typnam); }
42883 #line 42884 "gram.c" /* yacc.c:1652  */
42884     break;
42885 
42886   case 1838:
42887 #line 12817 "gram.y" /* yacc.c:1652  */
42888     { (yyval.typnam) = (yyvsp[0].typnam); }
42889 #line 42890 "gram.c" /* yacc.c:1652  */
42890     break;
42891 
42892   case 1839:
42893 #line 12818 "gram.y" /* yacc.c:1652  */
42894     { (yyval.typnam) = (yyvsp[0].typnam); }
42895 #line 42896 "gram.c" /* yacc.c:1652  */
42896     break;
42897 
42898   case 1840:
42899 #line 12819 "gram.y" /* yacc.c:1652  */
42900     { (yyval.typnam) = (yyvsp[0].typnam); }
42901 #line 42902 "gram.c" /* yacc.c:1652  */
42902     break;
42903 
42904   case 1841:
42905 #line 12821 "gram.y" /* yacc.c:1652  */
42906     {
42907 					(yyval.typnam) = (yyvsp[-1].typnam);
42908 					(yyval.typnam)->typmods = (yyvsp[0].list);
42909 				}
42910 #line 42911 "gram.c" /* yacc.c:1652  */
42911     break;
42912 
42913   case 1842:
42914 #line 12826 "gram.y" /* yacc.c:1652  */
42915     {
42916 					(yyval.typnam) = (yyvsp[-3].typnam);
42917 					(yyval.typnam)->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
42918 											 makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
42919 				}
42920 #line 42921 "gram.c" /* yacc.c:1652  */
42921     break;
42922 
42923   case 1843:
42924 #line 12845 "gram.y" /* yacc.c:1652  */
42925     { (yyval.typnam) = (yyvsp[0].typnam); }
42926 #line 42927 "gram.c" /* yacc.c:1652  */
42927     break;
42928 
42929   case 1844:
42930 #line 12846 "gram.y" /* yacc.c:1652  */
42931     { (yyval.typnam) = (yyvsp[0].typnam); }
42932 #line 42933 "gram.c" /* yacc.c:1652  */
42933     break;
42934 
42935   case 1845:
42936 #line 12847 "gram.y" /* yacc.c:1652  */
42937     { (yyval.typnam) = (yyvsp[0].typnam); }
42938 #line 42939 "gram.c" /* yacc.c:1652  */
42939     break;
42940 
42941   case 1846:
42942 #line 12848 "gram.y" /* yacc.c:1652  */
42943     { (yyval.typnam) = (yyvsp[0].typnam); }
42944 #line 42945 "gram.c" /* yacc.c:1652  */
42945     break;
42946 
42947   case 1847:
42948 #line 12860 "gram.y" /* yacc.c:1652  */
42949     {
42950 					(yyval.typnam) = makeTypeName((yyvsp[-1].str));
42951 					(yyval.typnam)->typmods = (yyvsp[0].list);
42952 					(yyval.typnam)->location = (yylsp[-1]);
42953 				}
42954 #line 42955 "gram.c" /* yacc.c:1652  */
42955     break;
42956 
42957   case 1848:
42958 #line 12866 "gram.y" /* yacc.c:1652  */
42959     {
42960 					(yyval.typnam) = makeTypeNameFromNameList(lcons(makeString((yyvsp[-2].str)), (yyvsp[-1].list)));
42961 					(yyval.typnam)->typmods = (yyvsp[0].list);
42962 					(yyval.typnam)->location = (yylsp[-2]);
42963 				}
42964 #line 42965 "gram.c" /* yacc.c:1652  */
42965     break;
42966 
42967   case 1849:
42968 #line 12873 "gram.y" /* yacc.c:1652  */
42969     { (yyval.list) = (yyvsp[-1].list); }
42970 #line 42971 "gram.c" /* yacc.c:1652  */
42971     break;
42972 
42973   case 1850:
42974 #line 12874 "gram.y" /* yacc.c:1652  */
42975     { (yyval.list) = NIL; }
42976 #line 42977 "gram.c" /* yacc.c:1652  */
42977     break;
42978 
42979   case 1851:
42980 #line 12881 "gram.y" /* yacc.c:1652  */
42981     {
42982 					(yyval.typnam) = SystemTypeName("int4");
42983 					(yyval.typnam)->location = (yylsp[0]);
42984 				}
42985 #line 42986 "gram.c" /* yacc.c:1652  */
42986     break;
42987 
42988   case 1852:
42989 #line 12886 "gram.y" /* yacc.c:1652  */
42990     {
42991 					(yyval.typnam) = SystemTypeName("int4");
42992 					(yyval.typnam)->location = (yylsp[0]);
42993 				}
42994 #line 42995 "gram.c" /* yacc.c:1652  */
42995     break;
42996 
42997   case 1853:
42998 #line 12891 "gram.y" /* yacc.c:1652  */
42999     {
43000 					(yyval.typnam) = SystemTypeName("int2");
43001 					(yyval.typnam)->location = (yylsp[0]);
43002 				}
43003 #line 43004 "gram.c" /* yacc.c:1652  */
43004     break;
43005 
43006   case 1854:
43007 #line 12896 "gram.y" /* yacc.c:1652  */
43008     {
43009 					(yyval.typnam) = SystemTypeName("int8");
43010 					(yyval.typnam)->location = (yylsp[0]);
43011 				}
43012 #line 43013 "gram.c" /* yacc.c:1652  */
43013     break;
43014 
43015   case 1855:
43016 #line 12901 "gram.y" /* yacc.c:1652  */
43017     {
43018 					(yyval.typnam) = SystemTypeName("float4");
43019 					(yyval.typnam)->location = (yylsp[0]);
43020 				}
43021 #line 43022 "gram.c" /* yacc.c:1652  */
43022     break;
43023 
43024   case 1856:
43025 #line 12906 "gram.y" /* yacc.c:1652  */
43026     {
43027 					(yyval.typnam) = (yyvsp[0].typnam);
43028 					(yyval.typnam)->location = (yylsp[-1]);
43029 				}
43030 #line 43031 "gram.c" /* yacc.c:1652  */
43031     break;
43032 
43033   case 1857:
43034 #line 12911 "gram.y" /* yacc.c:1652  */
43035     {
43036 					(yyval.typnam) = SystemTypeName("float8");
43037 					(yyval.typnam)->location = (yylsp[-1]);
43038 				}
43039 #line 43040 "gram.c" /* yacc.c:1652  */
43040     break;
43041 
43042   case 1858:
43043 #line 12916 "gram.y" /* yacc.c:1652  */
43044     {
43045 					(yyval.typnam) = SystemTypeName("numeric");
43046 					(yyval.typnam)->typmods = (yyvsp[0].list);
43047 					(yyval.typnam)->location = (yylsp[-1]);
43048 				}
43049 #line 43050 "gram.c" /* yacc.c:1652  */
43050     break;
43051 
43052   case 1859:
43053 #line 12922 "gram.y" /* yacc.c:1652  */
43054     {
43055 					(yyval.typnam) = SystemTypeName("numeric");
43056 					(yyval.typnam)->typmods = (yyvsp[0].list);
43057 					(yyval.typnam)->location = (yylsp[-1]);
43058 				}
43059 #line 43060 "gram.c" /* yacc.c:1652  */
43060     break;
43061 
43062   case 1860:
43063 #line 12928 "gram.y" /* yacc.c:1652  */
43064     {
43065 					(yyval.typnam) = SystemTypeName("numeric");
43066 					(yyval.typnam)->typmods = (yyvsp[0].list);
43067 					(yyval.typnam)->location = (yylsp[-1]);
43068 				}
43069 #line 43070 "gram.c" /* yacc.c:1652  */
43070     break;
43071 
43072   case 1861:
43073 #line 12934 "gram.y" /* yacc.c:1652  */
43074     {
43075 					(yyval.typnam) = SystemTypeName("bool");
43076 					(yyval.typnam)->location = (yylsp[0]);
43077 				}
43078 #line 43079 "gram.c" /* yacc.c:1652  */
43079     break;
43080 
43081   case 1862:
43082 #line 12941 "gram.y" /* yacc.c:1652  */
43083     {
43084 					/*
43085 					 * Check FLOAT() precision limits assuming IEEE floating
43086 					 * types - thomas 1997-09-18
43087 					 */
43088 					if ((yyvsp[-1].ival) < 1)
43089 						ereport(ERROR,
43090 								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
43091 								 errmsg("precision for type float must be at least 1 bit"),
43092 								 parser_errposition((yylsp[-1]))));
43093 					else if ((yyvsp[-1].ival) <= 24)
43094 						(yyval.typnam) = SystemTypeName("float4");
43095 					else if ((yyvsp[-1].ival) <= 53)
43096 						(yyval.typnam) = SystemTypeName("float8");
43097 					else
43098 						ereport(ERROR,
43099 								(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
43100 								 errmsg("precision for type float must be less than 54 bits"),
43101 								 parser_errposition((yylsp[-1]))));
43102 				}
43103 #line 43104 "gram.c" /* yacc.c:1652  */
43104     break;
43105 
43106   case 1863:
43107 #line 12962 "gram.y" /* yacc.c:1652  */
43108     {
43109 					(yyval.typnam) = SystemTypeName("float8");
43110 				}
43111 #line 43112 "gram.c" /* yacc.c:1652  */
43112     break;
43113 
43114   case 1864:
43115 #line 12972 "gram.y" /* yacc.c:1652  */
43116     {
43117 					(yyval.typnam) = (yyvsp[0].typnam);
43118 				}
43119 #line 43120 "gram.c" /* yacc.c:1652  */
43120     break;
43121 
43122   case 1865:
43123 #line 12976 "gram.y" /* yacc.c:1652  */
43124     {
43125 					(yyval.typnam) = (yyvsp[0].typnam);
43126 				}
43127 #line 43128 "gram.c" /* yacc.c:1652  */
43128     break;
43129 
43130   case 1866:
43131 #line 12984 "gram.y" /* yacc.c:1652  */
43132     {
43133 					(yyval.typnam) = (yyvsp[0].typnam);
43134 				}
43135 #line 43136 "gram.c" /* yacc.c:1652  */
43136     break;
43137 
43138   case 1867:
43139 #line 12988 "gram.y" /* yacc.c:1652  */
43140     {
43141 					(yyval.typnam) = (yyvsp[0].typnam);
43142 					(yyval.typnam)->typmods = NIL;
43143 				}
43144 #line 43145 "gram.c" /* yacc.c:1652  */
43145     break;
43146 
43147   case 1868:
43148 #line 12996 "gram.y" /* yacc.c:1652  */
43149     {
43150 					char *typname;
43151 
43152 					typname = (yyvsp[-3].boolean) ? "varbit" : "bit";
43153 					(yyval.typnam) = SystemTypeName(typname);
43154 					(yyval.typnam)->typmods = (yyvsp[-1].list);
43155 					(yyval.typnam)->location = (yylsp[-4]);
43156 				}
43157 #line 43158 "gram.c" /* yacc.c:1652  */
43158     break;
43159 
43160   case 1869:
43161 #line 13008 "gram.y" /* yacc.c:1652  */
43162     {
43163 					/* bit defaults to bit(1), varbit to no limit */
43164 					if ((yyvsp[0].boolean))
43165 					{
43166 						(yyval.typnam) = SystemTypeName("varbit");
43167 					}
43168 					else
43169 					{
43170 						(yyval.typnam) = SystemTypeName("bit");
43171 						(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
43172 					}
43173 					(yyval.typnam)->location = (yylsp[-1]);
43174 				}
43175 #line 43176 "gram.c" /* yacc.c:1652  */
43176     break;
43177 
43178   case 1870:
43179 #line 13029 "gram.y" /* yacc.c:1652  */
43180     {
43181 					(yyval.typnam) = (yyvsp[0].typnam);
43182 				}
43183 #line 43184 "gram.c" /* yacc.c:1652  */
43184     break;
43185 
43186   case 1871:
43187 #line 13033 "gram.y" /* yacc.c:1652  */
43188     {
43189 					(yyval.typnam) = (yyvsp[0].typnam);
43190 				}
43191 #line 43192 "gram.c" /* yacc.c:1652  */
43192     break;
43193 
43194   case 1872:
43195 #line 13039 "gram.y" /* yacc.c:1652  */
43196     {
43197 					(yyval.typnam) = (yyvsp[0].typnam);
43198 				}
43199 #line 43200 "gram.c" /* yacc.c:1652  */
43200     break;
43201 
43202   case 1873:
43203 #line 13043 "gram.y" /* yacc.c:1652  */
43204     {
43205 					/* Length was not specified so allow to be unrestricted.
43206 					 * This handles problems with fixed-length (bpchar) strings
43207 					 * which in column definitions must default to a length
43208 					 * of one, but should not be constrained if the length
43209 					 * was not specified.
43210 					 */
43211 					(yyval.typnam) = (yyvsp[0].typnam);
43212 					(yyval.typnam)->typmods = NIL;
43213 				}
43214 #line 43215 "gram.c" /* yacc.c:1652  */
43215     break;
43216 
43217   case 1874:
43218 #line 13056 "gram.y" /* yacc.c:1652  */
43219     {
43220 					(yyval.typnam) = SystemTypeName((yyvsp[-3].str));
43221 					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
43222 					(yyval.typnam)->location = (yylsp[-3]);
43223 				}
43224 #line 43225 "gram.c" /* yacc.c:1652  */
43225     break;
43226 
43227   case 1875:
43228 #line 13064 "gram.y" /* yacc.c:1652  */
43229     {
43230 					(yyval.typnam) = SystemTypeName((yyvsp[0].str));
43231 					/* char defaults to char(1), varchar to no limit */
43232 					if (strcmp((yyvsp[0].str), "bpchar") == 0)
43233 						(yyval.typnam)->typmods = list_make1(makeIntConst(1, -1));
43234 					(yyval.typnam)->location = (yylsp[0]);
43235 				}
43236 #line 43237 "gram.c" /* yacc.c:1652  */
43237     break;
43238 
43239   case 1876:
43240 #line 13074 "gram.y" /* yacc.c:1652  */
43241     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43242 #line 43243 "gram.c" /* yacc.c:1652  */
43243     break;
43244 
43245   case 1877:
43246 #line 13076 "gram.y" /* yacc.c:1652  */
43247     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43248 #line 43249 "gram.c" /* yacc.c:1652  */
43249     break;
43250 
43251   case 1878:
43252 #line 13078 "gram.y" /* yacc.c:1652  */
43253     { (yyval.str) = "varchar"; }
43254 #line 43255 "gram.c" /* yacc.c:1652  */
43255     break;
43256 
43257   case 1879:
43258 #line 13080 "gram.y" /* yacc.c:1652  */
43259     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43260 #line 43261 "gram.c" /* yacc.c:1652  */
43261     break;
43262 
43263   case 1880:
43264 #line 13082 "gram.y" /* yacc.c:1652  */
43265     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43266 #line 43267 "gram.c" /* yacc.c:1652  */
43267     break;
43268 
43269   case 1881:
43270 #line 13084 "gram.y" /* yacc.c:1652  */
43271     { (yyval.str) = (yyvsp[0].boolean) ? "varchar": "bpchar"; }
43272 #line 43273 "gram.c" /* yacc.c:1652  */
43273     break;
43274 
43275   case 1882:
43276 #line 13088 "gram.y" /* yacc.c:1652  */
43277     { (yyval.boolean) = true; }
43278 #line 43279 "gram.c" /* yacc.c:1652  */
43279     break;
43280 
43281   case 1883:
43282 #line 13089 "gram.y" /* yacc.c:1652  */
43283     { (yyval.boolean) = false; }
43284 #line 43285 "gram.c" /* yacc.c:1652  */
43285     break;
43286 
43287   case 1884:
43288 #line 13097 "gram.y" /* yacc.c:1652  */
43289     {
43290 					if ((yyvsp[0].boolean))
43291 						(yyval.typnam) = SystemTypeName("timestamptz");
43292 					else
43293 						(yyval.typnam) = SystemTypeName("timestamp");
43294 					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
43295 					(yyval.typnam)->location = (yylsp[-4]);
43296 				}
43297 #line 43298 "gram.c" /* yacc.c:1652  */
43298     break;
43299 
43300   case 1885:
43301 #line 13106 "gram.y" /* yacc.c:1652  */
43302     {
43303 					if ((yyvsp[0].boolean))
43304 						(yyval.typnam) = SystemTypeName("timestamptz");
43305 					else
43306 						(yyval.typnam) = SystemTypeName("timestamp");
43307 					(yyval.typnam)->location = (yylsp[-1]);
43308 				}
43309 #line 43310 "gram.c" /* yacc.c:1652  */
43310     break;
43311 
43312   case 1886:
43313 #line 13114 "gram.y" /* yacc.c:1652  */
43314     {
43315 					if ((yyvsp[0].boolean))
43316 						(yyval.typnam) = SystemTypeName("timetz");
43317 					else
43318 						(yyval.typnam) = SystemTypeName("time");
43319 					(yyval.typnam)->typmods = list_make1(makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
43320 					(yyval.typnam)->location = (yylsp[-4]);
43321 				}
43322 #line 43323 "gram.c" /* yacc.c:1652  */
43323     break;
43324 
43325   case 1887:
43326 #line 13123 "gram.y" /* yacc.c:1652  */
43327     {
43328 					if ((yyvsp[0].boolean))
43329 						(yyval.typnam) = SystemTypeName("timetz");
43330 					else
43331 						(yyval.typnam) = SystemTypeName("time");
43332 					(yyval.typnam)->location = (yylsp[-1]);
43333 				}
43334 #line 43335 "gram.c" /* yacc.c:1652  */
43335     break;
43336 
43337   case 1888:
43338 #line 13134 "gram.y" /* yacc.c:1652  */
43339     {
43340 					(yyval.typnam) = SystemTypeName("interval");
43341 					(yyval.typnam)->location = (yylsp[0]);
43342 				}
43343 #line 43344 "gram.c" /* yacc.c:1652  */
43344     break;
43345 
43346   case 1889:
43347 #line 13141 "gram.y" /* yacc.c:1652  */
43348     { (yyval.boolean) = true; }
43349 #line 43350 "gram.c" /* yacc.c:1652  */
43350     break;
43351 
43352   case 1890:
43353 #line 13142 "gram.y" /* yacc.c:1652  */
43354     { (yyval.boolean) = false; }
43355 #line 43356 "gram.c" /* yacc.c:1652  */
43356     break;
43357 
43358   case 1891:
43359 #line 13143 "gram.y" /* yacc.c:1652  */
43360     { (yyval.boolean) = false; }
43361 #line 43362 "gram.c" /* yacc.c:1652  */
43362     break;
43363 
43364   case 1892:
43365 #line 13148 "gram.y" /* yacc.c:1652  */
43366     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR), (yylsp[0]))); }
43367 #line 43368 "gram.c" /* yacc.c:1652  */
43368     break;
43369 
43370   case 1893:
43371 #line 13150 "gram.y" /* yacc.c:1652  */
43372     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MONTH), (yylsp[0]))); }
43373 #line 43374 "gram.c" /* yacc.c:1652  */
43374     break;
43375 
43376   case 1894:
43377 #line 13152 "gram.y" /* yacc.c:1652  */
43378     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY), (yylsp[0]))); }
43379 #line 43380 "gram.c" /* yacc.c:1652  */
43380     break;
43381 
43382   case 1895:
43383 #line 13154 "gram.y" /* yacc.c:1652  */
43384     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR), (yylsp[0]))); }
43385 #line 43386 "gram.c" /* yacc.c:1652  */
43386     break;
43387 
43388   case 1896:
43389 #line 13156 "gram.y" /* yacc.c:1652  */
43390     { (yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(MINUTE), (yylsp[0]))); }
43391 #line 43392 "gram.c" /* yacc.c:1652  */
43392     break;
43393 
43394   case 1897:
43395 #line 13158 "gram.y" /* yacc.c:1652  */
43396     { (yyval.list) = (yyvsp[0].list); }
43397 #line 43398 "gram.c" /* yacc.c:1652  */
43398     break;
43399 
43400   case 1898:
43401 #line 13160 "gram.y" /* yacc.c:1652  */
43402     {
43403 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(YEAR) |
43404 												 INTERVAL_MASK(MONTH), (yylsp[-2])));
43405 				}
43406 #line 43407 "gram.c" /* yacc.c:1652  */
43407     break;
43408 
43409   case 1899:
43410 #line 13165 "gram.y" /* yacc.c:1652  */
43411     {
43412 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
43413 												 INTERVAL_MASK(HOUR), (yylsp[-2])));
43414 				}
43415 #line 43416 "gram.c" /* yacc.c:1652  */
43416     break;
43417 
43418   case 1900:
43419 #line 13170 "gram.y" /* yacc.c:1652  */
43420     {
43421 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(DAY) |
43422 												 INTERVAL_MASK(HOUR) |
43423 												 INTERVAL_MASK(MINUTE), (yylsp[-2])));
43424 				}
43425 #line 43426 "gram.c" /* yacc.c:1652  */
43426     break;
43427 
43428   case 1901:
43429 #line 13176 "gram.y" /* yacc.c:1652  */
43430     {
43431 					(yyval.list) = (yyvsp[0].list);
43432 					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(DAY) |
43433 												INTERVAL_MASK(HOUR) |
43434 												INTERVAL_MASK(MINUTE) |
43435 												INTERVAL_MASK(SECOND), (yylsp[-2]));
43436 				}
43437 #line 43438 "gram.c" /* yacc.c:1652  */
43438     break;
43439 
43440   case 1902:
43441 #line 13184 "gram.y" /* yacc.c:1652  */
43442     {
43443 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(HOUR) |
43444 												 INTERVAL_MASK(MINUTE), (yylsp[-2])));
43445 				}
43446 #line 43447 "gram.c" /* yacc.c:1652  */
43447     break;
43448 
43449   case 1903:
43450 #line 13189 "gram.y" /* yacc.c:1652  */
43451     {
43452 					(yyval.list) = (yyvsp[0].list);
43453 					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(HOUR) |
43454 												INTERVAL_MASK(MINUTE) |
43455 												INTERVAL_MASK(SECOND), (yylsp[-2]));
43456 				}
43457 #line 43458 "gram.c" /* yacc.c:1652  */
43458     break;
43459 
43460   case 1904:
43461 #line 13196 "gram.y" /* yacc.c:1652  */
43462     {
43463 					(yyval.list) = (yyvsp[0].list);
43464 					linitial((yyval.list)) = makeIntConst(INTERVAL_MASK(MINUTE) |
43465 												INTERVAL_MASK(SECOND), (yylsp[-2]));
43466 				}
43467 #line 43468 "gram.c" /* yacc.c:1652  */
43468     break;
43469 
43470   case 1905:
43471 #line 13202 "gram.y" /* yacc.c:1652  */
43472     { (yyval.list) = NIL; }
43473 #line 43474 "gram.c" /* yacc.c:1652  */
43474     break;
43475 
43476   case 1906:
43477 #line 13207 "gram.y" /* yacc.c:1652  */
43478     {
43479 					(yyval.list) = list_make1(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[0])));
43480 				}
43481 #line 43482 "gram.c" /* yacc.c:1652  */
43482     break;
43483 
43484   case 1907:
43485 #line 13211 "gram.y" /* yacc.c:1652  */
43486     {
43487 					(yyval.list) = list_make2(makeIntConst(INTERVAL_MASK(SECOND), (yylsp[-3])),
43488 									makeIntConst((yyvsp[-1].ival), (yylsp[-1])));
43489 				}
43490 #line 43491 "gram.c" /* yacc.c:1652  */
43491     break;
43492 
43493   case 1908:
43494 #line 13246 "gram.y" /* yacc.c:1652  */
43495     { (yyval.node) = (yyvsp[0].node); }
43496 #line 43497 "gram.c" /* yacc.c:1652  */
43497     break;
43498 
43499   case 1909:
43500 #line 13248 "gram.y" /* yacc.c:1652  */
43501     { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
43502 #line 43503 "gram.c" /* yacc.c:1652  */
43503     break;
43504 
43505   case 1910:
43506 #line 13250 "gram.y" /* yacc.c:1652  */
43507     {
43508 					CollateClause *n = makeNode(CollateClause);
43509 					n->arg = (yyvsp[-2].node);
43510 					n->collname = (yyvsp[0].list);
43511 					n->location = (yylsp[-1]);
43512 					(yyval.node) = (Node *) n;
43513 				}
43514 #line 43515 "gram.c" /* yacc.c:1652  */
43515     break;
43516 
43517   case 1911:
43518 #line 13258 "gram.y" /* yacc.c:1652  */
43519     {
43520 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("timezone"),
43521 											   list_make2((yyvsp[0].node), (yyvsp[-4].node)),
43522 											   COERCE_SQL_SYNTAX,
43523 											   (yylsp[-3]));
43524 				}
43525 #line 43526 "gram.c" /* yacc.c:1652  */
43526     break;
43527 
43528   case 1912:
43529 #line 13274 "gram.y" /* yacc.c:1652  */
43530     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
43531 #line 43532 "gram.c" /* yacc.c:1652  */
43532     break;
43533 
43534   case 1913:
43535 #line 13276 "gram.y" /* yacc.c:1652  */
43536     { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
43537 #line 43538 "gram.c" /* yacc.c:1652  */
43538     break;
43539 
43540   case 1914:
43541 #line 13278 "gram.y" /* yacc.c:1652  */
43542     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43543 #line 43544 "gram.c" /* yacc.c:1652  */
43544     break;
43545 
43546   case 1915:
43547 #line 13280 "gram.y" /* yacc.c:1652  */
43548     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43549 #line 43550 "gram.c" /* yacc.c:1652  */
43550     break;
43551 
43552   case 1916:
43553 #line 13282 "gram.y" /* yacc.c:1652  */
43554     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43555 #line 43556 "gram.c" /* yacc.c:1652  */
43556     break;
43557 
43558   case 1917:
43559 #line 13284 "gram.y" /* yacc.c:1652  */
43560     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43561 #line 43562 "gram.c" /* yacc.c:1652  */
43562     break;
43563 
43564   case 1918:
43565 #line 13286 "gram.y" /* yacc.c:1652  */
43566     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43567 #line 43568 "gram.c" /* yacc.c:1652  */
43568     break;
43569 
43570   case 1919:
43571 #line 13288 "gram.y" /* yacc.c:1652  */
43572     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43573 #line 43574 "gram.c" /* yacc.c:1652  */
43574     break;
43575 
43576   case 1920:
43577 #line 13290 "gram.y" /* yacc.c:1652  */
43578     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43579 #line 43580 "gram.c" /* yacc.c:1652  */
43580     break;
43581 
43582   case 1921:
43583 #line 13292 "gram.y" /* yacc.c:1652  */
43584     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43585 #line 43586 "gram.c" /* yacc.c:1652  */
43586     break;
43587 
43588   case 1922:
43589 #line 13294 "gram.y" /* yacc.c:1652  */
43590     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43591 #line 43592 "gram.c" /* yacc.c:1652  */
43592     break;
43593 
43594   case 1923:
43595 #line 13296 "gram.y" /* yacc.c:1652  */
43596     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43597 #line 43598 "gram.c" /* yacc.c:1652  */
43598     break;
43599 
43600   case 1924:
43601 #line 13298 "gram.y" /* yacc.c:1652  */
43602     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43603 #line 43604 "gram.c" /* yacc.c:1652  */
43604     break;
43605 
43606   case 1925:
43607 #line 13300 "gram.y" /* yacc.c:1652  */
43608     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43609 #line 43610 "gram.c" /* yacc.c:1652  */
43610     break;
43611 
43612   case 1926:
43613 #line 13303 "gram.y" /* yacc.c:1652  */
43614     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43615 #line 43616 "gram.c" /* yacc.c:1652  */
43616     break;
43617 
43618   case 1927:
43619 #line 13305 "gram.y" /* yacc.c:1652  */
43620     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
43621 #line 43622 "gram.c" /* yacc.c:1652  */
43622     break;
43623 
43624   case 1928:
43625 #line 13308 "gram.y" /* yacc.c:1652  */
43626     { (yyval.node) = makeAndExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43627 #line 43628 "gram.c" /* yacc.c:1652  */
43628     break;
43629 
43630   case 1929:
43631 #line 13310 "gram.y" /* yacc.c:1652  */
43632     { (yyval.node) = makeOrExpr((yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
43633 #line 43634 "gram.c" /* yacc.c:1652  */
43634     break;
43635 
43636   case 1930:
43637 #line 13312 "gram.y" /* yacc.c:1652  */
43638     { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
43639 #line 43640 "gram.c" /* yacc.c:1652  */
43640     break;
43641 
43642   case 1931:
43643 #line 13314 "gram.y" /* yacc.c:1652  */
43644     { (yyval.node) = makeNotExpr((yyvsp[0].node), (yylsp[-1])); }
43645 #line 43646 "gram.c" /* yacc.c:1652  */
43646     break;
43647 
43648   case 1932:
43649 #line 13317 "gram.y" /* yacc.c:1652  */
43650     {
43651 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
43652 												   (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
43653 				}
43654 #line 43655 "gram.c" /* yacc.c:1652  */
43655     break;
43656 
43657   case 1933:
43658 #line 13322 "gram.y" /* yacc.c:1652  */
43659     {
43660 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
43661 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43662 											   COERCE_EXPLICIT_CALL,
43663 											   (yylsp[-3]));
43664 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "~~",
43665 												   (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
43666 				}
43667 #line 43668 "gram.c" /* yacc.c:1652  */
43668     break;
43669 
43670   case 1934:
43671 #line 13331 "gram.y" /* yacc.c:1652  */
43672     {
43673 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
43674 												   (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
43675 				}
43676 #line 43677 "gram.c" /* yacc.c:1652  */
43677     break;
43678 
43679   case 1935:
43680 #line 13336 "gram.y" /* yacc.c:1652  */
43681     {
43682 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
43683 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43684 											   COERCE_EXPLICIT_CALL,
43685 											   (yylsp[-4]));
43686 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_LIKE, "!~~",
43687 												   (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
43688 				}
43689 #line 43690 "gram.c" /* yacc.c:1652  */
43690     break;
43691 
43692   case 1936:
43693 #line 13345 "gram.y" /* yacc.c:1652  */
43694     {
43695 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
43696 												   (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
43697 				}
43698 #line 43699 "gram.c" /* yacc.c:1652  */
43699     break;
43700 
43701   case 1937:
43702 #line 13350 "gram.y" /* yacc.c:1652  */
43703     {
43704 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
43705 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43706 											   COERCE_EXPLICIT_CALL,
43707 											   (yylsp[-3]));
43708 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "~~*",
43709 												   (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
43710 				}
43711 #line 43712 "gram.c" /* yacc.c:1652  */
43712     break;
43713 
43714   case 1938:
43715 #line 13359 "gram.y" /* yacc.c:1652  */
43716     {
43717 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
43718 												   (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
43719 				}
43720 #line 43721 "gram.c" /* yacc.c:1652  */
43721     break;
43722 
43723   case 1939:
43724 #line 13364 "gram.y" /* yacc.c:1652  */
43725     {
43726 					FuncCall *n = makeFuncCall(SystemFuncName("like_escape"),
43727 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43728 											   COERCE_EXPLICIT_CALL,
43729 											   (yylsp[-4]));
43730 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_ILIKE, "!~~*",
43731 												   (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
43732 				}
43733 #line 43734 "gram.c" /* yacc.c:1652  */
43734     break;
43735 
43736   case 1940:
43737 #line 13374 "gram.y" /* yacc.c:1652  */
43738     {
43739 					FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
43740 											   list_make1((yyvsp[0].node)),
43741 											   COERCE_EXPLICIT_CALL,
43742 											   (yylsp[-2]));
43743 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
43744 												   (yyvsp[-3].node), (Node *) n, (yylsp[-2]));
43745 				}
43746 #line 43747 "gram.c" /* yacc.c:1652  */
43747     break;
43748 
43749   case 1941:
43750 #line 13383 "gram.y" /* yacc.c:1652  */
43751     {
43752 					FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
43753 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43754 											   COERCE_EXPLICIT_CALL,
43755 											   (yylsp[-4]));
43756 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "~",
43757 												   (yyvsp[-5].node), (Node *) n, (yylsp[-4]));
43758 				}
43759 #line 43760 "gram.c" /* yacc.c:1652  */
43760     break;
43761 
43762   case 1942:
43763 #line 13392 "gram.y" /* yacc.c:1652  */
43764     {
43765 					FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
43766 											   list_make1((yyvsp[0].node)),
43767 											   COERCE_EXPLICIT_CALL,
43768 											   (yylsp[-3]));
43769 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
43770 												   (yyvsp[-4].node), (Node *) n, (yylsp[-3]));
43771 				}
43772 #line 43773 "gram.c" /* yacc.c:1652  */
43773     break;
43774 
43775   case 1943:
43776 #line 13401 "gram.y" /* yacc.c:1652  */
43777     {
43778 					FuncCall *n = makeFuncCall(SystemFuncName("similar_to_escape"),
43779 											   list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43780 											   COERCE_EXPLICIT_CALL,
43781 											   (yylsp[-5]));
43782 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_SIMILAR, "!~",
43783 												   (yyvsp[-6].node), (Node *) n, (yylsp[-5]));
43784 				}
43785 #line 43786 "gram.c" /* yacc.c:1652  */
43786     break;
43787 
43788   case 1944:
43789 #line 13420 "gram.y" /* yacc.c:1652  */
43790     {
43791 					NullTest *n = makeNode(NullTest);
43792 					n->arg = (Expr *) (yyvsp[-2].node);
43793 					n->nulltesttype = IS_NULL;
43794 					n->location = (yylsp[-1]);
43795 					(yyval.node) = (Node *)n;
43796 				}
43797 #line 43798 "gram.c" /* yacc.c:1652  */
43798     break;
43799 
43800   case 1945:
43801 #line 13428 "gram.y" /* yacc.c:1652  */
43802     {
43803 					NullTest *n = makeNode(NullTest);
43804 					n->arg = (Expr *) (yyvsp[-1].node);
43805 					n->nulltesttype = IS_NULL;
43806 					n->location = (yylsp[0]);
43807 					(yyval.node) = (Node *)n;
43808 				}
43809 #line 43810 "gram.c" /* yacc.c:1652  */
43810     break;
43811 
43812   case 1946:
43813 #line 13436 "gram.y" /* yacc.c:1652  */
43814     {
43815 					NullTest *n = makeNode(NullTest);
43816 					n->arg = (Expr *) (yyvsp[-3].node);
43817 					n->nulltesttype = IS_NOT_NULL;
43818 					n->location = (yylsp[-2]);
43819 					(yyval.node) = (Node *)n;
43820 				}
43821 #line 43822 "gram.c" /* yacc.c:1652  */
43822     break;
43823 
43824   case 1947:
43825 #line 13444 "gram.y" /* yacc.c:1652  */
43826     {
43827 					NullTest *n = makeNode(NullTest);
43828 					n->arg = (Expr *) (yyvsp[-1].node);
43829 					n->nulltesttype = IS_NOT_NULL;
43830 					n->location = (yylsp[0]);
43831 					(yyval.node) = (Node *)n;
43832 				}
43833 #line 43834 "gram.c" /* yacc.c:1652  */
43834     break;
43835 
43836   case 1948:
43837 #line 13452 "gram.y" /* yacc.c:1652  */
43838     {
43839 					if (list_length((yyvsp[-2].list)) != 2)
43840 						ereport(ERROR,
43841 								(errcode(ERRCODE_SYNTAX_ERROR),
43842 								 errmsg("wrong number of parameters on left side of OVERLAPS expression"),
43843 								 parser_errposition((yylsp[-2]))));
43844 					if (list_length((yyvsp[0].list)) != 2)
43845 						ereport(ERROR,
43846 								(errcode(ERRCODE_SYNTAX_ERROR),
43847 								 errmsg("wrong number of parameters on right side of OVERLAPS expression"),
43848 								 parser_errposition((yylsp[0]))));
43849 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlaps"),
43850 											   list_concat((yyvsp[-2].list), (yyvsp[0].list)),
43851 											   COERCE_SQL_SYNTAX,
43852 											   (yylsp[-1]));
43853 				}
43854 #line 43855 "gram.c" /* yacc.c:1652  */
43855     break;
43856 
43857   case 1949:
43858 #line 13469 "gram.y" /* yacc.c:1652  */
43859     {
43860 					BooleanTest *b = makeNode(BooleanTest);
43861 					b->arg = (Expr *) (yyvsp[-2].node);
43862 					b->booltesttype = IS_TRUE;
43863 					b->location = (yylsp[-1]);
43864 					(yyval.node) = (Node *)b;
43865 				}
43866 #line 43867 "gram.c" /* yacc.c:1652  */
43867     break;
43868 
43869   case 1950:
43870 #line 13477 "gram.y" /* yacc.c:1652  */
43871     {
43872 					BooleanTest *b = makeNode(BooleanTest);
43873 					b->arg = (Expr *) (yyvsp[-3].node);
43874 					b->booltesttype = IS_NOT_TRUE;
43875 					b->location = (yylsp[-2]);
43876 					(yyval.node) = (Node *)b;
43877 				}
43878 #line 43879 "gram.c" /* yacc.c:1652  */
43879     break;
43880 
43881   case 1951:
43882 #line 13485 "gram.y" /* yacc.c:1652  */
43883     {
43884 					BooleanTest *b = makeNode(BooleanTest);
43885 					b->arg = (Expr *) (yyvsp[-2].node);
43886 					b->booltesttype = IS_FALSE;
43887 					b->location = (yylsp[-1]);
43888 					(yyval.node) = (Node *)b;
43889 				}
43890 #line 43891 "gram.c" /* yacc.c:1652  */
43891     break;
43892 
43893   case 1952:
43894 #line 13493 "gram.y" /* yacc.c:1652  */
43895     {
43896 					BooleanTest *b = makeNode(BooleanTest);
43897 					b->arg = (Expr *) (yyvsp[-3].node);
43898 					b->booltesttype = IS_NOT_FALSE;
43899 					b->location = (yylsp[-2]);
43900 					(yyval.node) = (Node *)b;
43901 				}
43902 #line 43903 "gram.c" /* yacc.c:1652  */
43903     break;
43904 
43905   case 1953:
43906 #line 13501 "gram.y" /* yacc.c:1652  */
43907     {
43908 					BooleanTest *b = makeNode(BooleanTest);
43909 					b->arg = (Expr *) (yyvsp[-2].node);
43910 					b->booltesttype = IS_UNKNOWN;
43911 					b->location = (yylsp[-1]);
43912 					(yyval.node) = (Node *)b;
43913 				}
43914 #line 43915 "gram.c" /* yacc.c:1652  */
43915     break;
43916 
43917   case 1954:
43918 #line 13509 "gram.y" /* yacc.c:1652  */
43919     {
43920 					BooleanTest *b = makeNode(BooleanTest);
43921 					b->arg = (Expr *) (yyvsp[-3].node);
43922 					b->booltesttype = IS_NOT_UNKNOWN;
43923 					b->location = (yylsp[-2]);
43924 					(yyval.node) = (Node *)b;
43925 				}
43926 #line 43927 "gram.c" /* yacc.c:1652  */
43927     break;
43928 
43929   case 1955:
43930 #line 13517 "gram.y" /* yacc.c:1652  */
43931     {
43932 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
43933 				}
43934 #line 43935 "gram.c" /* yacc.c:1652  */
43935     break;
43936 
43937   case 1956:
43938 #line 13521 "gram.y" /* yacc.c:1652  */
43939     {
43940 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
43941 				}
43942 #line 43943 "gram.c" /* yacc.c:1652  */
43943     break;
43944 
43945   case 1957:
43946 #line 13525 "gram.y" /* yacc.c:1652  */
43947     {
43948 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN,
43949 												   "BETWEEN",
43950 												   (yyvsp[-5].node),
43951 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43952 												   (yylsp[-4]));
43953 				}
43954 #line 43955 "gram.c" /* yacc.c:1652  */
43955     break;
43956 
43957   case 1958:
43958 #line 13533 "gram.y" /* yacc.c:1652  */
43959     {
43960 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN,
43961 												   "NOT BETWEEN",
43962 												   (yyvsp[-6].node),
43963 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43964 												   (yylsp[-5]));
43965 				}
43966 #line 43967 "gram.c" /* yacc.c:1652  */
43967     break;
43968 
43969   case 1959:
43970 #line 13541 "gram.y" /* yacc.c:1652  */
43971     {
43972 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_BETWEEN_SYM,
43973 												   "BETWEEN SYMMETRIC",
43974 												   (yyvsp[-5].node),
43975 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43976 												   (yylsp[-4]));
43977 				}
43978 #line 43979 "gram.c" /* yacc.c:1652  */
43979     break;
43980 
43981   case 1960:
43982 #line 13549 "gram.y" /* yacc.c:1652  */
43983     {
43984 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_BETWEEN_SYM,
43985 												   "NOT BETWEEN SYMMETRIC",
43986 												   (yyvsp[-6].node),
43987 												   (Node *) list_make2((yyvsp[-2].node), (yyvsp[0].node)),
43988 												   (yylsp[-5]));
43989 				}
43990 #line 43991 "gram.c" /* yacc.c:1652  */
43991     break;
43992 
43993   case 1961:
43994 #line 13557 "gram.y" /* yacc.c:1652  */
43995     {
43996 					/* in_expr returns a SubLink or a list of a_exprs */
43997 					if (IsA((yyvsp[0].node), SubLink))
43998 					{
43999 						/* generate foo = ANY (subquery) */
44000 						SubLink *n = (SubLink *) (yyvsp[0].node);
44001 						n->subLinkType = ANY_SUBLINK;
44002 						n->subLinkId = 0;
44003 						n->testexpr = (yyvsp[-2].node);
44004 						n->operName = NIL;		/* show it's IN not = ANY */
44005 						n->location = (yylsp[-1]);
44006 						(yyval.node) = (Node *)n;
44007 					}
44008 					else
44009 					{
44010 						/* generate scalar IN expression */
44011 						(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1]));
44012 					}
44013 				}
44014 #line 44015 "gram.c" /* yacc.c:1652  */
44015     break;
44016 
44017   case 1962:
44018 #line 13577 "gram.y" /* yacc.c:1652  */
44019     {
44020 					/* in_expr returns a SubLink or a list of a_exprs */
44021 					if (IsA((yyvsp[0].node), SubLink))
44022 					{
44023 						/* generate NOT (foo = ANY (subquery)) */
44024 						/* Make an = ANY node */
44025 						SubLink *n = (SubLink *) (yyvsp[0].node);
44026 						n->subLinkType = ANY_SUBLINK;
44027 						n->subLinkId = 0;
44028 						n->testexpr = (yyvsp[-3].node);
44029 						n->operName = NIL;		/* show it's IN not = ANY */
44030 						n->location = (yylsp[-2]);
44031 						/* Stick a NOT on top; must have same parse location */
44032 						(yyval.node) = makeNotExpr((Node *) n, (yylsp[-2]));
44033 					}
44034 					else
44035 					{
44036 						/* generate scalar NOT IN expression */
44037 						(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_IN, "<>", (yyvsp[-3].node), (yyvsp[0].node), (yylsp[-2]));
44038 					}
44039 				}
44040 #line 44041 "gram.c" /* yacc.c:1652  */
44041     break;
44042 
44043   case 1963:
44044 #line 13599 "gram.y" /* yacc.c:1652  */
44045     {
44046 					SubLink *n = makeNode(SubLink);
44047 					n->subLinkType = (yyvsp[-1].ival);
44048 					n->subLinkId = 0;
44049 					n->testexpr = (yyvsp[-3].node);
44050 					n->operName = (yyvsp[-2].list);
44051 					n->subselect = (yyvsp[0].node);
44052 					n->location = (yylsp[-2]);
44053 					(yyval.node) = (Node *)n;
44054 				}
44055 #line 44056 "gram.c" /* yacc.c:1652  */
44056     break;
44057 
44058   case 1964:
44059 #line 13610 "gram.y" /* yacc.c:1652  */
44060     {
44061 					if ((yyvsp[-3].ival) == ANY_SUBLINK)
44062 						(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ANY, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
44063 					else
44064 						(yyval.node) = (Node *) makeA_Expr(AEXPR_OP_ALL, (yyvsp[-4].list), (yyvsp[-5].node), (yyvsp[-1].node), (yylsp[-4]));
44065 				}
44066 #line 44067 "gram.c" /* yacc.c:1652  */
44067     break;
44068 
44069   case 1965:
44070 #line 13617 "gram.y" /* yacc.c:1652  */
44071     {
44072 					/* Not sure how to get rid of the parentheses
44073 					 * but there are lots of shift/reduce errors without them.
44074 					 *
44075 					 * Should be able to implement this by plopping the entire
44076 					 * select into a node, then transforming the target expressions
44077 					 * from whatever they are into count(*), and testing the
44078 					 * entire result equal to one.
44079 					 * But, will probably implement a separate node in the executor.
44080 					 */
44081 					ereport(ERROR,
44082 							(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
44083 							 errmsg("UNIQUE predicate is not yet implemented"),
44084 							 parser_errposition((yylsp[-1]))));
44085 				}
44086 #line 44087 "gram.c" /* yacc.c:1652  */
44087     break;
44088 
44089   case 1966:
44090 #line 13633 "gram.y" /* yacc.c:1652  */
44091     {
44092 					(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
44093 									 list_make1((yyvsp[-2].node)), (yylsp[-1]));
44094 				}
44095 #line 44096 "gram.c" /* yacc.c:1652  */
44096     break;
44097 
44098   case 1967:
44099 #line 13638 "gram.y" /* yacc.c:1652  */
44100     {
44101 					(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
44102 												 list_make1((yyvsp[-3].node)), (yylsp[-2])),
44103 									 (yylsp[-2]));
44104 				}
44105 #line 44106 "gram.c" /* yacc.c:1652  */
44106     break;
44107 
44108   case 1968:
44109 #line 13644 "gram.y" /* yacc.c:1652  */
44110     {
44111 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"),
44112 											   list_make1((yyvsp[-2].node)),
44113 											   COERCE_SQL_SYNTAX,
44114 											   (yylsp[-1]));
44115 				}
44116 #line 44117 "gram.c" /* yacc.c:1652  */
44117     break;
44118 
44119   case 1969:
44120 #line 13651 "gram.y" /* yacc.c:1652  */
44121     {
44122 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("is_normalized"),
44123 											   list_make2((yyvsp[-3].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))),
44124 											   COERCE_SQL_SYNTAX,
44125 											   (yylsp[-2]));
44126 				}
44127 #line 44128 "gram.c" /* yacc.c:1652  */
44128     break;
44129 
44130   case 1970:
44131 #line 13658 "gram.y" /* yacc.c:1652  */
44132     {
44133 					(yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"),
44134 														   list_make1((yyvsp[-3].node)),
44135 														   COERCE_SQL_SYNTAX,
44136 														   (yylsp[-2])),
44137 									 (yylsp[-2]));
44138 				}
44139 #line 44140 "gram.c" /* yacc.c:1652  */
44140     break;
44141 
44142   case 1971:
44143 #line 13666 "gram.y" /* yacc.c:1652  */
44144     {
44145 					(yyval.node) = makeNotExpr((Node *) makeFuncCall(SystemFuncName("is_normalized"),
44146 														   list_make2((yyvsp[-4].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))),
44147 														   COERCE_SQL_SYNTAX,
44148 														   (yylsp[-3])),
44149 									 (yylsp[-3]));
44150 				}
44151 #line 44152 "gram.c" /* yacc.c:1652  */
44152     break;
44153 
44154   case 1972:
44155 #line 13674 "gram.y" /* yacc.c:1652  */
44156     {
44157 					/*
44158 					 * The SQL spec only allows DEFAULT in "contextually typed
44159 					 * expressions", but for us, it's easier to allow it in
44160 					 * any a_expr and then throw error during parse analysis
44161 					 * if it's in an inappropriate context.  This way also
44162 					 * lets us say something smarter than "syntax error".
44163 					 */
44164 					SetToDefault *n = makeNode(SetToDefault);
44165 					/* parse analysis will fill in the rest */
44166 					n->location = (yylsp[0]);
44167 					(yyval.node) = (Node *)n;
44168 				}
44169 #line 44170 "gram.c" /* yacc.c:1652  */
44170     break;
44171 
44172   case 1973:
44173 #line 13699 "gram.y" /* yacc.c:1652  */
44174     { (yyval.node) = (yyvsp[0].node); }
44175 #line 44176 "gram.c" /* yacc.c:1652  */
44176     break;
44177 
44178   case 1974:
44179 #line 13701 "gram.y" /* yacc.c:1652  */
44180     { (yyval.node) = makeTypeCast((yyvsp[-2].node), (yyvsp[0].typnam), (yylsp[-1])); }
44181 #line 44182 "gram.c" /* yacc.c:1652  */
44182     break;
44183 
44184   case 1975:
44185 #line 13703 "gram.y" /* yacc.c:1652  */
44186     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", NULL, (yyvsp[0].node), (yylsp[-1])); }
44187 #line 44188 "gram.c" /* yacc.c:1652  */
44188     break;
44189 
44190   case 1976:
44191 #line 13705 "gram.y" /* yacc.c:1652  */
44192     { (yyval.node) = doNegate((yyvsp[0].node), (yylsp[-1])); }
44193 #line 44194 "gram.c" /* yacc.c:1652  */
44194     break;
44195 
44196   case 1977:
44197 #line 13707 "gram.y" /* yacc.c:1652  */
44198     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "+", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44199 #line 44200 "gram.c" /* yacc.c:1652  */
44200     break;
44201 
44202   case 1978:
44203 #line 13709 "gram.y" /* yacc.c:1652  */
44204     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "-", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44205 #line 44206 "gram.c" /* yacc.c:1652  */
44206     break;
44207 
44208   case 1979:
44209 #line 13711 "gram.y" /* yacc.c:1652  */
44210     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "*", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44211 #line 44212 "gram.c" /* yacc.c:1652  */
44212     break;
44213 
44214   case 1980:
44215 #line 13713 "gram.y" /* yacc.c:1652  */
44216     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "/", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44217 #line 44218 "gram.c" /* yacc.c:1652  */
44218     break;
44219 
44220   case 1981:
44221 #line 13715 "gram.y" /* yacc.c:1652  */
44222     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "%", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44223 #line 44224 "gram.c" /* yacc.c:1652  */
44224     break;
44225 
44226   case 1982:
44227 #line 13717 "gram.y" /* yacc.c:1652  */
44228     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "^", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44229 #line 44230 "gram.c" /* yacc.c:1652  */
44230     break;
44231 
44232   case 1983:
44233 #line 13719 "gram.y" /* yacc.c:1652  */
44234     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44235 #line 44236 "gram.c" /* yacc.c:1652  */
44236     break;
44237 
44238   case 1984:
44239 #line 13721 "gram.y" /* yacc.c:1652  */
44240     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44241 #line 44242 "gram.c" /* yacc.c:1652  */
44242     break;
44243 
44244   case 1985:
44245 #line 13723 "gram.y" /* yacc.c:1652  */
44246     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44247 #line 44248 "gram.c" /* yacc.c:1652  */
44248     break;
44249 
44250   case 1986:
44251 #line 13725 "gram.y" /* yacc.c:1652  */
44252     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44253 #line 44254 "gram.c" /* yacc.c:1652  */
44254     break;
44255 
44256   case 1987:
44257 #line 13727 "gram.y" /* yacc.c:1652  */
44258     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, ">=", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44259 #line 44260 "gram.c" /* yacc.c:1652  */
44260     break;
44261 
44262   case 1988:
44263 #line 13729 "gram.y" /* yacc.c:1652  */
44264     { (yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_OP, "<>", (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44265 #line 44266 "gram.c" /* yacc.c:1652  */
44266     break;
44267 
44268   case 1989:
44269 #line 13731 "gram.y" /* yacc.c:1652  */
44270     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), (yyvsp[-2].node), (yyvsp[0].node), (yylsp[-1])); }
44271 #line 44272 "gram.c" /* yacc.c:1652  */
44272     break;
44273 
44274   case 1990:
44275 #line 13733 "gram.y" /* yacc.c:1652  */
44276     { (yyval.node) = (Node *) makeA_Expr(AEXPR_OP, (yyvsp[-1].list), NULL, (yyvsp[0].node), (yylsp[-1])); }
44277 #line 44278 "gram.c" /* yacc.c:1652  */
44278     break;
44279 
44280   case 1991:
44281 #line 13735 "gram.y" /* yacc.c:1652  */
44282     {
44283 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_DISTINCT, "=", (yyvsp[-4].node), (yyvsp[0].node), (yylsp[-3]));
44284 				}
44285 #line 44286 "gram.c" /* yacc.c:1652  */
44286     break;
44287 
44288   case 1992:
44289 #line 13739 "gram.y" /* yacc.c:1652  */
44290     {
44291 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NOT_DISTINCT, "=", (yyvsp[-5].node), (yyvsp[0].node), (yylsp[-4]));
44292 				}
44293 #line 44294 "gram.c" /* yacc.c:1652  */
44294     break;
44295 
44296   case 1993:
44297 #line 13743 "gram.y" /* yacc.c:1652  */
44298     {
44299 					(yyval.node) = makeXmlExpr(IS_DOCUMENT, NULL, NIL,
44300 									 list_make1((yyvsp[-2].node)), (yylsp[-1]));
44301 				}
44302 #line 44303 "gram.c" /* yacc.c:1652  */
44303     break;
44304 
44305   case 1994:
44306 #line 13748 "gram.y" /* yacc.c:1652  */
44307     {
44308 					(yyval.node) = makeNotExpr(makeXmlExpr(IS_DOCUMENT, NULL, NIL,
44309 												 list_make1((yyvsp[-3].node)), (yylsp[-2])),
44310 									 (yylsp[-2]));
44311 				}
44312 #line 44313 "gram.c" /* yacc.c:1652  */
44313     break;
44314 
44315   case 1995:
44316 #line 13763 "gram.y" /* yacc.c:1652  */
44317     { (yyval.node) = (yyvsp[0].node); }
44318 #line 44319 "gram.c" /* yacc.c:1652  */
44319     break;
44320 
44321   case 1996:
44322 #line 13764 "gram.y" /* yacc.c:1652  */
44323     { (yyval.node) = (yyvsp[0].node); }
44324 #line 44325 "gram.c" /* yacc.c:1652  */
44325     break;
44326 
44327   case 1997:
44328 #line 13766 "gram.y" /* yacc.c:1652  */
44329     {
44330 					ParamRef *p = makeNode(ParamRef);
44331 					p->number = (yyvsp[-1].ival);
44332 					p->location = (yylsp[-1]);
44333 					if ((yyvsp[0].list))
44334 					{
44335 						A_Indirection *n = makeNode(A_Indirection);
44336 						n->arg = (Node *) p;
44337 						n->indirection = check_indirection((yyvsp[0].list), yyscanner);
44338 						(yyval.node) = (Node *) n;
44339 					}
44340 					else
44341 						(yyval.node) = (Node *) p;
44342 				}
44343 #line 44344 "gram.c" /* yacc.c:1652  */
44344     break;
44345 
44346   case 1998:
44347 #line 13781 "gram.y" /* yacc.c:1652  */
44348     {
44349 					if ((yyvsp[0].list))
44350 					{
44351 						A_Indirection *n = makeNode(A_Indirection);
44352 						n->arg = (yyvsp[-2].node);
44353 						n->indirection = check_indirection((yyvsp[0].list), yyscanner);
44354 						(yyval.node) = (Node *)n;
44355 					}
44356 					else
44357 						(yyval.node) = (yyvsp[-2].node);
44358 				}
44359 #line 44360 "gram.c" /* yacc.c:1652  */
44360     break;
44361 
44362   case 1999:
44363 #line 13793 "gram.y" /* yacc.c:1652  */
44364     { (yyval.node) = (yyvsp[0].node); }
44365 #line 44366 "gram.c" /* yacc.c:1652  */
44366     break;
44367 
44368   case 2000:
44369 #line 13795 "gram.y" /* yacc.c:1652  */
44370     { (yyval.node) = (yyvsp[0].node); }
44371 #line 44372 "gram.c" /* yacc.c:1652  */
44372     break;
44373 
44374   case 2001:
44375 #line 13797 "gram.y" /* yacc.c:1652  */
44376     {
44377 					SubLink *n = makeNode(SubLink);
44378 					n->subLinkType = EXPR_SUBLINK;
44379 					n->subLinkId = 0;
44380 					n->testexpr = NULL;
44381 					n->operName = NIL;
44382 					n->subselect = (yyvsp[0].node);
44383 					n->location = (yylsp[0]);
44384 					(yyval.node) = (Node *)n;
44385 				}
44386 #line 44387 "gram.c" /* yacc.c:1652  */
44387     break;
44388 
44389   case 2002:
44390 #line 13808 "gram.y" /* yacc.c:1652  */
44391     {
44392 					/*
44393 					 * Because the select_with_parens nonterminal is designed
44394 					 * to "eat" as many levels of parens as possible, the
44395 					 * '(' a_expr ')' opt_indirection production above will
44396 					 * fail to match a sub-SELECT with indirection decoration;
44397 					 * the sub-SELECT won't be regarded as an a_expr as long
44398 					 * as there are parens around it.  To support applying
44399 					 * subscripting or field selection to a sub-SELECT result,
44400 					 * we need this redundant-looking production.
44401 					 */
44402 					SubLink *n = makeNode(SubLink);
44403 					A_Indirection *a = makeNode(A_Indirection);
44404 					n->subLinkType = EXPR_SUBLINK;
44405 					n->subLinkId = 0;
44406 					n->testexpr = NULL;
44407 					n->operName = NIL;
44408 					n->subselect = (yyvsp[-1].node);
44409 					n->location = (yylsp[-1]);
44410 					a->arg = (Node *)n;
44411 					a->indirection = check_indirection((yyvsp[0].list), yyscanner);
44412 					(yyval.node) = (Node *)a;
44413 				}
44414 #line 44415 "gram.c" /* yacc.c:1652  */
44415     break;
44416 
44417   case 2003:
44418 #line 13832 "gram.y" /* yacc.c:1652  */
44419     {
44420 					SubLink *n = makeNode(SubLink);
44421 					n->subLinkType = EXISTS_SUBLINK;
44422 					n->subLinkId = 0;
44423 					n->testexpr = NULL;
44424 					n->operName = NIL;
44425 					n->subselect = (yyvsp[0].node);
44426 					n->location = (yylsp[-1]);
44427 					(yyval.node) = (Node *)n;
44428 				}
44429 #line 44430 "gram.c" /* yacc.c:1652  */
44430     break;
44431 
44432   case 2004:
44433 #line 13843 "gram.y" /* yacc.c:1652  */
44434     {
44435 					SubLink *n = makeNode(SubLink);
44436 					n->subLinkType = ARRAY_SUBLINK;
44437 					n->subLinkId = 0;
44438 					n->testexpr = NULL;
44439 					n->operName = NIL;
44440 					n->subselect = (yyvsp[0].node);
44441 					n->location = (yylsp[-1]);
44442 					(yyval.node) = (Node *)n;
44443 				}
44444 #line 44445 "gram.c" /* yacc.c:1652  */
44445     break;
44446 
44447   case 2005:
44448 #line 13854 "gram.y" /* yacc.c:1652  */
44449     {
44450 					A_ArrayExpr *n = castNode(A_ArrayExpr, (yyvsp[0].node));
44451 					/* point outermost A_ArrayExpr to the ARRAY keyword */
44452 					n->location = (yylsp[-1]);
44453 					(yyval.node) = (Node *)n;
44454 				}
44455 #line 44456 "gram.c" /* yacc.c:1652  */
44456     break;
44457 
44458   case 2006:
44459 #line 13861 "gram.y" /* yacc.c:1652  */
44460     {
44461 					RowExpr *r = makeNode(RowExpr);
44462 					r->args = (yyvsp[0].list);
44463 					r->row_typeid = InvalidOid;	/* not analyzed yet */
44464 					r->colnames = NIL;	/* to be filled in during analysis */
44465 					r->row_format = COERCE_EXPLICIT_CALL; /* abuse */
44466 					r->location = (yylsp[0]);
44467 					(yyval.node) = (Node *)r;
44468 				}
44469 #line 44470 "gram.c" /* yacc.c:1652  */
44470     break;
44471 
44472   case 2007:
44473 #line 13871 "gram.y" /* yacc.c:1652  */
44474     {
44475 					RowExpr *r = makeNode(RowExpr);
44476 					r->args = (yyvsp[0].list);
44477 					r->row_typeid = InvalidOid;	/* not analyzed yet */
44478 					r->colnames = NIL;	/* to be filled in during analysis */
44479 					r->row_format = COERCE_IMPLICIT_CAST; /* abuse */
44480 					r->location = (yylsp[0]);
44481 					(yyval.node) = (Node *)r;
44482 				}
44483 #line 44484 "gram.c" /* yacc.c:1652  */
44484     break;
44485 
44486   case 2008:
44487 #line 13881 "gram.y" /* yacc.c:1652  */
44488     {
44489 				  GroupingFunc *g = makeNode(GroupingFunc);
44490 				  g->args = (yyvsp[-1].list);
44491 				  g->location = (yylsp[-3]);
44492 				  (yyval.node) = (Node *)g;
44493 			  }
44494 #line 44495 "gram.c" /* yacc.c:1652  */
44495     break;
44496 
44497   case 2009:
44498 #line 13890 "gram.y" /* yacc.c:1652  */
44499     {
44500 					(yyval.node) = (Node *) makeFuncCall((yyvsp[-2].list), NIL,
44501 											   COERCE_EXPLICIT_CALL,
44502 											   (yylsp[-2]));
44503 				}
44504 #line 44505 "gram.c" /* yacc.c:1652  */
44505     break;
44506 
44507   case 2010:
44508 #line 13896 "gram.y" /* yacc.c:1652  */
44509     {
44510 					FuncCall *n = makeFuncCall((yyvsp[-4].list), (yyvsp[-2].list),
44511 											   COERCE_EXPLICIT_CALL,
44512 											   (yylsp[-4]));
44513 					n->agg_order = (yyvsp[-1].list);
44514 					(yyval.node) = (Node *)n;
44515 				}
44516 #line 44517 "gram.c" /* yacc.c:1652  */
44517     break;
44518 
44519   case 2011:
44520 #line 13904 "gram.y" /* yacc.c:1652  */
44521     {
44522 					FuncCall *n = makeFuncCall((yyvsp[-5].list), list_make1((yyvsp[-2].node)),
44523 											   COERCE_EXPLICIT_CALL,
44524 											   (yylsp[-5]));
44525 					n->func_variadic = true;
44526 					n->agg_order = (yyvsp[-1].list);
44527 					(yyval.node) = (Node *)n;
44528 				}
44529 #line 44530 "gram.c" /* yacc.c:1652  */
44530     break;
44531 
44532   case 2012:
44533 #line 13913 "gram.y" /* yacc.c:1652  */
44534     {
44535 					FuncCall *n = makeFuncCall((yyvsp[-7].list), lappend((yyvsp[-5].list), (yyvsp[-2].node)),
44536 											   COERCE_EXPLICIT_CALL,
44537 											   (yylsp[-7]));
44538 					n->func_variadic = true;
44539 					n->agg_order = (yyvsp[-1].list);
44540 					(yyval.node) = (Node *)n;
44541 				}
44542 #line 44543 "gram.c" /* yacc.c:1652  */
44543     break;
44544 
44545   case 2013:
44546 #line 13922 "gram.y" /* yacc.c:1652  */
44547     {
44548 					FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list),
44549 											   COERCE_EXPLICIT_CALL,
44550 											   (yylsp[-5]));
44551 					n->agg_order = (yyvsp[-1].list);
44552 					/* Ideally we'd mark the FuncCall node to indicate
44553 					 * "must be an aggregate", but there's no provision
44554 					 * for that in FuncCall at the moment.
44555 					 */
44556 					(yyval.node) = (Node *)n;
44557 				}
44558 #line 44559 "gram.c" /* yacc.c:1652  */
44559     break;
44560 
44561   case 2014:
44562 #line 13934 "gram.y" /* yacc.c:1652  */
44563     {
44564 					FuncCall *n = makeFuncCall((yyvsp[-5].list), (yyvsp[-2].list),
44565 											   COERCE_EXPLICIT_CALL,
44566 											   (yylsp[-5]));
44567 					n->agg_order = (yyvsp[-1].list);
44568 					n->agg_distinct = true;
44569 					(yyval.node) = (Node *)n;
44570 				}
44571 #line 44572 "gram.c" /* yacc.c:1652  */
44572     break;
44573 
44574   case 2015:
44575 #line 13943 "gram.y" /* yacc.c:1652  */
44576     {
44577 					/*
44578 					 * We consider AGGREGATE(*) to invoke a parameterless
44579 					 * aggregate.  This does the right thing for COUNT(*),
44580 					 * and there are no other aggregates in SQL that accept
44581 					 * '*' as parameter.
44582 					 *
44583 					 * The FuncCall node is also marked agg_star = true,
44584 					 * so that later processing can detect what the argument
44585 					 * really was.
44586 					 */
44587 					FuncCall *n = makeFuncCall((yyvsp[-3].list), NIL,
44588 											   COERCE_EXPLICIT_CALL,
44589 											   (yylsp[-3]));
44590 					n->agg_star = true;
44591 					(yyval.node) = (Node *)n;
44592 				}
44593 #line 44594 "gram.c" /* yacc.c:1652  */
44594     break;
44595 
44596   case 2016:
44597 #line 13973 "gram.y" /* yacc.c:1652  */
44598     {
44599 					FuncCall *n = (FuncCall *) (yyvsp[-3].node);
44600 					/*
44601 					 * The order clause for WITHIN GROUP and the one for
44602 					 * plain-aggregate ORDER BY share a field, so we have to
44603 					 * check here that at most one is present.  We also check
44604 					 * for DISTINCT and VARIADIC here to give a better error
44605 					 * location.  Other consistency checks are deferred to
44606 					 * parse analysis.
44607 					 */
44608 					if ((yyvsp[-2].list) != NIL)
44609 					{
44610 						if (n->agg_order != NIL)
44611 							ereport(ERROR,
44612 									(errcode(ERRCODE_SYNTAX_ERROR),
44613 									 errmsg("cannot use multiple ORDER BY clauses with WITHIN GROUP"),
44614 									 parser_errposition((yylsp[-2]))));
44615 						if (n->agg_distinct)
44616 							ereport(ERROR,
44617 									(errcode(ERRCODE_SYNTAX_ERROR),
44618 									 errmsg("cannot use DISTINCT with WITHIN GROUP"),
44619 									 parser_errposition((yylsp[-2]))));
44620 						if (n->func_variadic)
44621 							ereport(ERROR,
44622 									(errcode(ERRCODE_SYNTAX_ERROR),
44623 									 errmsg("cannot use VARIADIC with WITHIN GROUP"),
44624 									 parser_errposition((yylsp[-2]))));
44625 						n->agg_order = (yyvsp[-2].list);
44626 						n->agg_within_group = true;
44627 					}
44628 					n->agg_filter = (yyvsp[-1].node);
44629 					n->over = (yyvsp[0].windef);
44630 					(yyval.node) = (Node *) n;
44631 				}
44632 #line 44633 "gram.c" /* yacc.c:1652  */
44633     break;
44634 
44635   case 2017:
44636 #line 14008 "gram.y" /* yacc.c:1652  */
44637     { (yyval.node) = (yyvsp[0].node); }
44638 #line 44639 "gram.c" /* yacc.c:1652  */
44639     break;
44640 
44641   case 2018:
44642 #line 14018 "gram.y" /* yacc.c:1652  */
44643     { (yyval.node) = (yyvsp[0].node); }
44644 #line 44645 "gram.c" /* yacc.c:1652  */
44645     break;
44646 
44647   case 2019:
44648 #line 14019 "gram.y" /* yacc.c:1652  */
44649     { (yyval.node) = (yyvsp[0].node); }
44650 #line 44651 "gram.c" /* yacc.c:1652  */
44651     break;
44652 
44653   case 2020:
44654 #line 14027 "gram.y" /* yacc.c:1652  */
44655     {
44656 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("pg_collation_for"),
44657 											   list_make1((yyvsp[-1].node)),
44658 											   COERCE_SQL_SYNTAX,
44659 											   (yylsp[-4]));
44660 				}
44661 #line 44662 "gram.c" /* yacc.c:1652  */
44662     break;
44663 
44664   case 2021:
44665 #line 14034 "gram.y" /* yacc.c:1652  */
44666     {
44667 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_DATE, -1, (yylsp[0]));
44668 				}
44669 #line 44670 "gram.c" /* yacc.c:1652  */
44670     break;
44671 
44672   case 2022:
44673 #line 14038 "gram.y" /* yacc.c:1652  */
44674     {
44675 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME, -1, (yylsp[0]));
44676 				}
44677 #line 44678 "gram.c" /* yacc.c:1652  */
44678     break;
44679 
44680   case 2023:
44681 #line 14042 "gram.y" /* yacc.c:1652  */
44682     {
44683 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIME_N, (yyvsp[-1].ival), (yylsp[-3]));
44684 				}
44685 #line 44686 "gram.c" /* yacc.c:1652  */
44686     break;
44687 
44688   case 2024:
44689 #line 14046 "gram.y" /* yacc.c:1652  */
44690     {
44691 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP, -1, (yylsp[0]));
44692 				}
44693 #line 44694 "gram.c" /* yacc.c:1652  */
44694     break;
44695 
44696   case 2025:
44697 #line 14050 "gram.y" /* yacc.c:1652  */
44698     {
44699 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_TIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
44700 				}
44701 #line 44702 "gram.c" /* yacc.c:1652  */
44702     break;
44703 
44704   case 2026:
44705 #line 14054 "gram.y" /* yacc.c:1652  */
44706     {
44707 					(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME, -1, (yylsp[0]));
44708 				}
44709 #line 44710 "gram.c" /* yacc.c:1652  */
44710     break;
44711 
44712   case 2027:
44713 #line 14058 "gram.y" /* yacc.c:1652  */
44714     {
44715 					(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIME_N, (yyvsp[-1].ival), (yylsp[-3]));
44716 				}
44717 #line 44718 "gram.c" /* yacc.c:1652  */
44718     break;
44719 
44720   case 2028:
44721 #line 14062 "gram.y" /* yacc.c:1652  */
44722     {
44723 					(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP, -1, (yylsp[0]));
44724 				}
44725 #line 44726 "gram.c" /* yacc.c:1652  */
44726     break;
44727 
44728   case 2029:
44729 #line 14066 "gram.y" /* yacc.c:1652  */
44730     {
44731 					(yyval.node) = makeSQLValueFunction(SVFOP_LOCALTIMESTAMP_N, (yyvsp[-1].ival), (yylsp[-3]));
44732 				}
44733 #line 44734 "gram.c" /* yacc.c:1652  */
44734     break;
44735 
44736   case 2030:
44737 #line 14070 "gram.y" /* yacc.c:1652  */
44738     {
44739 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_ROLE, -1, (yylsp[0]));
44740 				}
44741 #line 44742 "gram.c" /* yacc.c:1652  */
44742     break;
44743 
44744   case 2031:
44745 #line 14074 "gram.y" /* yacc.c:1652  */
44746     {
44747 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_USER, -1, (yylsp[0]));
44748 				}
44749 #line 44750 "gram.c" /* yacc.c:1652  */
44750     break;
44751 
44752   case 2032:
44753 #line 14078 "gram.y" /* yacc.c:1652  */
44754     {
44755 					(yyval.node) = makeSQLValueFunction(SVFOP_SESSION_USER, -1, (yylsp[0]));
44756 				}
44757 #line 44758 "gram.c" /* yacc.c:1652  */
44758     break;
44759 
44760   case 2033:
44761 #line 14082 "gram.y" /* yacc.c:1652  */
44762     {
44763 					(yyval.node) = makeSQLValueFunction(SVFOP_USER, -1, (yylsp[0]));
44764 				}
44765 #line 44766 "gram.c" /* yacc.c:1652  */
44766     break;
44767 
44768   case 2034:
44769 #line 14086 "gram.y" /* yacc.c:1652  */
44770     {
44771 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_CATALOG, -1, (yylsp[0]));
44772 				}
44773 #line 44774 "gram.c" /* yacc.c:1652  */
44774     break;
44775 
44776   case 2035:
44777 #line 14090 "gram.y" /* yacc.c:1652  */
44778     {
44779 					(yyval.node) = makeSQLValueFunction(SVFOP_CURRENT_SCHEMA, -1, (yylsp[0]));
44780 				}
44781 #line 44782 "gram.c" /* yacc.c:1652  */
44782     break;
44783 
44784   case 2036:
44785 #line 14094 "gram.y" /* yacc.c:1652  */
44786     { (yyval.node) = makeTypeCast((yyvsp[-3].node), (yyvsp[-1].typnam), (yylsp[-5])); }
44787 #line 44788 "gram.c" /* yacc.c:1652  */
44788     break;
44789 
44790   case 2037:
44791 #line 14096 "gram.y" /* yacc.c:1652  */
44792     {
44793 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("extract"),
44794 											   (yyvsp[-1].list),
44795 											   COERCE_SQL_SYNTAX,
44796 											   (yylsp[-3]));
44797 				}
44798 #line 44799 "gram.c" /* yacc.c:1652  */
44799     break;
44800 
44801   case 2038:
44802 #line 14103 "gram.y" /* yacc.c:1652  */
44803     {
44804 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"),
44805 											   list_make1((yyvsp[-1].node)),
44806 											   COERCE_SQL_SYNTAX,
44807 											   (yylsp[-3]));
44808 				}
44809 #line 44810 "gram.c" /* yacc.c:1652  */
44810     break;
44811 
44812   case 2039:
44813 #line 14110 "gram.y" /* yacc.c:1652  */
44814     {
44815 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("normalize"),
44816 											   list_make2((yyvsp[-3].node), makeStringConst((yyvsp[-1].str), (yylsp[-1]))),
44817 											   COERCE_SQL_SYNTAX,
44818 											   (yylsp[-5]));
44819 				}
44820 #line 44821 "gram.c" /* yacc.c:1652  */
44821     break;
44822 
44823   case 2040:
44824 #line 14117 "gram.y" /* yacc.c:1652  */
44825     {
44826 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("overlay"),
44827 											   (yyvsp[-1].list),
44828 											   COERCE_SQL_SYNTAX,
44829 											   (yylsp[-3]));
44830 				}
44831 #line 44832 "gram.c" /* yacc.c:1652  */
44832     break;
44833 
44834   case 2041:
44835 #line 14124 "gram.y" /* yacc.c:1652  */
44836     {
44837 					/*
44838 					 * allow functions named overlay() to be called without
44839 					 * special syntax
44840 					 */
44841 					(yyval.node) = (Node *) makeFuncCall(list_make1(makeString("overlay")),
44842 											   (yyvsp[-1].list),
44843 											   COERCE_EXPLICIT_CALL,
44844 											   (yylsp[-3]));
44845 				}
44846 #line 44847 "gram.c" /* yacc.c:1652  */
44847     break;
44848 
44849   case 2042:
44850 #line 14135 "gram.y" /* yacc.c:1652  */
44851     {
44852 					/*
44853 					 * position(A in B) is converted to position(B, A)
44854 					 *
44855 					 * We deliberately don't offer a "plain syntax" option
44856 					 * for position(), because the reversal of the arguments
44857 					 * creates too much risk of confusion.
44858 					 */
44859 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("position"),
44860 											   (yyvsp[-1].list),
44861 											   COERCE_SQL_SYNTAX,
44862 											   (yylsp[-3]));
44863 				}
44864 #line 44865 "gram.c" /* yacc.c:1652  */
44865     break;
44866 
44867   case 2043:
44868 #line 14149 "gram.y" /* yacc.c:1652  */
44869     {
44870 					/* substring(A from B for C) is converted to
44871 					 * substring(A, B, C) - thomas 2000-11-28
44872 					 */
44873 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("substring"),
44874 											   (yyvsp[-1].list),
44875 											   COERCE_SQL_SYNTAX,
44876 											   (yylsp[-3]));
44877 				}
44878 #line 44879 "gram.c" /* yacc.c:1652  */
44879     break;
44880 
44881   case 2044:
44882 #line 14159 "gram.y" /* yacc.c:1652  */
44883     {
44884 					/*
44885 					 * allow functions named substring() to be called without
44886 					 * special syntax
44887 					 */
44888 					(yyval.node) = (Node *) makeFuncCall(list_make1(makeString("substring")),
44889 											   (yyvsp[-1].list),
44890 											   COERCE_EXPLICIT_CALL,
44891 											   (yylsp[-3]));
44892 				}
44893 #line 44894 "gram.c" /* yacc.c:1652  */
44894     break;
44895 
44896   case 2045:
44897 #line 14170 "gram.y" /* yacc.c:1652  */
44898     {
44899 					/* TREAT(expr AS target) converts expr of a particular type to target,
44900 					 * which is defined to be a subtype of the original expression.
44901 					 * In SQL99, this is intended for use with structured UDTs,
44902 					 * but let's make this a generally useful form allowing stronger
44903 					 * coercions than are handled by implicit casting.
44904 					 *
44905 					 * Convert SystemTypeName() to SystemFuncName() even though
44906 					 * at the moment they result in the same thing.
44907 					 */
44908 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName(strVal(llast((yyvsp[-1].typnam)->names))),
44909 											   list_make1((yyvsp[-3].node)),
44910 											   COERCE_EXPLICIT_CALL,
44911 											   (yylsp[-5]));
44912 				}
44913 #line 44914 "gram.c" /* yacc.c:1652  */
44914     break;
44915 
44916   case 2046:
44917 #line 14186 "gram.y" /* yacc.c:1652  */
44918     {
44919 					/* various trim expressions are defined in SQL
44920 					 * - thomas 1997-07-19
44921 					 */
44922 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"),
44923 											   (yyvsp[-1].list),
44924 											   COERCE_SQL_SYNTAX,
44925 											   (yylsp[-4]));
44926 				}
44927 #line 44928 "gram.c" /* yacc.c:1652  */
44928     break;
44929 
44930   case 2047:
44931 #line 14196 "gram.y" /* yacc.c:1652  */
44932     {
44933 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("ltrim"),
44934 											   (yyvsp[-1].list),
44935 											   COERCE_SQL_SYNTAX,
44936 											   (yylsp[-4]));
44937 				}
44938 #line 44939 "gram.c" /* yacc.c:1652  */
44939     break;
44940 
44941   case 2048:
44942 #line 14203 "gram.y" /* yacc.c:1652  */
44943     {
44944 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("rtrim"),
44945 											   (yyvsp[-1].list),
44946 											   COERCE_SQL_SYNTAX,
44947 											   (yylsp[-4]));
44948 				}
44949 #line 44950 "gram.c" /* yacc.c:1652  */
44950     break;
44951 
44952   case 2049:
44953 #line 14210 "gram.y" /* yacc.c:1652  */
44954     {
44955 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("btrim"),
44956 											   (yyvsp[-1].list),
44957 											   COERCE_SQL_SYNTAX,
44958 											   (yylsp[-3]));
44959 				}
44960 #line 44961 "gram.c" /* yacc.c:1652  */
44961     break;
44962 
44963   case 2050:
44964 #line 14217 "gram.y" /* yacc.c:1652  */
44965     {
44966 					(yyval.node) = (Node *) makeSimpleA_Expr(AEXPR_NULLIF, "=", (yyvsp[-3].node), (yyvsp[-1].node), (yylsp[-5]));
44967 				}
44968 #line 44969 "gram.c" /* yacc.c:1652  */
44969     break;
44970 
44971   case 2051:
44972 #line 14221 "gram.y" /* yacc.c:1652  */
44973     {
44974 					CoalesceExpr *c = makeNode(CoalesceExpr);
44975 					c->args = (yyvsp[-1].list);
44976 					c->location = (yylsp[-3]);
44977 					(yyval.node) = (Node *)c;
44978 				}
44979 #line 44980 "gram.c" /* yacc.c:1652  */
44980     break;
44981 
44982   case 2052:
44983 #line 14228 "gram.y" /* yacc.c:1652  */
44984     {
44985 					MinMaxExpr *v = makeNode(MinMaxExpr);
44986 					v->args = (yyvsp[-1].list);
44987 					v->op = IS_GREATEST;
44988 					v->location = (yylsp[-3]);
44989 					(yyval.node) = (Node *)v;
44990 				}
44991 #line 44992 "gram.c" /* yacc.c:1652  */
44992     break;
44993 
44994   case 2053:
44995 #line 14236 "gram.y" /* yacc.c:1652  */
44996     {
44997 					MinMaxExpr *v = makeNode(MinMaxExpr);
44998 					v->args = (yyvsp[-1].list);
44999 					v->op = IS_LEAST;
45000 					v->location = (yylsp[-3]);
45001 					(yyval.node) = (Node *)v;
45002 				}
45003 #line 45004 "gram.c" /* yacc.c:1652  */
45004     break;
45005 
45006   case 2054:
45007 #line 14244 "gram.y" /* yacc.c:1652  */
45008     {
45009 					(yyval.node) = makeXmlExpr(IS_XMLCONCAT, NULL, NIL, (yyvsp[-1].list), (yylsp[-3]));
45010 				}
45011 #line 45012 "gram.c" /* yacc.c:1652  */
45012     break;
45013 
45014   case 2055:
45015 #line 14248 "gram.y" /* yacc.c:1652  */
45016     {
45017 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-1].str), NIL, NIL, (yylsp[-4]));
45018 				}
45019 #line 45020 "gram.c" /* yacc.c:1652  */
45020     break;
45021 
45022   case 2056:
45023 #line 14252 "gram.y" /* yacc.c:1652  */
45024     {
45025 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), (yyvsp[-1].list), NIL, (yylsp[-6]));
45026 				}
45027 #line 45028 "gram.c" /* yacc.c:1652  */
45028     break;
45029 
45030   case 2057:
45031 #line 14256 "gram.y" /* yacc.c:1652  */
45032     {
45033 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-3].str), NIL, (yyvsp[-1].list), (yylsp[-6]));
45034 				}
45035 #line 45036 "gram.c" /* yacc.c:1652  */
45036     break;
45037 
45038   case 2058:
45039 #line 14260 "gram.y" /* yacc.c:1652  */
45040     {
45041 					(yyval.node) = makeXmlExpr(IS_XMLELEMENT, (yyvsp[-5].str), (yyvsp[-3].list), (yyvsp[-1].list), (yylsp[-8]));
45042 				}
45043 #line 45044 "gram.c" /* yacc.c:1652  */
45044     break;
45045 
45046   case 2059:
45047 #line 14264 "gram.y" /* yacc.c:1652  */
45048     {
45049 					/* xmlexists(A PASSING [BY REF] B [BY REF]) is
45050 					 * converted to xmlexists(A, B)*/
45051 					(yyval.node) = (Node *) makeFuncCall(SystemFuncName("xmlexists"),
45052 											   list_make2((yyvsp[-2].node), (yyvsp[-1].node)),
45053 											   COERCE_SQL_SYNTAX,
45054 											   (yylsp[-4]));
45055 				}
45056 #line 45057 "gram.c" /* yacc.c:1652  */
45057     break;
45058 
45059   case 2060:
45060 #line 14273 "gram.y" /* yacc.c:1652  */
45061     {
45062 					(yyval.node) = makeXmlExpr(IS_XMLFOREST, NULL, (yyvsp[-1].list), NIL, (yylsp[-3]));
45063 				}
45064 #line 45065 "gram.c" /* yacc.c:1652  */
45065     break;
45066 
45067   case 2061:
45068 #line 14277 "gram.y" /* yacc.c:1652  */
45069     {
45070 					XmlExpr *x = (XmlExpr *)
45071 						makeXmlExpr(IS_XMLPARSE, NULL, NIL,
45072 									list_make2((yyvsp[-2].node), makeBoolAConst((yyvsp[-1].boolean), -1)),
45073 									(yylsp[-5]));
45074 					x->xmloption = (yyvsp[-3].ival);
45075 					(yyval.node) = (Node *)x;
45076 				}
45077 #line 45078 "gram.c" /* yacc.c:1652  */
45078     break;
45079 
45080   case 2062:
45081 #line 14286 "gram.y" /* yacc.c:1652  */
45082     {
45083 					(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-1].str), NULL, NIL, (yylsp[-4]));
45084 				}
45085 #line 45086 "gram.c" /* yacc.c:1652  */
45086     break;
45087 
45088   case 2063:
45089 #line 14290 "gram.y" /* yacc.c:1652  */
45090     {
45091 					(yyval.node) = makeXmlExpr(IS_XMLPI, (yyvsp[-3].str), NULL, list_make1((yyvsp[-1].node)), (yylsp[-6]));
45092 				}
45093 #line 45094 "gram.c" /* yacc.c:1652  */
45094     break;
45095 
45096   case 2064:
45097 #line 14294 "gram.y" /* yacc.c:1652  */
45098     {
45099 					(yyval.node) = makeXmlExpr(IS_XMLROOT, NULL, NIL,
45100 									 list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[-1].node)), (yylsp[-6]));
45101 				}
45102 #line 45103 "gram.c" /* yacc.c:1652  */
45103     break;
45104 
45105   case 2065:
45106 #line 14299 "gram.y" /* yacc.c:1652  */
45107     {
45108 					XmlSerialize *n = makeNode(XmlSerialize);
45109 					n->xmloption = (yyvsp[-4].ival);
45110 					n->expr = (yyvsp[-3].node);
45111 					n->typeName = (yyvsp[-1].typnam);
45112 					n->location = (yylsp[-6]);
45113 					(yyval.node) = (Node *)n;
45114 				}
45115 #line 45116 "gram.c" /* yacc.c:1652  */
45116     break;
45117 
45118   case 2066:
45119 #line 14313 "gram.y" /* yacc.c:1652  */
45120     { (yyval.node) = (yyvsp[0].node); }
45121 #line 45122 "gram.c" /* yacc.c:1652  */
45122     break;
45123 
45124   case 2067:
45125 #line 14315 "gram.y" /* yacc.c:1652  */
45126     { (yyval.node) = makeNullAConst(-1); }
45127 #line 45128 "gram.c" /* yacc.c:1652  */
45128     break;
45129 
45130   case 2068:
45131 #line 14319 "gram.y" /* yacc.c:1652  */
45132     { (yyval.node) = makeIntConst(XML_STANDALONE_YES, -1); }
45133 #line 45134 "gram.c" /* yacc.c:1652  */
45134     break;
45135 
45136   case 2069:
45137 #line 14321 "gram.y" /* yacc.c:1652  */
45138     { (yyval.node) = makeIntConst(XML_STANDALONE_NO, -1); }
45139 #line 45140 "gram.c" /* yacc.c:1652  */
45140     break;
45141 
45142   case 2070:
45143 #line 14323 "gram.y" /* yacc.c:1652  */
45144     { (yyval.node) = makeIntConst(XML_STANDALONE_NO_VALUE, -1); }
45145 #line 45146 "gram.c" /* yacc.c:1652  */
45146     break;
45147 
45148   case 2071:
45149 #line 14325 "gram.y" /* yacc.c:1652  */
45150     { (yyval.node) = makeIntConst(XML_STANDALONE_OMITTED, -1); }
45151 #line 45152 "gram.c" /* yacc.c:1652  */
45152     break;
45153 
45154   case 2072:
45155 #line 14328 "gram.y" /* yacc.c:1652  */
45156     { (yyval.list) = (yyvsp[-1].list); }
45157 #line 45158 "gram.c" /* yacc.c:1652  */
45158     break;
45159 
45160   case 2073:
45161 #line 14331 "gram.y" /* yacc.c:1652  */
45162     { (yyval.list) = list_make1((yyvsp[0].target)); }
45163 #line 45164 "gram.c" /* yacc.c:1652  */
45164     break;
45165 
45166   case 2074:
45167 #line 14332 "gram.y" /* yacc.c:1652  */
45168     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
45169 #line 45170 "gram.c" /* yacc.c:1652  */
45170     break;
45171 
45172   case 2075:
45173 #line 14336 "gram.y" /* yacc.c:1652  */
45174     {
45175 					(yyval.target) = makeNode(ResTarget);
45176 					(yyval.target)->name = (yyvsp[0].str);
45177 					(yyval.target)->indirection = NIL;
45178 					(yyval.target)->val = (Node *) (yyvsp[-2].node);
45179 					(yyval.target)->location = (yylsp[-2]);
45180 				}
45181 #line 45182 "gram.c" /* yacc.c:1652  */
45182     break;
45183 
45184   case 2076:
45185 #line 14344 "gram.y" /* yacc.c:1652  */
45186     {
45187 					(yyval.target) = makeNode(ResTarget);
45188 					(yyval.target)->name = NULL;
45189 					(yyval.target)->indirection = NIL;
45190 					(yyval.target)->val = (Node *) (yyvsp[0].node);
45191 					(yyval.target)->location = (yylsp[0]);
45192 				}
45193 #line 45194 "gram.c" /* yacc.c:1652  */
45194     break;
45195 
45196   case 2077:
45197 #line 14353 "gram.y" /* yacc.c:1652  */
45198     { (yyval.ival) = XMLOPTION_DOCUMENT; }
45199 #line 45200 "gram.c" /* yacc.c:1652  */
45200     break;
45201 
45202   case 2078:
45203 #line 14354 "gram.y" /* yacc.c:1652  */
45204     { (yyval.ival) = XMLOPTION_CONTENT; }
45205 #line 45206 "gram.c" /* yacc.c:1652  */
45206     break;
45207 
45208   case 2079:
45209 #line 14357 "gram.y" /* yacc.c:1652  */
45210     { (yyval.boolean) = true; }
45211 #line 45212 "gram.c" /* yacc.c:1652  */
45212     break;
45213 
45214   case 2080:
45215 #line 14358 "gram.y" /* yacc.c:1652  */
45216     { (yyval.boolean) = false; }
45217 #line 45218 "gram.c" /* yacc.c:1652  */
45218     break;
45219 
45220   case 2081:
45221 #line 14359 "gram.y" /* yacc.c:1652  */
45222     { (yyval.boolean) = false; }
45223 #line 45224 "gram.c" /* yacc.c:1652  */
45224     break;
45225 
45226   case 2082:
45227 #line 14365 "gram.y" /* yacc.c:1652  */
45228     {
45229 					(yyval.node) = (yyvsp[0].node);
45230 				}
45231 #line 45232 "gram.c" /* yacc.c:1652  */
45232     break;
45233 
45234   case 2083:
45235 #line 14369 "gram.y" /* yacc.c:1652  */
45236     {
45237 					(yyval.node) = (yyvsp[-1].node);
45238 				}
45239 #line 45240 "gram.c" /* yacc.c:1652  */
45240     break;
45241 
45242   case 2084:
45243 #line 14373 "gram.y" /* yacc.c:1652  */
45244     {
45245 					(yyval.node) = (yyvsp[0].node);
45246 				}
45247 #line 45248 "gram.c" /* yacc.c:1652  */
45248     break;
45249 
45250   case 2085:
45251 #line 14377 "gram.y" /* yacc.c:1652  */
45252     {
45253 					(yyval.node) = (yyvsp[-1].node);
45254 				}
45255 #line 45256 "gram.c" /* yacc.c:1652  */
45256     break;
45257 
45258   case 2088:
45259 #line 14392 "gram.y" /* yacc.c:1652  */
45260     { (yyval.list) = (yyvsp[-1].list); }
45261 #line 45262 "gram.c" /* yacc.c:1652  */
45262     break;
45263 
45264   case 2089:
45265 #line 14393 "gram.y" /* yacc.c:1652  */
45266     { (yyval.list) = NIL; }
45267 #line 45268 "gram.c" /* yacc.c:1652  */
45268     break;
45269 
45270   case 2090:
45271 #line 14397 "gram.y" /* yacc.c:1652  */
45272     { (yyval.node) = (yyvsp[-1].node); }
45273 #line 45274 "gram.c" /* yacc.c:1652  */
45274     break;
45275 
45276   case 2091:
45277 #line 14398 "gram.y" /* yacc.c:1652  */
45278     { (yyval.node) = NULL; }
45279 #line 45280 "gram.c" /* yacc.c:1652  */
45280     break;
45281 
45282   case 2092:
45283 #line 14406 "gram.y" /* yacc.c:1652  */
45284     { (yyval.list) = (yyvsp[0].list); }
45285 #line 45286 "gram.c" /* yacc.c:1652  */
45286     break;
45287 
45288   case 2093:
45289 #line 14407 "gram.y" /* yacc.c:1652  */
45290     { (yyval.list) = NIL; }
45291 #line 45292 "gram.c" /* yacc.c:1652  */
45292     break;
45293 
45294   case 2094:
45295 #line 14411 "gram.y" /* yacc.c:1652  */
45296     { (yyval.list) = list_make1((yyvsp[0].windef)); }
45297 #line 45298 "gram.c" /* yacc.c:1652  */
45298     break;
45299 
45300   case 2095:
45301 #line 14413 "gram.y" /* yacc.c:1652  */
45302     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].windef)); }
45303 #line 45304 "gram.c" /* yacc.c:1652  */
45304     break;
45305 
45306   case 2096:
45307 #line 14418 "gram.y" /* yacc.c:1652  */
45308     {
45309 					WindowDef *n = (yyvsp[0].windef);
45310 					n->name = (yyvsp[-2].str);
45311 					(yyval.windef) = n;
45312 				}
45313 #line 45314 "gram.c" /* yacc.c:1652  */
45314     break;
45315 
45316   case 2097:
45317 #line 14426 "gram.y" /* yacc.c:1652  */
45318     { (yyval.windef) = (yyvsp[0].windef); }
45319 #line 45320 "gram.c" /* yacc.c:1652  */
45320     break;
45321 
45322   case 2098:
45323 #line 14428 "gram.y" /* yacc.c:1652  */
45324     {
45325 					WindowDef *n = makeNode(WindowDef);
45326 					n->name = (yyvsp[0].str);
45327 					n->refname = NULL;
45328 					n->partitionClause = NIL;
45329 					n->orderClause = NIL;
45330 					n->frameOptions = FRAMEOPTION_DEFAULTS;
45331 					n->startOffset = NULL;
45332 					n->endOffset = NULL;
45333 					n->location = (yylsp[0]);
45334 					(yyval.windef) = n;
45335 				}
45336 #line 45337 "gram.c" /* yacc.c:1652  */
45337     break;
45338 
45339   case 2099:
45340 #line 14441 "gram.y" /* yacc.c:1652  */
45341     { (yyval.windef) = NULL; }
45342 #line 45343 "gram.c" /* yacc.c:1652  */
45343     break;
45344 
45345   case 2100:
45346 #line 14446 "gram.y" /* yacc.c:1652  */
45347     {
45348 					WindowDef *n = makeNode(WindowDef);
45349 					n->name = NULL;
45350 					n->refname = (yyvsp[-4].str);
45351 					n->partitionClause = (yyvsp[-3].list);
45352 					n->orderClause = (yyvsp[-2].list);
45353 					/* copy relevant fields of opt_frame_clause */
45354 					n->frameOptions = (yyvsp[-1].windef)->frameOptions;
45355 					n->startOffset = (yyvsp[-1].windef)->startOffset;
45356 					n->endOffset = (yyvsp[-1].windef)->endOffset;
45357 					n->location = (yylsp[-5]);
45358 					(yyval.windef) = n;
45359 				}
45360 #line 45361 "gram.c" /* yacc.c:1652  */
45361     break;
45362 
45363   case 2101:
45364 #line 14471 "gram.y" /* yacc.c:1652  */
45365     { (yyval.str) = (yyvsp[0].str); }
45366 #line 45367 "gram.c" /* yacc.c:1652  */
45367     break;
45368 
45369   case 2102:
45370 #line 14472 "gram.y" /* yacc.c:1652  */
45371     { (yyval.str) = NULL; }
45372 #line 45373 "gram.c" /* yacc.c:1652  */
45373     break;
45374 
45375   case 2103:
45376 #line 14475 "gram.y" /* yacc.c:1652  */
45377     { (yyval.list) = (yyvsp[0].list); }
45378 #line 45379 "gram.c" /* yacc.c:1652  */
45379     break;
45380 
45381   case 2104:
45382 #line 14476 "gram.y" /* yacc.c:1652  */
45383     { (yyval.list) = NIL; }
45384 #line 45385 "gram.c" /* yacc.c:1652  */
45385     break;
45386 
45387   case 2105:
45388 #line 14485 "gram.y" /* yacc.c:1652  */
45389     {
45390 					WindowDef *n = (yyvsp[-1].windef);
45391 					n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_RANGE;
45392 					n->frameOptions |= (yyvsp[0].ival);
45393 					(yyval.windef) = n;
45394 				}
45395 #line 45396 "gram.c" /* yacc.c:1652  */
45396     break;
45397 
45398   case 2106:
45399 #line 14492 "gram.y" /* yacc.c:1652  */
45400     {
45401 					WindowDef *n = (yyvsp[-1].windef);
45402 					n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_ROWS;
45403 					n->frameOptions |= (yyvsp[0].ival);
45404 					(yyval.windef) = n;
45405 				}
45406 #line 45407 "gram.c" /* yacc.c:1652  */
45407     break;
45408 
45409   case 2107:
45410 #line 14499 "gram.y" /* yacc.c:1652  */
45411     {
45412 					WindowDef *n = (yyvsp[-1].windef);
45413 					n->frameOptions |= FRAMEOPTION_NONDEFAULT | FRAMEOPTION_GROUPS;
45414 					n->frameOptions |= (yyvsp[0].ival);
45415 					(yyval.windef) = n;
45416 				}
45417 #line 45418 "gram.c" /* yacc.c:1652  */
45418     break;
45419 
45420   case 2108:
45421 #line 14506 "gram.y" /* yacc.c:1652  */
45422     {
45423 					WindowDef *n = makeNode(WindowDef);
45424 					n->frameOptions = FRAMEOPTION_DEFAULTS;
45425 					n->startOffset = NULL;
45426 					n->endOffset = NULL;
45427 					(yyval.windef) = n;
45428 				}
45429 #line 45430 "gram.c" /* yacc.c:1652  */
45430     break;
45431 
45432   case 2109:
45433 #line 14516 "gram.y" /* yacc.c:1652  */
45434     {
45435 					WindowDef *n = (yyvsp[0].windef);
45436 					/* reject invalid cases */
45437 					if (n->frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
45438 						ereport(ERROR,
45439 								(errcode(ERRCODE_WINDOWING_ERROR),
45440 								 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
45441 								 parser_errposition((yylsp[0]))));
45442 					if (n->frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING)
45443 						ereport(ERROR,
45444 								(errcode(ERRCODE_WINDOWING_ERROR),
45445 								 errmsg("frame starting from following row cannot end with current row"),
45446 								 parser_errposition((yylsp[0]))));
45447 					n->frameOptions |= FRAMEOPTION_END_CURRENT_ROW;
45448 					(yyval.windef) = n;
45449 				}
45450 #line 45451 "gram.c" /* yacc.c:1652  */
45451     break;
45452 
45453   case 2110:
45454 #line 14533 "gram.y" /* yacc.c:1652  */
45455     {
45456 					WindowDef *n1 = (yyvsp[-2].windef);
45457 					WindowDef *n2 = (yyvsp[0].windef);
45458 					/* form merged options */
45459 					int		frameOptions = n1->frameOptions;
45460 					/* shift converts START_ options to END_ options */
45461 					frameOptions |= n2->frameOptions << 1;
45462 					frameOptions |= FRAMEOPTION_BETWEEN;
45463 					/* reject invalid cases */
45464 					if (frameOptions & FRAMEOPTION_START_UNBOUNDED_FOLLOWING)
45465 						ereport(ERROR,
45466 								(errcode(ERRCODE_WINDOWING_ERROR),
45467 								 errmsg("frame start cannot be UNBOUNDED FOLLOWING"),
45468 								 parser_errposition((yylsp[-2]))));
45469 					if (frameOptions & FRAMEOPTION_END_UNBOUNDED_PRECEDING)
45470 						ereport(ERROR,
45471 								(errcode(ERRCODE_WINDOWING_ERROR),
45472 								 errmsg("frame end cannot be UNBOUNDED PRECEDING"),
45473 								 parser_errposition((yylsp[0]))));
45474 					if ((frameOptions & FRAMEOPTION_START_CURRENT_ROW) &&
45475 						(frameOptions & FRAMEOPTION_END_OFFSET_PRECEDING))
45476 						ereport(ERROR,
45477 								(errcode(ERRCODE_WINDOWING_ERROR),
45478 								 errmsg("frame starting from current row cannot have preceding rows"),
45479 								 parser_errposition((yylsp[0]))));
45480 					if ((frameOptions & FRAMEOPTION_START_OFFSET_FOLLOWING) &&
45481 						(frameOptions & (FRAMEOPTION_END_OFFSET_PRECEDING |
45482 										 FRAMEOPTION_END_CURRENT_ROW)))
45483 						ereport(ERROR,
45484 								(errcode(ERRCODE_WINDOWING_ERROR),
45485 								 errmsg("frame starting from following row cannot have preceding rows"),
45486 								 parser_errposition((yylsp[0]))));
45487 					n1->frameOptions = frameOptions;
45488 					n1->endOffset = n2->startOffset;
45489 					(yyval.windef) = n1;
45490 				}
45491 #line 45492 "gram.c" /* yacc.c:1652  */
45492     break;
45493 
45494   case 2111:
45495 #line 14578 "gram.y" /* yacc.c:1652  */
45496     {
45497 					WindowDef *n = makeNode(WindowDef);
45498 					n->frameOptions = FRAMEOPTION_START_UNBOUNDED_PRECEDING;
45499 					n->startOffset = NULL;
45500 					n->endOffset = NULL;
45501 					(yyval.windef) = n;
45502 				}
45503 #line 45504 "gram.c" /* yacc.c:1652  */
45504     break;
45505 
45506   case 2112:
45507 #line 14586 "gram.y" /* yacc.c:1652  */
45508     {
45509 					WindowDef *n = makeNode(WindowDef);
45510 					n->frameOptions = FRAMEOPTION_START_UNBOUNDED_FOLLOWING;
45511 					n->startOffset = NULL;
45512 					n->endOffset = NULL;
45513 					(yyval.windef) = n;
45514 				}
45515 #line 45516 "gram.c" /* yacc.c:1652  */
45516     break;
45517 
45518   case 2113:
45519 #line 14594 "gram.y" /* yacc.c:1652  */
45520     {
45521 					WindowDef *n = makeNode(WindowDef);
45522 					n->frameOptions = FRAMEOPTION_START_CURRENT_ROW;
45523 					n->startOffset = NULL;
45524 					n->endOffset = NULL;
45525 					(yyval.windef) = n;
45526 				}
45527 #line 45528 "gram.c" /* yacc.c:1652  */
45528     break;
45529 
45530   case 2114:
45531 #line 14602 "gram.y" /* yacc.c:1652  */
45532     {
45533 					WindowDef *n = makeNode(WindowDef);
45534 					n->frameOptions = FRAMEOPTION_START_OFFSET_PRECEDING;
45535 					n->startOffset = (yyvsp[-1].node);
45536 					n->endOffset = NULL;
45537 					(yyval.windef) = n;
45538 				}
45539 #line 45540 "gram.c" /* yacc.c:1652  */
45540     break;
45541 
45542   case 2115:
45543 #line 14610 "gram.y" /* yacc.c:1652  */
45544     {
45545 					WindowDef *n = makeNode(WindowDef);
45546 					n->frameOptions = FRAMEOPTION_START_OFFSET_FOLLOWING;
45547 					n->startOffset = (yyvsp[-1].node);
45548 					n->endOffset = NULL;
45549 					(yyval.windef) = n;
45550 				}
45551 #line 45552 "gram.c" /* yacc.c:1652  */
45552     break;
45553 
45554   case 2116:
45555 #line 14620 "gram.y" /* yacc.c:1652  */
45556     { (yyval.ival) = FRAMEOPTION_EXCLUDE_CURRENT_ROW; }
45557 #line 45558 "gram.c" /* yacc.c:1652  */
45558     break;
45559 
45560   case 2117:
45561 #line 14621 "gram.y" /* yacc.c:1652  */
45562     { (yyval.ival) = FRAMEOPTION_EXCLUDE_GROUP; }
45563 #line 45564 "gram.c" /* yacc.c:1652  */
45564     break;
45565 
45566   case 2118:
45567 #line 14622 "gram.y" /* yacc.c:1652  */
45568     { (yyval.ival) = FRAMEOPTION_EXCLUDE_TIES; }
45569 #line 45570 "gram.c" /* yacc.c:1652  */
45570     break;
45571 
45572   case 2119:
45573 #line 14623 "gram.y" /* yacc.c:1652  */
45574     { (yyval.ival) = 0; }
45575 #line 45576 "gram.c" /* yacc.c:1652  */
45576     break;
45577 
45578   case 2120:
45579 #line 14624 "gram.y" /* yacc.c:1652  */
45580     { (yyval.ival) = 0; }
45581 #line 45582 "gram.c" /* yacc.c:1652  */
45582     break;
45583 
45584   case 2121:
45585 #line 14638 "gram.y" /* yacc.c:1652  */
45586     { (yyval.list) = (yyvsp[-1].list); }
45587 #line 45588 "gram.c" /* yacc.c:1652  */
45588     break;
45589 
45590   case 2122:
45591 #line 14639 "gram.y" /* yacc.c:1652  */
45592     { (yyval.list) = NIL; }
45593 #line 45594 "gram.c" /* yacc.c:1652  */
45594     break;
45595 
45596   case 2123:
45597 #line 14640 "gram.y" /* yacc.c:1652  */
45598     { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
45599 #line 45600 "gram.c" /* yacc.c:1652  */
45600     break;
45601 
45602   case 2124:
45603 #line 14643 "gram.y" /* yacc.c:1652  */
45604     { (yyval.list) = (yyvsp[-1].list); }
45605 #line 45606 "gram.c" /* yacc.c:1652  */
45606     break;
45607 
45608   case 2125:
45609 #line 14644 "gram.y" /* yacc.c:1652  */
45610     { (yyval.list) = NIL; }
45611 #line 45612 "gram.c" /* yacc.c:1652  */
45612     break;
45613 
45614   case 2126:
45615 #line 14647 "gram.y" /* yacc.c:1652  */
45616     { (yyval.list) = lappend((yyvsp[-3].list), (yyvsp[-1].node)); }
45617 #line 45618 "gram.c" /* yacc.c:1652  */
45618     break;
45619 
45620   case 2127:
45621 #line 14650 "gram.y" /* yacc.c:1652  */
45622     { (yyval.ival) = ANY_SUBLINK; }
45623 #line 45624 "gram.c" /* yacc.c:1652  */
45624     break;
45625 
45626   case 2128:
45627 #line 14651 "gram.y" /* yacc.c:1652  */
45628     { (yyval.ival) = ANY_SUBLINK; }
45629 #line 45630 "gram.c" /* yacc.c:1652  */
45630     break;
45631 
45632   case 2129:
45633 #line 14652 "gram.y" /* yacc.c:1652  */
45634     { (yyval.ival) = ALL_SUBLINK; }
45635 #line 45636 "gram.c" /* yacc.c:1652  */
45636     break;
45637 
45638   case 2130:
45639 #line 14655 "gram.y" /* yacc.c:1652  */
45640     { (yyval.str) = (yyvsp[0].str); }
45641 #line 45642 "gram.c" /* yacc.c:1652  */
45642     break;
45643 
45644   case 2131:
45645 #line 14656 "gram.y" /* yacc.c:1652  */
45646     { (yyval.str) = (yyvsp[0].str); }
45647 #line 45648 "gram.c" /* yacc.c:1652  */
45648     break;
45649 
45650   case 2132:
45651 #line 14659 "gram.y" /* yacc.c:1652  */
45652     { (yyval.str) = "+"; }
45653 #line 45654 "gram.c" /* yacc.c:1652  */
45654     break;
45655 
45656   case 2133:
45657 #line 14660 "gram.y" /* yacc.c:1652  */
45658     { (yyval.str) = "-"; }
45659 #line 45660 "gram.c" /* yacc.c:1652  */
45660     break;
45661 
45662   case 2134:
45663 #line 14661 "gram.y" /* yacc.c:1652  */
45664     { (yyval.str) = "*"; }
45665 #line 45666 "gram.c" /* yacc.c:1652  */
45666     break;
45667 
45668   case 2135:
45669 #line 14662 "gram.y" /* yacc.c:1652  */
45670     { (yyval.str) = "/"; }
45671 #line 45672 "gram.c" /* yacc.c:1652  */
45672     break;
45673 
45674   case 2136:
45675 #line 14663 "gram.y" /* yacc.c:1652  */
45676     { (yyval.str) = "%"; }
45677 #line 45678 "gram.c" /* yacc.c:1652  */
45678     break;
45679 
45680   case 2137:
45681 #line 14664 "gram.y" /* yacc.c:1652  */
45682     { (yyval.str) = "^"; }
45683 #line 45684 "gram.c" /* yacc.c:1652  */
45684     break;
45685 
45686   case 2138:
45687 #line 14665 "gram.y" /* yacc.c:1652  */
45688     { (yyval.str) = "<"; }
45689 #line 45690 "gram.c" /* yacc.c:1652  */
45690     break;
45691 
45692   case 2139:
45693 #line 14666 "gram.y" /* yacc.c:1652  */
45694     { (yyval.str) = ">"; }
45695 #line 45696 "gram.c" /* yacc.c:1652  */
45696     break;
45697 
45698   case 2140:
45699 #line 14667 "gram.y" /* yacc.c:1652  */
45700     { (yyval.str) = "="; }
45701 #line 45702 "gram.c" /* yacc.c:1652  */
45702     break;
45703 
45704   case 2141:
45705 #line 14668 "gram.y" /* yacc.c:1652  */
45706     { (yyval.str) = "<="; }
45707 #line 45708 "gram.c" /* yacc.c:1652  */
45708     break;
45709 
45710   case 2142:
45711 #line 14669 "gram.y" /* yacc.c:1652  */
45712     { (yyval.str) = ">="; }
45713 #line 45714 "gram.c" /* yacc.c:1652  */
45714     break;
45715 
45716   case 2143:
45717 #line 14670 "gram.y" /* yacc.c:1652  */
45718     { (yyval.str) = "<>"; }
45719 #line 45720 "gram.c" /* yacc.c:1652  */
45720     break;
45721 
45722   case 2144:
45723 #line 14674 "gram.y" /* yacc.c:1652  */
45724     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
45725 #line 45726 "gram.c" /* yacc.c:1652  */
45726     break;
45727 
45728   case 2145:
45729 #line 14676 "gram.y" /* yacc.c:1652  */
45730     { (yyval.list) = (yyvsp[-1].list); }
45731 #line 45732 "gram.c" /* yacc.c:1652  */
45732     break;
45733 
45734   case 2146:
45735 #line 14681 "gram.y" /* yacc.c:1652  */
45736     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
45737 #line 45738 "gram.c" /* yacc.c:1652  */
45738     break;
45739 
45740   case 2147:
45741 #line 14683 "gram.y" /* yacc.c:1652  */
45742     { (yyval.list) = (yyvsp[-1].list); }
45743 #line 45744 "gram.c" /* yacc.c:1652  */
45744     break;
45745 
45746   case 2148:
45747 #line 14688 "gram.y" /* yacc.c:1652  */
45748     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
45749 #line 45750 "gram.c" /* yacc.c:1652  */
45750     break;
45751 
45752   case 2149:
45753 #line 14690 "gram.y" /* yacc.c:1652  */
45754     { (yyval.list) = (yyvsp[-1].list); }
45755 #line 45756 "gram.c" /* yacc.c:1652  */
45756     break;
45757 
45758   case 2150:
45759 #line 14692 "gram.y" /* yacc.c:1652  */
45760     { (yyval.list) = list_make1(makeString("~~")); }
45761 #line 45762 "gram.c" /* yacc.c:1652  */
45762     break;
45763 
45764   case 2151:
45765 #line 14694 "gram.y" /* yacc.c:1652  */
45766     { (yyval.list) = list_make1(makeString("!~~")); }
45767 #line 45768 "gram.c" /* yacc.c:1652  */
45768     break;
45769 
45770   case 2152:
45771 #line 14696 "gram.y" /* yacc.c:1652  */
45772     { (yyval.list) = list_make1(makeString("~~*")); }
45773 #line 45774 "gram.c" /* yacc.c:1652  */
45774     break;
45775 
45776   case 2153:
45777 #line 14698 "gram.y" /* yacc.c:1652  */
45778     { (yyval.list) = list_make1(makeString("!~~*")); }
45779 #line 45780 "gram.c" /* yacc.c:1652  */
45780     break;
45781 
45782   case 2154:
45783 #line 14710 "gram.y" /* yacc.c:1652  */
45784     {
45785 					(yyval.list) = list_make1((yyvsp[0].node));
45786 				}
45787 #line 45788 "gram.c" /* yacc.c:1652  */
45788     break;
45789 
45790   case 2155:
45791 #line 14714 "gram.y" /* yacc.c:1652  */
45792     {
45793 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
45794 				}
45795 #line 45796 "gram.c" /* yacc.c:1652  */
45796     break;
45797 
45798   case 2156:
45799 #line 14721 "gram.y" /* yacc.c:1652  */
45800     {
45801 					(yyval.list) = list_make1((yyvsp[0].node));
45802 				}
45803 #line 45804 "gram.c" /* yacc.c:1652  */
45804     break;
45805 
45806   case 2157:
45807 #line 14725 "gram.y" /* yacc.c:1652  */
45808     {
45809 					(yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node));
45810 				}
45811 #line 45812 "gram.c" /* yacc.c:1652  */
45812     break;
45813 
45814   case 2158:
45815 #line 14731 "gram.y" /* yacc.c:1652  */
45816     {
45817 					(yyval.node) = (yyvsp[0].node);
45818 				}
45819 #line 45820 "gram.c" /* yacc.c:1652  */
45820     break;
45821 
45822   case 2159:
45823 #line 14735 "gram.y" /* yacc.c:1652  */
45824     {
45825 					NamedArgExpr *na = makeNode(NamedArgExpr);
45826 					na->name = (yyvsp[-2].str);
45827 					na->arg = (Expr *) (yyvsp[0].node);
45828 					na->argnumber = -1;		/* until determined */
45829 					na->location = (yylsp[-2]);
45830 					(yyval.node) = (Node *) na;
45831 				}
45832 #line 45833 "gram.c" /* yacc.c:1652  */
45833     break;
45834 
45835   case 2160:
45836 #line 14744 "gram.y" /* yacc.c:1652  */
45837     {
45838 					NamedArgExpr *na = makeNode(NamedArgExpr);
45839 					na->name = (yyvsp[-2].str);
45840 					na->arg = (Expr *) (yyvsp[0].node);
45841 					na->argnumber = -1;		/* until determined */
45842 					na->location = (yylsp[-2]);
45843 					(yyval.node) = (Node *) na;
45844 				}
45845 #line 45846 "gram.c" /* yacc.c:1652  */
45846     break;
45847 
45848   case 2161:
45849 #line 14754 "gram.y" /* yacc.c:1652  */
45850     { (yyval.list) = (yyvsp[0].list); }
45851 #line 45852 "gram.c" /* yacc.c:1652  */
45852     break;
45853 
45854   case 2162:
45855 #line 14755 "gram.y" /* yacc.c:1652  */
45856     { (yyval.list) = NIL; }
45857 #line 45858 "gram.c" /* yacc.c:1652  */
45858     break;
45859 
45860   case 2163:
45861 #line 14758 "gram.y" /* yacc.c:1652  */
45862     { (yyval.list) = list_make1((yyvsp[0].typnam)); }
45863 #line 45864 "gram.c" /* yacc.c:1652  */
45864     break;
45865 
45866   case 2164:
45867 #line 14759 "gram.y" /* yacc.c:1652  */
45868     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].typnam)); }
45869 #line 45870 "gram.c" /* yacc.c:1652  */
45870     break;
45871 
45872   case 2165:
45873 #line 14763 "gram.y" /* yacc.c:1652  */
45874     {
45875 					(yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
45876 				}
45877 #line 45878 "gram.c" /* yacc.c:1652  */
45878     break;
45879 
45880   case 2166:
45881 #line 14767 "gram.y" /* yacc.c:1652  */
45882     {
45883 					(yyval.node) = makeAArrayExpr((yyvsp[-1].list), (yylsp[-2]));
45884 				}
45885 #line 45886 "gram.c" /* yacc.c:1652  */
45886     break;
45887 
45888   case 2167:
45889 #line 14771 "gram.y" /* yacc.c:1652  */
45890     {
45891 					(yyval.node) = makeAArrayExpr(NIL, (yylsp[-1]));
45892 				}
45893 #line 45894 "gram.c" /* yacc.c:1652  */
45894     break;
45895 
45896   case 2168:
45897 #line 14776 "gram.y" /* yacc.c:1652  */
45898     { (yyval.list) = list_make1((yyvsp[0].node)); }
45899 #line 45900 "gram.c" /* yacc.c:1652  */
45900     break;
45901 
45902   case 2169:
45903 #line 14777 "gram.y" /* yacc.c:1652  */
45904     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].node)); }
45905 #line 45906 "gram.c" /* yacc.c:1652  */
45906     break;
45907 
45908   case 2170:
45909 #line 14783 "gram.y" /* yacc.c:1652  */
45910     {
45911 					(yyval.list) = list_make2(makeStringConst((yyvsp[-2].str), (yylsp[-2])), (yyvsp[0].node));
45912 				}
45913 #line 45914 "gram.c" /* yacc.c:1652  */
45914     break;
45915 
45916   case 2171:
45917 #line 14792 "gram.y" /* yacc.c:1652  */
45918     { (yyval.str) = (yyvsp[0].str); }
45919 #line 45920 "gram.c" /* yacc.c:1652  */
45920     break;
45921 
45922   case 2172:
45923 #line 14793 "gram.y" /* yacc.c:1652  */
45924     { (yyval.str) = "year"; }
45925 #line 45926 "gram.c" /* yacc.c:1652  */
45926     break;
45927 
45928   case 2173:
45929 #line 14794 "gram.y" /* yacc.c:1652  */
45930     { (yyval.str) = "month"; }
45931 #line 45932 "gram.c" /* yacc.c:1652  */
45932     break;
45933 
45934   case 2174:
45935 #line 14795 "gram.y" /* yacc.c:1652  */
45936     { (yyval.str) = "day"; }
45937 #line 45938 "gram.c" /* yacc.c:1652  */
45938     break;
45939 
45940   case 2175:
45941 #line 14796 "gram.y" /* yacc.c:1652  */
45942     { (yyval.str) = "hour"; }
45943 #line 45944 "gram.c" /* yacc.c:1652  */
45944     break;
45945 
45946   case 2176:
45947 #line 14797 "gram.y" /* yacc.c:1652  */
45948     { (yyval.str) = "minute"; }
45949 #line 45950 "gram.c" /* yacc.c:1652  */
45950     break;
45951 
45952   case 2177:
45953 #line 14798 "gram.y" /* yacc.c:1652  */
45954     { (yyval.str) = "second"; }
45955 #line 45956 "gram.c" /* yacc.c:1652  */
45956     break;
45957 
45958   case 2178:
45959 #line 14799 "gram.y" /* yacc.c:1652  */
45960     { (yyval.str) = (yyvsp[0].str); }
45961 #line 45962 "gram.c" /* yacc.c:1652  */
45962     break;
45963 
45964   case 2179:
45965 #line 14803 "gram.y" /* yacc.c:1652  */
45966     { (yyval.str) = "NFC"; }
45967 #line 45968 "gram.c" /* yacc.c:1652  */
45968     break;
45969 
45970   case 2180:
45971 #line 14804 "gram.y" /* yacc.c:1652  */
45972     { (yyval.str) = "NFD"; }
45973 #line 45974 "gram.c" /* yacc.c:1652  */
45974     break;
45975 
45976   case 2181:
45977 #line 14805 "gram.y" /* yacc.c:1652  */
45978     { (yyval.str) = "NFKC"; }
45979 #line 45980 "gram.c" /* yacc.c:1652  */
45980     break;
45981 
45982   case 2182:
45983 #line 14806 "gram.y" /* yacc.c:1652  */
45984     { (yyval.str) = "NFKD"; }
45985 #line 45986 "gram.c" /* yacc.c:1652  */
45986     break;
45987 
45988   case 2183:
45989 #line 14812 "gram.y" /* yacc.c:1652  */
45990     {
45991 					/* overlay(A PLACING B FROM C FOR D) is converted to overlay(A, B, C, D) */
45992 					(yyval.list) = list_make4((yyvsp[-6].node), (yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
45993 				}
45994 #line 45995 "gram.c" /* yacc.c:1652  */
45995     break;
45996 
45997   case 2184:
45998 #line 14817 "gram.y" /* yacc.c:1652  */
45999     {
46000 					/* overlay(A PLACING B FROM C) is converted to overlay(A, B, C) */
46001 					(yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
46002 				}
46003 #line 46004 "gram.c" /* yacc.c:1652  */
46004     break;
46005 
46006   case 2185:
46007 #line 14825 "gram.y" /* yacc.c:1652  */
46008     { (yyval.list) = list_make2((yyvsp[0].node), (yyvsp[-2].node)); }
46009 #line 46010 "gram.c" /* yacc.c:1652  */
46010     break;
46011 
46012   case 2186:
46013 #line 14847 "gram.y" /* yacc.c:1652  */
46014     {
46015 					(yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
46016 				}
46017 #line 46018 "gram.c" /* yacc.c:1652  */
46018     break;
46019 
46020   case 2187:
46021 #line 14851 "gram.y" /* yacc.c:1652  */
46022     {
46023 					/* not legal per SQL, but might as well allow it */
46024 					(yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[0].node), (yyvsp[-2].node));
46025 				}
46026 #line 46027 "gram.c" /* yacc.c:1652  */
46027     break;
46028 
46029   case 2188:
46030 #line 14856 "gram.y" /* yacc.c:1652  */
46031     {
46032 					/*
46033 					 * Because we aren't restricting data types here, this
46034 					 * syntax can end up resolving to textregexsubstr().
46035 					 * We've historically allowed that to happen, so continue
46036 					 * to accept it.  However, ruleutils.c will reverse-list
46037 					 * such a call in regular function call syntax.
46038 					 */
46039 					(yyval.list) = list_make2((yyvsp[-2].node), (yyvsp[0].node));
46040 				}
46041 #line 46042 "gram.c" /* yacc.c:1652  */
46042     break;
46043 
46044   case 2189:
46045 #line 14867 "gram.y" /* yacc.c:1652  */
46046     {
46047 					/* not legal per SQL */
46048 
46049 					/*
46050 					 * Since there are no cases where this syntax allows
46051 					 * a textual FOR value, we forcibly cast the argument
46052 					 * to int4.  The possible matches in pg_proc are
46053 					 * substring(text,int4) and substring(text,text),
46054 					 * and we don't want the parser to choose the latter,
46055 					 * which it is likely to do if the second argument
46056 					 * is unknown or doesn't have an implicit cast to int4.
46057 					 */
46058 					(yyval.list) = list_make3((yyvsp[-2].node), makeIntConst(1, -1),
46059 									makeTypeCast((yyvsp[0].node),
46060 												 SystemTypeName("int4"), -1));
46061 				}
46062 #line 46063 "gram.c" /* yacc.c:1652  */
46063     break;
46064 
46065   case 2190:
46066 #line 14884 "gram.y" /* yacc.c:1652  */
46067     {
46068 					(yyval.list) = list_make3((yyvsp[-4].node), (yyvsp[-2].node), (yyvsp[0].node));
46069 				}
46070 #line 46071 "gram.c" /* yacc.c:1652  */
46071     break;
46072 
46073   case 2191:
46074 #line 14889 "gram.y" /* yacc.c:1652  */
46075     { (yyval.list) = lappend((yyvsp[0].list), (yyvsp[-2].node)); }
46076 #line 46077 "gram.c" /* yacc.c:1652  */
46077     break;
46078 
46079   case 2192:
46080 #line 14890 "gram.y" /* yacc.c:1652  */
46081     { (yyval.list) = (yyvsp[0].list); }
46082 #line 46083 "gram.c" /* yacc.c:1652  */
46083     break;
46084 
46085   case 2193:
46086 #line 14891 "gram.y" /* yacc.c:1652  */
46087     { (yyval.list) = (yyvsp[0].list); }
46088 #line 46089 "gram.c" /* yacc.c:1652  */
46089     break;
46090 
46091   case 2194:
46092 #line 14895 "gram.y" /* yacc.c:1652  */
46093     {
46094 					SubLink *n = makeNode(SubLink);
46095 					n->subselect = (yyvsp[0].node);
46096 					/* other fields will be filled later */
46097 					(yyval.node) = (Node *)n;
46098 				}
46099 #line 46100 "gram.c" /* yacc.c:1652  */
46100     break;
46101 
46102   case 2195:
46103 #line 14901 "gram.y" /* yacc.c:1652  */
46104     { (yyval.node) = (Node *)(yyvsp[-1].list); }
46105 #line 46106 "gram.c" /* yacc.c:1652  */
46106     break;
46107 
46108   case 2196:
46109 #line 14912 "gram.y" /* yacc.c:1652  */
46110     {
46111 					CaseExpr *c = makeNode(CaseExpr);
46112 					c->casetype = InvalidOid; /* not analyzed yet */
46113 					c->arg = (Expr *) (yyvsp[-3].node);
46114 					c->args = (yyvsp[-2].list);
46115 					c->defresult = (Expr *) (yyvsp[-1].node);
46116 					c->location = (yylsp[-4]);
46117 					(yyval.node) = (Node *)c;
46118 				}
46119 #line 46120 "gram.c" /* yacc.c:1652  */
46120     break;
46121 
46122   case 2197:
46123 #line 14925 "gram.y" /* yacc.c:1652  */
46124     { (yyval.list) = list_make1((yyvsp[0].node)); }
46125 #line 46126 "gram.c" /* yacc.c:1652  */
46126     break;
46127 
46128   case 2198:
46129 #line 14926 "gram.y" /* yacc.c:1652  */
46130     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
46131 #line 46132 "gram.c" /* yacc.c:1652  */
46132     break;
46133 
46134   case 2199:
46135 #line 14931 "gram.y" /* yacc.c:1652  */
46136     {
46137 					CaseWhen *w = makeNode(CaseWhen);
46138 					w->expr = (Expr *) (yyvsp[-2].node);
46139 					w->result = (Expr *) (yyvsp[0].node);
46140 					w->location = (yylsp[-3]);
46141 					(yyval.node) = (Node *)w;
46142 				}
46143 #line 46144 "gram.c" /* yacc.c:1652  */
46144     break;
46145 
46146   case 2200:
46147 #line 14941 "gram.y" /* yacc.c:1652  */
46148     { (yyval.node) = (yyvsp[0].node); }
46149 #line 46150 "gram.c" /* yacc.c:1652  */
46150     break;
46151 
46152   case 2201:
46153 #line 14942 "gram.y" /* yacc.c:1652  */
46154     { (yyval.node) = NULL; }
46155 #line 46156 "gram.c" /* yacc.c:1652  */
46156     break;
46157 
46158   case 2202:
46159 #line 14945 "gram.y" /* yacc.c:1652  */
46160     { (yyval.node) = (yyvsp[0].node); }
46161 #line 46162 "gram.c" /* yacc.c:1652  */
46162     break;
46163 
46164   case 2203:
46165 #line 14946 "gram.y" /* yacc.c:1652  */
46166     { (yyval.node) = NULL; }
46167 #line 46168 "gram.c" /* yacc.c:1652  */
46168     break;
46169 
46170   case 2204:
46171 #line 14950 "gram.y" /* yacc.c:1652  */
46172     {
46173 					(yyval.node) = makeColumnRef((yyvsp[0].str), NIL, (yylsp[0]), yyscanner);
46174 				}
46175 #line 46176 "gram.c" /* yacc.c:1652  */
46176     break;
46177 
46178   case 2205:
46179 #line 14954 "gram.y" /* yacc.c:1652  */
46180     {
46181 					(yyval.node) = makeColumnRef((yyvsp[-1].str), (yyvsp[0].list), (yylsp[-1]), yyscanner);
46182 				}
46183 #line 46184 "gram.c" /* yacc.c:1652  */
46184     break;
46185 
46186   case 2206:
46187 #line 14961 "gram.y" /* yacc.c:1652  */
46188     {
46189 					(yyval.node) = (Node *) makeString((yyvsp[0].str));
46190 				}
46191 #line 46192 "gram.c" /* yacc.c:1652  */
46192     break;
46193 
46194   case 2207:
46195 #line 14965 "gram.y" /* yacc.c:1652  */
46196     {
46197 					(yyval.node) = (Node *) makeNode(A_Star);
46198 				}
46199 #line 46200 "gram.c" /* yacc.c:1652  */
46200     break;
46201 
46202   case 2208:
46203 #line 14969 "gram.y" /* yacc.c:1652  */
46204     {
46205 					A_Indices *ai = makeNode(A_Indices);
46206 					ai->is_slice = false;
46207 					ai->lidx = NULL;
46208 					ai->uidx = (yyvsp[-1].node);
46209 					(yyval.node) = (Node *) ai;
46210 				}
46211 #line 46212 "gram.c" /* yacc.c:1652  */
46212     break;
46213 
46214   case 2209:
46215 #line 14977 "gram.y" /* yacc.c:1652  */
46216     {
46217 					A_Indices *ai = makeNode(A_Indices);
46218 					ai->is_slice = true;
46219 					ai->lidx = (yyvsp[-3].node);
46220 					ai->uidx = (yyvsp[-1].node);
46221 					(yyval.node) = (Node *) ai;
46222 				}
46223 #line 46224 "gram.c" /* yacc.c:1652  */
46224     break;
46225 
46226   case 2210:
46227 #line 14987 "gram.y" /* yacc.c:1652  */
46228     { (yyval.node) = (yyvsp[0].node); }
46229 #line 46230 "gram.c" /* yacc.c:1652  */
46230     break;
46231 
46232   case 2211:
46233 #line 14988 "gram.y" /* yacc.c:1652  */
46234     { (yyval.node) = NULL; }
46235 #line 46236 "gram.c" /* yacc.c:1652  */
46236     break;
46237 
46238   case 2212:
46239 #line 14992 "gram.y" /* yacc.c:1652  */
46240     { (yyval.list) = list_make1((yyvsp[0].node)); }
46241 #line 46242 "gram.c" /* yacc.c:1652  */
46242     break;
46243 
46244   case 2213:
46245 #line 14993 "gram.y" /* yacc.c:1652  */
46246     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
46247 #line 46248 "gram.c" /* yacc.c:1652  */
46248     break;
46249 
46250   case 2214:
46251 #line 14997 "gram.y" /* yacc.c:1652  */
46252     { (yyval.list) = NIL; }
46253 #line 46254 "gram.c" /* yacc.c:1652  */
46254     break;
46255 
46256   case 2215:
46257 #line 14998 "gram.y" /* yacc.c:1652  */
46258     { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].node)); }
46259 #line 46260 "gram.c" /* yacc.c:1652  */
46260     break;
46261 
46262   case 2218:
46263 #line 15012 "gram.y" /* yacc.c:1652  */
46264     { (yyval.list) = (yyvsp[0].list); }
46265 #line 46266 "gram.c" /* yacc.c:1652  */
46266     break;
46267 
46268   case 2219:
46269 #line 15013 "gram.y" /* yacc.c:1652  */
46270     { (yyval.list) = NIL; }
46271 #line 46272 "gram.c" /* yacc.c:1652  */
46272     break;
46273 
46274   case 2220:
46275 #line 15017 "gram.y" /* yacc.c:1652  */
46276     { (yyval.list) = list_make1((yyvsp[0].target)); }
46277 #line 46278 "gram.c" /* yacc.c:1652  */
46278     break;
46279 
46280   case 2221:
46281 #line 15018 "gram.y" /* yacc.c:1652  */
46282     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].target)); }
46283 #line 46284 "gram.c" /* yacc.c:1652  */
46284     break;
46285 
46286   case 2222:
46287 #line 15022 "gram.y" /* yacc.c:1652  */
46288     {
46289 					(yyval.target) = makeNode(ResTarget);
46290 					(yyval.target)->name = (yyvsp[0].str);
46291 					(yyval.target)->indirection = NIL;
46292 					(yyval.target)->val = (Node *)(yyvsp[-2].node);
46293 					(yyval.target)->location = (yylsp[-2]);
46294 				}
46295 #line 46296 "gram.c" /* yacc.c:1652  */
46296     break;
46297 
46298   case 2223:
46299 #line 15030 "gram.y" /* yacc.c:1652  */
46300     {
46301 					(yyval.target) = makeNode(ResTarget);
46302 					(yyval.target)->name = (yyvsp[0].str);
46303 					(yyval.target)->indirection = NIL;
46304 					(yyval.target)->val = (Node *)(yyvsp[-1].node);
46305 					(yyval.target)->location = (yylsp[-1]);
46306 				}
46307 #line 46308 "gram.c" /* yacc.c:1652  */
46308     break;
46309 
46310   case 2224:
46311 #line 15038 "gram.y" /* yacc.c:1652  */
46312     {
46313 					(yyval.target) = makeNode(ResTarget);
46314 					(yyval.target)->name = NULL;
46315 					(yyval.target)->indirection = NIL;
46316 					(yyval.target)->val = (Node *)(yyvsp[0].node);
46317 					(yyval.target)->location = (yylsp[0]);
46318 				}
46319 #line 46320 "gram.c" /* yacc.c:1652  */
46320     break;
46321 
46322   case 2225:
46323 #line 15046 "gram.y" /* yacc.c:1652  */
46324     {
46325 					ColumnRef *n = makeNode(ColumnRef);
46326 					n->fields = list_make1(makeNode(A_Star));
46327 					n->location = (yylsp[0]);
46328 
46329 					(yyval.target) = makeNode(ResTarget);
46330 					(yyval.target)->name = NULL;
46331 					(yyval.target)->indirection = NIL;
46332 					(yyval.target)->val = (Node *)n;
46333 					(yyval.target)->location = (yylsp[0]);
46334 				}
46335 #line 46336 "gram.c" /* yacc.c:1652  */
46336     break;
46337 
46338   case 2226:
46339 #line 15067 "gram.y" /* yacc.c:1652  */
46340     { (yyval.list) = list_make1((yyvsp[0].range)); }
46341 #line 46342 "gram.c" /* yacc.c:1652  */
46342     break;
46343 
46344   case 2227:
46345 #line 15068 "gram.y" /* yacc.c:1652  */
46346     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].range)); }
46347 #line 46348 "gram.c" /* yacc.c:1652  */
46348     break;
46349 
46350   case 2228:
46351 #line 15080 "gram.y" /* yacc.c:1652  */
46352     {
46353 					(yyval.range) = makeRangeVar(NULL, (yyvsp[0].str), (yylsp[0]));
46354 				}
46355 #line 46356 "gram.c" /* yacc.c:1652  */
46356     break;
46357 
46358   case 2229:
46359 #line 15084 "gram.y" /* yacc.c:1652  */
46360     {
46361 					check_qualified_name((yyvsp[0].list), yyscanner);
46362 					(yyval.range) = makeRangeVar(NULL, NULL, (yylsp[-1]));
46363 					switch (list_length((yyvsp[0].list)))
46364 					{
46365 						case 1:
46366 							(yyval.range)->catalogname = NULL;
46367 							(yyval.range)->schemaname = (yyvsp[-1].str);
46368 							(yyval.range)->relname = strVal(linitial((yyvsp[0].list)));
46369 							break;
46370 						case 2:
46371 							(yyval.range)->catalogname = (yyvsp[-1].str);
46372 							(yyval.range)->schemaname = strVal(linitial((yyvsp[0].list)));
46373 							(yyval.range)->relname = strVal(lsecond((yyvsp[0].list)));
46374 							break;
46375 						default:
46376 							ereport(ERROR,
46377 									(errcode(ERRCODE_SYNTAX_ERROR),
46378 									 errmsg("improper qualified name (too many dotted names): %s",
46379 											NameListToString(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)))),
46380 									 parser_errposition((yylsp[-1]))));
46381 							break;
46382 					}
46383 				}
46384 #line 46385 "gram.c" /* yacc.c:1652  */
46385     break;
46386 
46387   case 2230:
46388 #line 15111 "gram.y" /* yacc.c:1652  */
46389     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
46390 #line 46391 "gram.c" /* yacc.c:1652  */
46391     break;
46392 
46393   case 2231:
46394 #line 15113 "gram.y" /* yacc.c:1652  */
46395     { (yyval.list) = lappend((yyvsp[-2].list), makeString((yyvsp[0].str))); }
46396 #line 46397 "gram.c" /* yacc.c:1652  */
46397     break;
46398 
46399   case 2232:
46400 #line 15117 "gram.y" /* yacc.c:1652  */
46401     { (yyval.str) = (yyvsp[0].str); }
46402 #line 46403 "gram.c" /* yacc.c:1652  */
46403     break;
46404 
46405   case 2233:
46406 #line 15119 "gram.y" /* yacc.c:1652  */
46407     { (yyval.str) = (yyvsp[0].str); }
46408 #line 46409 "gram.c" /* yacc.c:1652  */
46409     break;
46410 
46411   case 2234:
46412 #line 15121 "gram.y" /* yacc.c:1652  */
46413     { (yyval.str) = (yyvsp[0].str); }
46414 #line 46415 "gram.c" /* yacc.c:1652  */
46415     break;
46416 
46417   case 2235:
46418 #line 15132 "gram.y" /* yacc.c:1652  */
46419     { (yyval.list) = list_make1(makeString((yyvsp[0].str))); }
46420 #line 46421 "gram.c" /* yacc.c:1652  */
46421     break;
46422 
46423   case 2236:
46424 #line 15134 "gram.y" /* yacc.c:1652  */
46425     {
46426 						(yyval.list) = check_func_name(lcons(makeString((yyvsp[-1].str)), (yyvsp[0].list)),
46427 											 yyscanner);
46428 					}
46429 #line 46430 "gram.c" /* yacc.c:1652  */
46430     break;
46431 
46432   case 2237:
46433 #line 15145 "gram.y" /* yacc.c:1652  */
46434     {
46435 					(yyval.node) = makeIntConst((yyvsp[0].ival), (yylsp[0]));
46436 				}
46437 #line 46438 "gram.c" /* yacc.c:1652  */
46438     break;
46439 
46440   case 2238:
46441 #line 15149 "gram.y" /* yacc.c:1652  */
46442     {
46443 					(yyval.node) = makeFloatConst((yyvsp[0].str), (yylsp[0]));
46444 				}
46445 #line 46446 "gram.c" /* yacc.c:1652  */
46446     break;
46447 
46448   case 2239:
46449 #line 15153 "gram.y" /* yacc.c:1652  */
46450     {
46451 					(yyval.node) = makeStringConst((yyvsp[0].str), (yylsp[0]));
46452 				}
46453 #line 46454 "gram.c" /* yacc.c:1652  */
46454     break;
46455 
46456   case 2240:
46457 #line 15157 "gram.y" /* yacc.c:1652  */
46458     {
46459 					(yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
46460 				}
46461 #line 46462 "gram.c" /* yacc.c:1652  */
46462     break;
46463 
46464   case 2241:
46465 #line 15161 "gram.y" /* yacc.c:1652  */
46466     {
46467 					/* This is a bit constant per SQL99:
46468 					 * Without Feature F511, "BIT data type",
46469 					 * a <general literal> shall not be a
46470 					 * <bit string literal> or a <hex string literal>.
46471 					 */
46472 					(yyval.node) = makeBitStringConst((yyvsp[0].str), (yylsp[0]));
46473 				}
46474 #line 46475 "gram.c" /* yacc.c:1652  */
46475     break;
46476 
46477   case 2242:
46478 #line 15170 "gram.y" /* yacc.c:1652  */
46479     {
46480 					/* generic type 'literal' syntax */
46481 					TypeName *t = makeTypeNameFromNameList((yyvsp[-1].list));
46482 					t->location = (yylsp[-1]);
46483 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
46484 				}
46485 #line 46486 "gram.c" /* yacc.c:1652  */
46486     break;
46487 
46488   case 2243:
46489 #line 15177 "gram.y" /* yacc.c:1652  */
46490     {
46491 					/* generic syntax with a type modifier */
46492 					TypeName *t = makeTypeNameFromNameList((yyvsp[-5].list));
46493 					ListCell *lc;
46494 
46495 					/*
46496 					 * We must use func_arg_list and opt_sort_clause in the
46497 					 * production to avoid reduce/reduce conflicts, but we
46498 					 * don't actually wish to allow NamedArgExpr in this
46499 					 * context, nor ORDER BY.
46500 					 */
46501 					foreach(lc, (yyvsp[-3].list))
46502 					{
46503 						NamedArgExpr *arg = (NamedArgExpr *) lfirst(lc);
46504 
46505 						if (IsA(arg, NamedArgExpr))
46506 							ereport(ERROR,
46507 									(errcode(ERRCODE_SYNTAX_ERROR),
46508 									 errmsg("type modifier cannot have parameter name"),
46509 									 parser_errposition(arg->location)));
46510 					}
46511 					if ((yyvsp[-2].list) != NIL)
46512 							ereport(ERROR,
46513 									(errcode(ERRCODE_SYNTAX_ERROR),
46514 									 errmsg("type modifier cannot have ORDER BY"),
46515 									 parser_errposition((yylsp[-2]))));
46516 
46517 					t->typmods = (yyvsp[-3].list);
46518 					t->location = (yylsp[-5]);
46519 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
46520 				}
46521 #line 46522 "gram.c" /* yacc.c:1652  */
46522     break;
46523 
46524   case 2244:
46525 #line 15209 "gram.y" /* yacc.c:1652  */
46526     {
46527 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), (yyvsp[-1].typnam));
46528 				}
46529 #line 46530 "gram.c" /* yacc.c:1652  */
46530     break;
46531 
46532   case 2245:
46533 #line 15213 "gram.y" /* yacc.c:1652  */
46534     {
46535 					TypeName *t = (yyvsp[-2].typnam);
46536 					t->typmods = (yyvsp[0].list);
46537 					(yyval.node) = makeStringConstCast((yyvsp[-1].str), (yylsp[-1]), t);
46538 				}
46539 #line 46540 "gram.c" /* yacc.c:1652  */
46540     break;
46541 
46542   case 2246:
46543 #line 15219 "gram.y" /* yacc.c:1652  */
46544     {
46545 					TypeName *t = (yyvsp[-4].typnam);
46546 					t->typmods = list_make2(makeIntConst(INTERVAL_FULL_RANGE, -1),
46547 											makeIntConst((yyvsp[-2].ival), (yylsp[-2])));
46548 					(yyval.node) = makeStringConstCast((yyvsp[0].str), (yylsp[0]), t);
46549 				}
46550 #line 46551 "gram.c" /* yacc.c:1652  */
46551     break;
46552 
46553   case 2247:
46554 #line 15226 "gram.y" /* yacc.c:1652  */
46555     {
46556 					(yyval.node) = makeBoolAConst(true, (yylsp[0]));
46557 				}
46558 #line 46559 "gram.c" /* yacc.c:1652  */
46559     break;
46560 
46561   case 2248:
46562 #line 15230 "gram.y" /* yacc.c:1652  */
46563     {
46564 					(yyval.node) = makeBoolAConst(false, (yylsp[0]));
46565 				}
46566 #line 46567 "gram.c" /* yacc.c:1652  */
46567     break;
46568 
46569   case 2249:
46570 #line 15234 "gram.y" /* yacc.c:1652  */
46571     {
46572 					(yyval.node) = makeNullAConst((yylsp[0]));
46573 				}
46574 #line 46575 "gram.c" /* yacc.c:1652  */
46575     break;
46576 
46577   case 2250:
46578 #line 15239 "gram.y" /* yacc.c:1652  */
46579     { (yyval.ival) = (yyvsp[0].ival); }
46580 #line 46581 "gram.c" /* yacc.c:1652  */
46581     break;
46582 
46583   case 2251:
46584 #line 15240 "gram.y" /* yacc.c:1652  */
46585     { (yyval.str) = (yyvsp[0].str); }
46586 #line 46587 "gram.c" /* yacc.c:1652  */
46587     break;
46588 
46589   case 2252:
46590 #line 15242 "gram.y" /* yacc.c:1652  */
46591     { (yyval.ival) = (yyvsp[0].ival); }
46592 #line 46593 "gram.c" /* yacc.c:1652  */
46593     break;
46594 
46595   case 2253:
46596 #line 15243 "gram.y" /* yacc.c:1652  */
46597     { (yyval.ival) = + (yyvsp[0].ival); }
46598 #line 46599 "gram.c" /* yacc.c:1652  */
46599     break;
46600 
46601   case 2254:
46602 #line 15244 "gram.y" /* yacc.c:1652  */
46603     { (yyval.ival) = - (yyvsp[0].ival); }
46604 #line 46605 "gram.c" /* yacc.c:1652  */
46605     break;
46606 
46607   case 2255:
46608 #line 15249 "gram.y" /* yacc.c:1652  */
46609     {
46610 					RoleSpec *spc = (RoleSpec *) (yyvsp[0].rolespec);
46611 					switch (spc->roletype)
46612 					{
46613 						case ROLESPEC_CSTRING:
46614 							(yyval.str) = spc->rolename;
46615 							break;
46616 						case ROLESPEC_PUBLIC:
46617 							ereport(ERROR,
46618 									(errcode(ERRCODE_RESERVED_NAME),
46619 									 errmsg("role name \"%s\" is reserved",
46620 											"public"),
46621 									 parser_errposition((yylsp[0]))));
46622 							break;
46623 						case ROLESPEC_SESSION_USER:
46624 							ereport(ERROR,
46625 									(errcode(ERRCODE_RESERVED_NAME),
46626 									 errmsg("%s cannot be used as a role name here",
46627 											"SESSION_USER"),
46628 									 parser_errposition((yylsp[0]))));
46629 							break;
46630 						case ROLESPEC_CURRENT_USER:
46631 							ereport(ERROR,
46632 									(errcode(ERRCODE_RESERVED_NAME),
46633 									 errmsg("%s cannot be used as a role name here",
46634 											"CURRENT_USER"),
46635 									 parser_errposition((yylsp[0]))));
46636 							break;
46637 						case ROLESPEC_CURRENT_ROLE:
46638 							ereport(ERROR,
46639 									(errcode(ERRCODE_RESERVED_NAME),
46640 									 errmsg("%s cannot be used as a role name here",
46641 											"CURRENT_ROLE"),
46642 									 parser_errposition((yylsp[0]))));
46643 							break;
46644 					}
46645 				}
46646 #line 46647 "gram.c" /* yacc.c:1652  */
46647     break;
46648 
46649   case 2256:
46650 #line 15289 "gram.y" /* yacc.c:1652  */
46651     {
46652 						/*
46653 						 * "public" and "none" are not keywords, but they must
46654 						 * be treated specially here.
46655 						 */
46656 						RoleSpec *n;
46657 						if (strcmp((yyvsp[0].str), "public") == 0)
46658 						{
46659 							n = (RoleSpec *) makeRoleSpec(ROLESPEC_PUBLIC, (yylsp[0]));
46660 							n->roletype = ROLESPEC_PUBLIC;
46661 						}
46662 						else if (strcmp((yyvsp[0].str), "none") == 0)
46663 						{
46664 							ereport(ERROR,
46665 									(errcode(ERRCODE_RESERVED_NAME),
46666 									 errmsg("role name \"%s\" is reserved",
46667 											"none"),
46668 									 parser_errposition((yylsp[0]))));
46669 						}
46670 						else
46671 						{
46672 							n = makeRoleSpec(ROLESPEC_CSTRING, (yylsp[0]));
46673 							n->rolename = pstrdup((yyvsp[0].str));
46674 						}
46675 						(yyval.rolespec) = n;
46676 					}
46677 #line 46678 "gram.c" /* yacc.c:1652  */
46678     break;
46679 
46680   case 2257:
46681 #line 15316 "gram.y" /* yacc.c:1652  */
46682     {
46683 						(yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_ROLE, (yylsp[0]));
46684 					}
46685 #line 46686 "gram.c" /* yacc.c:1652  */
46686     break;
46687 
46688   case 2258:
46689 #line 15320 "gram.y" /* yacc.c:1652  */
46690     {
46691 						(yyval.rolespec) = makeRoleSpec(ROLESPEC_CURRENT_USER, (yylsp[0]));
46692 					}
46693 #line 46694 "gram.c" /* yacc.c:1652  */
46694     break;
46695 
46696   case 2259:
46697 #line 15324 "gram.y" /* yacc.c:1652  */
46698     {
46699 						(yyval.rolespec) = makeRoleSpec(ROLESPEC_SESSION_USER, (yylsp[0]));
46700 					}
46701 #line 46702 "gram.c" /* yacc.c:1652  */
46702     break;
46703 
46704   case 2260:
46705 #line 15330 "gram.y" /* yacc.c:1652  */
46706     { (yyval.list) = list_make1((yyvsp[0].rolespec)); }
46707 #line 46708 "gram.c" /* yacc.c:1652  */
46708     break;
46709 
46710   case 2261:
46711 #line 15332 "gram.y" /* yacc.c:1652  */
46712     { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].rolespec)); }
46713 #line 46714 "gram.c" /* yacc.c:1652  */
46714     break;
46715 
46716   case 2262:
46717 #line 15349 "gram.y" /* yacc.c:1652  */
46718     {
46719 					SelectStmt *n = makeNode(SelectStmt);
46720 
46721 					n->distinctClause = (yyvsp[-9].list);
46722 					n->targetList = (yyvsp[-8].list);
46723 					n->fromClause = (yyvsp[-7].list);
46724 					n->whereClause = (yyvsp[-6].node);
46725 					n->groupClause = ((yyvsp[-5].groupclause))->list;
46726 					n->groupDistinct = ((yyvsp[-5].groupclause))->distinct;
46727 					n->havingClause = (yyvsp[-4].node);
46728 					n->windowClause = (yyvsp[-3].list);
46729 					n->sortClause = (yyvsp[-2].list);
46730 					if ((yyvsp[-1].selectlimit))
46731 					{
46732 						n->limitOffset = (yyvsp[-1].selectlimit)->limitOffset;
46733 						n->limitCount = (yyvsp[-1].selectlimit)->limitCount;
46734 						if (!n->sortClause &&
46735 							(yyvsp[-1].selectlimit)->limitOption == LIMIT_OPTION_WITH_TIES)
46736 							ereport(ERROR,
46737 									(errcode(ERRCODE_SYNTAX_ERROR),
46738 									 errmsg("WITH TIES cannot be specified without ORDER BY clause")));
46739 						n->limitOption = (yyvsp[-1].selectlimit)->limitOption;
46740 					}
46741 					n->lockingClause = (yyvsp[0].list);
46742 					(yyval.node) = (Node *) n;
46743 				}
46744 #line 46745 "gram.c" /* yacc.c:1652  */
46745     break;
46746 
46747   case 2263:
46748 #line 15382 "gram.y" /* yacc.c:1652  */
46749     {
46750 					PLAssignStmt *n = makeNode(PLAssignStmt);
46751 
46752 					n->name = (yyvsp[-3].str);
46753 					n->indirection = check_indirection((yyvsp[-2].list), yyscanner);
46754 					/* nnames will be filled by calling production */
46755 					n->val = (SelectStmt *) (yyvsp[0].node);
46756 					n->location = (yylsp[-3]);
46757 					(yyval.node) = (Node *) n;
46758 				}
46759 #line 46760 "gram.c" /* yacc.c:1652  */
46760     break;
46761 
46762   case 2264:
46763 #line 15394 "gram.y" /* yacc.c:1652  */
46764     { (yyval.str) = (yyvsp[0].str); }
46765 #line 46766 "gram.c" /* yacc.c:1652  */
46766     break;
46767 
46768   case 2265:
46769 #line 15395 "gram.y" /* yacc.c:1652  */
46770     { (yyval.str) = psprintf("$%d", (yyvsp[0].ival)); }
46771 #line 46772 "gram.c" /* yacc.c:1652  */
46772     break;
46773 
46774   case 2268:
46775 #line 15416 "gram.y" /* yacc.c:1652  */
46776     { (yyval.str) = (yyvsp[0].str); }
46777 #line 46778 "gram.c" /* yacc.c:1652  */
46778     break;
46779 
46780   case 2269:
46781 #line 15417 "gram.y" /* yacc.c:1652  */
46782     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46783 #line 46784 "gram.c" /* yacc.c:1652  */
46784     break;
46785 
46786   case 2270:
46787 #line 15418 "gram.y" /* yacc.c:1652  */
46788     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46789 #line 46790 "gram.c" /* yacc.c:1652  */
46790     break;
46791 
46792   case 2271:
46793 #line 15423 "gram.y" /* yacc.c:1652  */
46794     { (yyval.str) = (yyvsp[0].str); }
46795 #line 46796 "gram.c" /* yacc.c:1652  */
46796     break;
46797 
46798   case 2272:
46799 #line 15424 "gram.y" /* yacc.c:1652  */
46800     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46801 #line 46802 "gram.c" /* yacc.c:1652  */
46802     break;
46803 
46804   case 2273:
46805 #line 15425 "gram.y" /* yacc.c:1652  */
46806     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46807 #line 46808 "gram.c" /* yacc.c:1652  */
46808     break;
46809 
46810   case 2274:
46811 #line 15430 "gram.y" /* yacc.c:1652  */
46812     { (yyval.str) = (yyvsp[0].str); }
46813 #line 46814 "gram.c" /* yacc.c:1652  */
46814     break;
46815 
46816   case 2275:
46817 #line 15431 "gram.y" /* yacc.c:1652  */
46818     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46819 #line 46820 "gram.c" /* yacc.c:1652  */
46820     break;
46821 
46822   case 2276:
46823 #line 15432 "gram.y" /* yacc.c:1652  */
46824     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46825 #line 46826 "gram.c" /* yacc.c:1652  */
46826     break;
46827 
46828   case 2277:
46829 #line 15433 "gram.y" /* yacc.c:1652  */
46830     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46831 #line 46832 "gram.c" /* yacc.c:1652  */
46832     break;
46833 
46834   case 2278:
46835 #line 15439 "gram.y" /* yacc.c:1652  */
46836     { (yyval.str) = (yyvsp[0].str); }
46837 #line 46838 "gram.c" /* yacc.c:1652  */
46838     break;
46839 
46840   case 2279:
46841 #line 15440 "gram.y" /* yacc.c:1652  */
46842     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46843 #line 46844 "gram.c" /* yacc.c:1652  */
46844     break;
46845 
46846   case 2280:
46847 #line 15441 "gram.y" /* yacc.c:1652  */
46848     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46849 #line 46850 "gram.c" /* yacc.c:1652  */
46850     break;
46851 
46852   case 2281:
46853 #line 15442 "gram.y" /* yacc.c:1652  */
46854     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46855 #line 46856 "gram.c" /* yacc.c:1652  */
46856     break;
46857 
46858   case 2282:
46859 #line 15443 "gram.y" /* yacc.c:1652  */
46860     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46861 #line 46862 "gram.c" /* yacc.c:1652  */
46862     break;
46863 
46864   case 2283:
46865 #line 15449 "gram.y" /* yacc.c:1652  */
46866     { (yyval.str) = (yyvsp[0].str); }
46867 #line 46868 "gram.c" /* yacc.c:1652  */
46868     break;
46869 
46870   case 2284:
46871 #line 15450 "gram.y" /* yacc.c:1652  */
46872     { (yyval.str) = pstrdup((yyvsp[0].keyword)); }
46873 #line 46874 "gram.c" /* yacc.c:1652  */
46874     break;
46875 
46876 
46877 #line 46878 "gram.c" /* yacc.c:1652  */
46878       default: break;
46879     }
46880   /* User semantic actions sometimes alter yychar, and that requires
46881      that yytoken be updated with the new translation.  We take the
46882      approach of translating immediately before every use of yytoken.
46883      One alternative is translating here after every semantic action,
46884      but that translation would be missed if the semantic action invokes
46885      YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
46886      if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
46887      incorrect destructor might then be invoked immediately.  In the
46888      case of YYERROR or YYBACKUP, subsequent parser actions might lead
46889      to an incorrect destructor call or verbose syntax error message
46890      before the lookahead is translated.  */
46891   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
46892 
46893   YYPOPSTACK (yylen);
46894   yylen = 0;
46895   YY_STACK_PRINT (yyss, yyssp);
46896 
46897   *++yyvsp = yyval;
46898   *++yylsp = yyloc;
46899 
46900   /* Now 'shift' the result of the reduction.  Determine what state
46901      that goes to, based on the state we popped back to and the rule
46902      number reduced by.  */
46903   {
46904     const int yylhs = yyr1[yyn] - YYNTOKENS;
46905     const int yyi = yypgoto[yylhs] + *yyssp;
46906     yystate = (0 <= yyi && yyi <= YYLAST && yycheck[yyi] == *yyssp
46907                ? yytable[yyi]
46908                : yydefgoto[yylhs]);
46909   }
46910 
46911   goto yynewstate;
46912 
46913 
46914 /*--------------------------------------.
46915 | yyerrlab -- here on detecting error.  |
46916 `--------------------------------------*/
46917 yyerrlab:
46918   /* Make sure we have latest lookahead translation.  See comments at
46919      user semantic actions for why this is necessary.  */
46920   yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
46921 
46922   /* If not already recovering from an error, report this error.  */
46923   if (!yyerrstatus)
46924     {
46925       ++yynerrs;
46926 #if ! YYERROR_VERBOSE
46927       yyerror (&yylloc, yyscanner, YY_("syntax error"));
46928 #else
46929 # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
46930                                         yyssp, yytoken)
46931       {
46932         char const *yymsgp = YY_("syntax error");
46933         int yysyntax_error_status;
46934         yysyntax_error_status = YYSYNTAX_ERROR;
46935         if (yysyntax_error_status == 0)
46936           yymsgp = yymsg;
46937         else if (yysyntax_error_status == 1)
46938           {
46939             if (yymsg != yymsgbuf)
46940               YYSTACK_FREE (yymsg);
46941             yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
46942             if (!yymsg)
46943               {
46944                 yymsg = yymsgbuf;
46945                 yymsg_alloc = sizeof yymsgbuf;
46946                 yysyntax_error_status = 2;
46947               }
46948             else
46949               {
46950                 yysyntax_error_status = YYSYNTAX_ERROR;
46951                 yymsgp = yymsg;
46952               }
46953           }
46954         yyerror (&yylloc, yyscanner, yymsgp);
46955         if (yysyntax_error_status == 2)
46956           goto yyexhaustedlab;
46957       }
46958 # undef YYSYNTAX_ERROR
46959 #endif
46960     }
46961 
46962   yyerror_range[1] = yylloc;
46963 
46964   if (yyerrstatus == 3)
46965     {
46966       /* If just tried and failed to reuse lookahead token after an
46967          error, discard it.  */
46968 
46969       if (yychar <= YYEOF)
46970         {
46971           /* Return failure if at end of input.  */
46972           if (yychar == YYEOF)
46973             YYABORT;
46974         }
46975       else
46976         {
46977           yydestruct ("Error: discarding",
46978                       yytoken, &yylval, &yylloc, yyscanner);
46979           yychar = YYEMPTY;
46980         }
46981     }
46982 
46983   /* Else will try to reuse lookahead token after shifting the error
46984      token.  */
46985   goto yyerrlab1;
46986 
46987 
46988 /*---------------------------------------------------.
46989 | yyerrorlab -- error raised explicitly by YYERROR.  |
46990 `---------------------------------------------------*/
46991 yyerrorlab:
46992   /* Pacify compilers when the user code never invokes YYERROR and the
46993      label yyerrorlab therefore never appears in user code.  */
46994   if (0)
46995     YYERROR;
46996 
46997   /* Do not reclaim the symbols of the rule whose action triggered
46998      this YYERROR.  */
46999   YYPOPSTACK (yylen);
47000   yylen = 0;
47001   YY_STACK_PRINT (yyss, yyssp);
47002   yystate = *yyssp;
47003   goto yyerrlab1;
47004 
47005 
47006 /*-------------------------------------------------------------.
47007 | yyerrlab1 -- common code for both syntax error and YYERROR.  |
47008 `-------------------------------------------------------------*/
47009 yyerrlab1:
47010   yyerrstatus = 3;      /* Each real token shifted decrements this.  */
47011 
47012   for (;;)
47013     {
47014       yyn = yypact[yystate];
47015       if (!yypact_value_is_default (yyn))
47016         {
47017           yyn += YYTERROR;
47018           if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
47019             {
47020               yyn = yytable[yyn];
47021               if (0 < yyn)
47022                 break;
47023             }
47024         }
47025 
47026       /* Pop the current state because it cannot handle the error token.  */
47027       if (yyssp == yyss)
47028         YYABORT;
47029 
47030       yyerror_range[1] = *yylsp;
47031       yydestruct ("Error: popping",
47032                   yystos[yystate], yyvsp, yylsp, yyscanner);
47033       YYPOPSTACK (1);
47034       yystate = *yyssp;
47035       YY_STACK_PRINT (yyss, yyssp);
47036     }
47037 
47038   YY_IGNORE_MAYBE_UNINITIALIZED_BEGIN
47039   *++yyvsp = yylval;
47040   YY_IGNORE_MAYBE_UNINITIALIZED_END
47041 
47042   yyerror_range[2] = yylloc;
47043   /* Using YYLLOC is tempting, but would change the location of
47044      the lookahead.  YYLOC is available though.  */
47045   YYLLOC_DEFAULT (yyloc, yyerror_range, 2);
47046   *++yylsp = yyloc;
47047 
47048   /* Shift the error token.  */
47049   YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
47050 
47051   yystate = yyn;
47052   goto yynewstate;
47053 
47054 
47055 /*-------------------------------------.
47056 | yyacceptlab -- YYACCEPT comes here.  |
47057 `-------------------------------------*/
47058 yyacceptlab:
47059   yyresult = 0;
47060   goto yyreturn;
47061 
47062 
47063 /*-----------------------------------.
47064 | yyabortlab -- YYABORT comes here.  |
47065 `-----------------------------------*/
47066 yyabortlab:
47067   yyresult = 1;
47068   goto yyreturn;
47069 
47070 
47071 #if !defined yyoverflow || YYERROR_VERBOSE
47072 /*-------------------------------------------------.
47073 | yyexhaustedlab -- memory exhaustion comes here.  |
47074 `-------------------------------------------------*/
47075 yyexhaustedlab:
47076   yyerror (&yylloc, yyscanner, YY_("memory exhausted"));
47077   yyresult = 2;
47078   /* Fall through.  */
47079 #endif
47080 
47081 
47082 /*-----------------------------------------------------.
47083 | yyreturn -- parsing is finished, return the result.  |
47084 `-----------------------------------------------------*/
47085 yyreturn:
47086   if (yychar != YYEMPTY)
47087     {
47088       /* Make sure we have latest lookahead translation.  See comments at
47089          user semantic actions for why this is necessary.  */
47090       yytoken = YYTRANSLATE (yychar);
47091       yydestruct ("Cleanup: discarding lookahead",
47092                   yytoken, &yylval, &yylloc, yyscanner);
47093     }
47094   /* Do not reclaim the symbols of the rule whose action triggered
47095      this YYABORT or YYACCEPT.  */
47096   YYPOPSTACK (yylen);
47097   YY_STACK_PRINT (yyss, yyssp);
47098   while (yyssp != yyss)
47099     {
47100       yydestruct ("Cleanup: popping",
47101                   yystos[*yyssp], yyvsp, yylsp, yyscanner);
47102       YYPOPSTACK (1);
47103     }
47104 #ifndef yyoverflow
47105   if (yyss != yyssa)
47106     YYSTACK_FREE (yyss);
47107 #endif
47108 #if YYERROR_VERBOSE
47109   if (yymsg != yymsgbuf)
47110     YYSTACK_FREE (yymsg);
47111 #endif
47112   return yyresult;
47113 }
47114 #line 16394 "gram.y" /* yacc.c:1918  */
47115 
47116 
47117 /*
47118  * The signature of this function is required by bison.  However, we
47119  * ignore the passed yylloc and instead use the last token position
47120  * available from the scanner.
47121  */
47122 static void
base_yyerror(YYLTYPE * yylloc,core_yyscan_t yyscanner,const char * msg)47123 base_yyerror(YYLTYPE *yylloc, core_yyscan_t yyscanner, const char *msg)
47124 {
47125 	parser_yyerror(msg);
47126 }
47127 
47128 static RawStmt *
makeRawStmt(Node * stmt,int stmt_location)47129 makeRawStmt(Node *stmt, int stmt_location)
47130 {
47131 	RawStmt    *rs = makeNode(RawStmt);
47132 
47133 	rs->stmt = stmt;
47134 	rs->stmt_location = stmt_location;
47135 	rs->stmt_len = 0;			/* might get changed later */
47136 	return rs;
47137 }
47138 
47139 /* Adjust a RawStmt to reflect that it doesn't run to the end of the string */
47140 static void
updateRawStmtEnd(RawStmt * rs,int end_location)47141 updateRawStmtEnd(RawStmt *rs, int end_location)
47142 {
47143 	/*
47144 	 * If we already set the length, don't change it.  This is for situations
47145 	 * like "select foo ;; select bar" where the same statement will be last
47146 	 * in the string for more than one semicolon.
47147 	 */
47148 	if (rs->stmt_len > 0)
47149 		return;
47150 
47151 	/* OK, update length of RawStmt */
47152 	rs->stmt_len = end_location - rs->stmt_location;
47153 }
47154 
47155 static Node *
makeColumnRef(char * colname,List * indirection,int location,core_yyscan_t yyscanner)47156 makeColumnRef(char *colname, List *indirection,
47157 			  int location, core_yyscan_t yyscanner)
47158 {
47159 	/*
47160 	 * Generate a ColumnRef node, with an A_Indirection node added if there
47161 	 * is any subscripting in the specified indirection list.  However,
47162 	 * any field selection at the start of the indirection list must be
47163 	 * transposed into the "fields" part of the ColumnRef node.
47164 	 */
47165 	ColumnRef  *c = makeNode(ColumnRef);
47166 	int		nfields = 0;
47167 	ListCell *l;
47168 
47169 	c->location = location;
47170 	foreach(l, indirection)
47171 	{
47172 		if (IsA(lfirst(l), A_Indices))
47173 		{
47174 			A_Indirection *i = makeNode(A_Indirection);
47175 
47176 			if (nfields == 0)
47177 			{
47178 				/* easy case - all indirection goes to A_Indirection */
47179 				c->fields = list_make1(makeString(colname));
47180 				i->indirection = check_indirection(indirection, yyscanner);
47181 			}
47182 			else
47183 			{
47184 				/* got to split the list in two */
47185 				i->indirection = check_indirection(list_copy_tail(indirection,
47186 																  nfields),
47187 												   yyscanner);
47188 				indirection = list_truncate(indirection, nfields);
47189 				c->fields = lcons(makeString(colname), indirection);
47190 			}
47191 			i->arg = (Node *) c;
47192 			return (Node *) i;
47193 		}
47194 		else if (IsA(lfirst(l), A_Star))
47195 		{
47196 			/* We only allow '*' at the end of a ColumnRef */
47197 			if (lnext(indirection, l) != NULL)
47198 				parser_yyerror("improper use of \"*\"");
47199 		}
47200 		nfields++;
47201 	}
47202 	/* No subscripting, so all indirection gets added to field list */
47203 	c->fields = lcons(makeString(colname), indirection);
47204 	return (Node *) c;
47205 }
47206 
47207 static Node *
makeTypeCast(Node * arg,TypeName * typename,int location)47208 makeTypeCast(Node *arg, TypeName *typename, int location)
47209 {
47210 	TypeCast *n = makeNode(TypeCast);
47211 	n->arg = arg;
47212 	n->typeName = typename;
47213 	n->location = location;
47214 	return (Node *) n;
47215 }
47216 
47217 static Node *
makeStringConst(char * str,int location)47218 makeStringConst(char *str, int location)
47219 {
47220 	A_Const *n = makeNode(A_Const);
47221 
47222 	n->val.type = T_String;
47223 	n->val.val.str = str;
47224 	n->location = location;
47225 
47226 	return (Node *)n;
47227 }
47228 
47229 static Node *
makeStringConstCast(char * str,int location,TypeName * typename)47230 makeStringConstCast(char *str, int location, TypeName *typename)
47231 {
47232 	Node *s = makeStringConst(str, location);
47233 
47234 	return makeTypeCast(s, typename, -1);
47235 }
47236 
47237 static Node *
makeIntConst(int val,int location)47238 makeIntConst(int val, int location)
47239 {
47240 	A_Const *n = makeNode(A_Const);
47241 
47242 	n->val.type = T_Integer;
47243 	n->val.val.ival = val;
47244 	n->location = location;
47245 
47246 	return (Node *)n;
47247 }
47248 
47249 static Node *
makeFloatConst(char * str,int location)47250 makeFloatConst(char *str, int location)
47251 {
47252 	A_Const *n = makeNode(A_Const);
47253 
47254 	n->val.type = T_Float;
47255 	n->val.val.str = str;
47256 	n->location = location;
47257 
47258 	return (Node *)n;
47259 }
47260 
47261 static Node *
makeBitStringConst(char * str,int location)47262 makeBitStringConst(char *str, int location)
47263 {
47264 	A_Const *n = makeNode(A_Const);
47265 
47266 	n->val.type = T_BitString;
47267 	n->val.val.str = str;
47268 	n->location = location;
47269 
47270 	return (Node *)n;
47271 }
47272 
47273 static Node *
makeNullAConst(int location)47274 makeNullAConst(int location)
47275 {
47276 	A_Const *n = makeNode(A_Const);
47277 
47278 	n->val.type = T_Null;
47279 	n->location = location;
47280 
47281 	return (Node *)n;
47282 }
47283 
47284 static Node *
makeAConst(Value * v,int location)47285 makeAConst(Value *v, int location)
47286 {
47287 	Node *n;
47288 
47289 	switch (v->type)
47290 	{
47291 		case T_Float:
47292 			n = makeFloatConst(v->val.str, location);
47293 			break;
47294 
47295 		case T_Integer:
47296 			n = makeIntConst(v->val.ival, location);
47297 			break;
47298 
47299 		case T_String:
47300 		default:
47301 			n = makeStringConst(v->val.str, location);
47302 			break;
47303 	}
47304 
47305 	return n;
47306 }
47307 
47308 /* makeBoolAConst()
47309  * Create an A_Const string node and put it inside a boolean cast.
47310  */
47311 static Node *
makeBoolAConst(bool state,int location)47312 makeBoolAConst(bool state, int location)
47313 {
47314 	A_Const *n = makeNode(A_Const);
47315 
47316 	n->val.type = T_String;
47317 	n->val.val.str = (state ? "t" : "f");
47318 	n->location = location;
47319 
47320 	return makeTypeCast((Node *)n, SystemTypeName("bool"), -1);
47321 }
47322 
47323 /* makeRoleSpec
47324  * Create a RoleSpec with the given type
47325  */
47326 static RoleSpec *
makeRoleSpec(RoleSpecType type,int location)47327 makeRoleSpec(RoleSpecType type, int location)
47328 {
47329 	RoleSpec *spec = makeNode(RoleSpec);
47330 
47331 	spec->roletype = type;
47332 	spec->location = location;
47333 
47334 	return spec;
47335 }
47336 
47337 /* check_qualified_name --- check the result of qualified_name production
47338  *
47339  * It's easiest to let the grammar production for qualified_name allow
47340  * subscripts and '*', which we then must reject here.
47341  */
47342 static void
check_qualified_name(List * names,core_yyscan_t yyscanner)47343 check_qualified_name(List *names, core_yyscan_t yyscanner)
47344 {
47345 	ListCell   *i;
47346 
47347 	foreach(i, names)
47348 	{
47349 		if (!IsA(lfirst(i), String))
47350 			parser_yyerror("syntax error");
47351 	}
47352 }
47353 
47354 /* check_func_name --- check the result of func_name production
47355  *
47356  * It's easiest to let the grammar production for func_name allow subscripts
47357  * and '*', which we then must reject here.
47358  */
47359 static List *
check_func_name(List * names,core_yyscan_t yyscanner)47360 check_func_name(List *names, core_yyscan_t yyscanner)
47361 {
47362 	ListCell   *i;
47363 
47364 	foreach(i, names)
47365 	{
47366 		if (!IsA(lfirst(i), String))
47367 			parser_yyerror("syntax error");
47368 	}
47369 	return names;
47370 }
47371 
47372 /* check_indirection --- check the result of indirection production
47373  *
47374  * We only allow '*' at the end of the list, but it's hard to enforce that
47375  * in the grammar, so do it here.
47376  */
47377 static List *
check_indirection(List * indirection,core_yyscan_t yyscanner)47378 check_indirection(List *indirection, core_yyscan_t yyscanner)
47379 {
47380 	ListCell *l;
47381 
47382 	foreach(l, indirection)
47383 	{
47384 		if (IsA(lfirst(l), A_Star))
47385 		{
47386 			if (lnext(indirection, l) != NULL)
47387 				parser_yyerror("improper use of \"*\"");
47388 		}
47389 	}
47390 	return indirection;
47391 }
47392 
47393 /* extractArgTypes()
47394  * Given a list of FunctionParameter nodes, extract a list of just the
47395  * argument types (TypeNames) for input parameters only.  This is what
47396  * is needed to look up an existing function, which is what is wanted by
47397  * the productions that use this call.
47398  */
47399 static List *
extractArgTypes(List * parameters)47400 extractArgTypes(List *parameters)
47401 {
47402 	List	   *result = NIL;
47403 	ListCell   *i;
47404 
47405 	foreach(i, parameters)
47406 	{
47407 		FunctionParameter *p = (FunctionParameter *) lfirst(i);
47408 
47409 		if (p->mode != FUNC_PARAM_OUT && p->mode != FUNC_PARAM_TABLE)
47410 			result = lappend(result, p->argType);
47411 	}
47412 	return result;
47413 }
47414 
47415 /* extractAggrArgTypes()
47416  * As above, but work from the output of the aggr_args production.
47417  */
47418 static List *
extractAggrArgTypes(List * aggrargs)47419 extractAggrArgTypes(List *aggrargs)
47420 {
47421 	Assert(list_length(aggrargs) == 2);
47422 	return extractArgTypes((List *) linitial(aggrargs));
47423 }
47424 
47425 /* makeOrderedSetArgs()
47426  * Build the result of the aggr_args production (which see the comments for).
47427  * This handles only the case where both given lists are nonempty, so that
47428  * we have to deal with multiple VARIADIC arguments.
47429  */
47430 static List *
makeOrderedSetArgs(List * directargs,List * orderedargs,core_yyscan_t yyscanner)47431 makeOrderedSetArgs(List *directargs, List *orderedargs,
47432 				   core_yyscan_t yyscanner)
47433 {
47434 	FunctionParameter *lastd = (FunctionParameter *) llast(directargs);
47435 	Value	   *ndirectargs;
47436 
47437 	/* No restriction unless last direct arg is VARIADIC */
47438 	if (lastd->mode == FUNC_PARAM_VARIADIC)
47439 	{
47440 		FunctionParameter *firsto = (FunctionParameter *) linitial(orderedargs);
47441 
47442 		/*
47443 		 * We ignore the names, though the aggr_arg production allows them;
47444 		 * it doesn't allow default values, so those need not be checked.
47445 		 */
47446 		if (list_length(orderedargs) != 1 ||
47447 			firsto->mode != FUNC_PARAM_VARIADIC ||
47448 			!equal(lastd->argType, firsto->argType))
47449 			ereport(ERROR,
47450 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
47451 					 errmsg("an ordered-set aggregate with a VARIADIC direct argument must have one VARIADIC aggregated argument of the same data type"),
47452 					 parser_errposition(exprLocation((Node *) firsto))));
47453 
47454 		/* OK, drop the duplicate VARIADIC argument from the internal form */
47455 		orderedargs = NIL;
47456 	}
47457 
47458 	/* don't merge into the next line, as list_concat changes directargs */
47459 	ndirectargs = makeInteger(list_length(directargs));
47460 
47461 	return list_make2(list_concat(directargs, orderedargs),
47462 					  ndirectargs);
47463 }
47464 
47465 /* insertSelectOptions()
47466  * Insert ORDER BY, etc into an already-constructed SelectStmt.
47467  *
47468  * This routine is just to avoid duplicating code in SelectStmt productions.
47469  */
47470 static void
insertSelectOptions(SelectStmt * stmt,List * sortClause,List * lockingClause,SelectLimit * limitClause,WithClause * withClause,core_yyscan_t yyscanner)47471 insertSelectOptions(SelectStmt *stmt,
47472 					List *sortClause, List *lockingClause,
47473 					SelectLimit *limitClause,
47474 					WithClause *withClause,
47475 					core_yyscan_t yyscanner)
47476 {
47477 	Assert(IsA(stmt, SelectStmt));
47478 
47479 	/*
47480 	 * Tests here are to reject constructs like
47481 	 *	(SELECT foo ORDER BY bar) ORDER BY baz
47482 	 */
47483 	if (sortClause)
47484 	{
47485 		if (stmt->sortClause)
47486 			ereport(ERROR,
47487 					(errcode(ERRCODE_SYNTAX_ERROR),
47488 					 errmsg("multiple ORDER BY clauses not allowed"),
47489 					 parser_errposition(exprLocation((Node *) sortClause))));
47490 		stmt->sortClause = sortClause;
47491 	}
47492 	/* We can handle multiple locking clauses, though */
47493 	stmt->lockingClause = list_concat(stmt->lockingClause, lockingClause);
47494 	if (limitClause && limitClause->limitOffset)
47495 	{
47496 		if (stmt->limitOffset)
47497 			ereport(ERROR,
47498 					(errcode(ERRCODE_SYNTAX_ERROR),
47499 					 errmsg("multiple OFFSET clauses not allowed"),
47500 					 parser_errposition(exprLocation(limitClause->limitOffset))));
47501 		stmt->limitOffset = limitClause->limitOffset;
47502 	}
47503 	if (limitClause && limitClause->limitCount)
47504 	{
47505 		if (stmt->limitCount)
47506 			ereport(ERROR,
47507 					(errcode(ERRCODE_SYNTAX_ERROR),
47508 					 errmsg("multiple LIMIT clauses not allowed"),
47509 					 parser_errposition(exprLocation(limitClause->limitCount))));
47510 		stmt->limitCount = limitClause->limitCount;
47511 	}
47512 	if (limitClause && limitClause->limitOption != LIMIT_OPTION_DEFAULT)
47513 	{
47514 		if (stmt->limitOption)
47515 			ereport(ERROR,
47516 					(errcode(ERRCODE_SYNTAX_ERROR),
47517 					 errmsg("multiple limit options not allowed")));
47518 		if (!stmt->sortClause && limitClause->limitOption == LIMIT_OPTION_WITH_TIES)
47519 			ereport(ERROR,
47520 					(errcode(ERRCODE_SYNTAX_ERROR),
47521 					 errmsg("WITH TIES cannot be specified without ORDER BY clause")));
47522 		if (limitClause->limitOption == LIMIT_OPTION_WITH_TIES && stmt->lockingClause)
47523 		{
47524 			ListCell   *lc;
47525 
47526 			foreach(lc, stmt->lockingClause)
47527 			{
47528 				LockingClause *lock = lfirst_node(LockingClause, lc);
47529 
47530 				if (lock->waitPolicy == LockWaitSkip)
47531 					ereport(ERROR,
47532 							(errcode(ERRCODE_SYNTAX_ERROR),
47533 							 errmsg("%s and %s options cannot be used together",
47534 									"SKIP LOCKED", "WITH TIES")));
47535 			}
47536 		}
47537 		stmt->limitOption = limitClause->limitOption;
47538 	}
47539 	if (withClause)
47540 	{
47541 		if (stmt->withClause)
47542 			ereport(ERROR,
47543 					(errcode(ERRCODE_SYNTAX_ERROR),
47544 					 errmsg("multiple WITH clauses not allowed"),
47545 					 parser_errposition(exprLocation((Node *) withClause))));
47546 		stmt->withClause = withClause;
47547 	}
47548 }
47549 
47550 static Node *
makeSetOp(SetOperation op,bool all,Node * larg,Node * rarg)47551 makeSetOp(SetOperation op, bool all, Node *larg, Node *rarg)
47552 {
47553 	SelectStmt *n = makeNode(SelectStmt);
47554 
47555 	n->op = op;
47556 	n->all = all;
47557 	n->larg = (SelectStmt *) larg;
47558 	n->rarg = (SelectStmt *) rarg;
47559 	return (Node *) n;
47560 }
47561 
47562 /* SystemFuncName()
47563  * Build a properly-qualified reference to a built-in function.
47564  */
47565 List *
SystemFuncName(char * name)47566 SystemFuncName(char *name)
47567 {
47568 	return list_make2(makeString("pg_catalog"), makeString(name));
47569 }
47570 
47571 /* SystemTypeName()
47572  * Build a properly-qualified reference to a built-in type.
47573  *
47574  * typmod is defaulted, but may be changed afterwards by caller.
47575  * Likewise for the location.
47576  */
47577 TypeName *
SystemTypeName(char * name)47578 SystemTypeName(char *name)
47579 {
47580 	return makeTypeNameFromNameList(list_make2(makeString("pg_catalog"),
47581 											   makeString(name)));
47582 }
47583 
47584 /* doNegate()
47585  * Handle negation of a numeric constant.
47586  *
47587  * Formerly, we did this here because the optimizer couldn't cope with
47588  * indexquals that looked like "var = -4" --- it wants "var = const"
47589  * and a unary minus operator applied to a constant didn't qualify.
47590  * As of Postgres 7.0, that problem doesn't exist anymore because there
47591  * is a constant-subexpression simplifier in the optimizer.  However,
47592  * there's still a good reason for doing this here, which is that we can
47593  * postpone committing to a particular internal representation for simple
47594  * negative constants.	It's better to leave "-123.456" in string form
47595  * until we know what the desired type is.
47596  */
47597 static Node *
doNegate(Node * n,int location)47598 doNegate(Node *n, int location)
47599 {
47600 	if (IsA(n, A_Const))
47601 	{
47602 		A_Const *con = (A_Const *)n;
47603 
47604 		/* report the constant's location as that of the '-' sign */
47605 		con->location = location;
47606 
47607 		if (con->val.type == T_Integer)
47608 		{
47609 			con->val.val.ival = -con->val.val.ival;
47610 			return n;
47611 		}
47612 		if (con->val.type == T_Float)
47613 		{
47614 			doNegateFloat(&con->val);
47615 			return n;
47616 		}
47617 	}
47618 
47619 	return (Node *) makeSimpleA_Expr(AEXPR_OP, "-", NULL, n, location);
47620 }
47621 
47622 static void
doNegateFloat(Value * v)47623 doNegateFloat(Value *v)
47624 {
47625 	char   *oldval = v->val.str;
47626 
47627 	Assert(IsA(v, Float));
47628 	if (*oldval == '+')
47629 		oldval++;
47630 	if (*oldval == '-')
47631 		v->val.str = oldval+1;	/* just strip the '-' */
47632 	else
47633 		v->val.str = psprintf("-%s", oldval);
47634 }
47635 
47636 static Node *
makeAndExpr(Node * lexpr,Node * rexpr,int location)47637 makeAndExpr(Node *lexpr, Node *rexpr, int location)
47638 {
47639 	/* Flatten "a AND b AND c ..." to a single BoolExpr on sight */
47640 	if (IsA(lexpr, BoolExpr))
47641 	{
47642 		BoolExpr *blexpr = (BoolExpr *) lexpr;
47643 
47644 		if (blexpr->boolop == AND_EXPR)
47645 		{
47646 			blexpr->args = lappend(blexpr->args, rexpr);
47647 			return (Node *) blexpr;
47648 		}
47649 	}
47650 	return (Node *) makeBoolExpr(AND_EXPR, list_make2(lexpr, rexpr), location);
47651 }
47652 
47653 static Node *
makeOrExpr(Node * lexpr,Node * rexpr,int location)47654 makeOrExpr(Node *lexpr, Node *rexpr, int location)
47655 {
47656 	/* Flatten "a OR b OR c ..." to a single BoolExpr on sight */
47657 	if (IsA(lexpr, BoolExpr))
47658 	{
47659 		BoolExpr *blexpr = (BoolExpr *) lexpr;
47660 
47661 		if (blexpr->boolop == OR_EXPR)
47662 		{
47663 			blexpr->args = lappend(blexpr->args, rexpr);
47664 			return (Node *) blexpr;
47665 		}
47666 	}
47667 	return (Node *) makeBoolExpr(OR_EXPR, list_make2(lexpr, rexpr), location);
47668 }
47669 
47670 static Node *
makeNotExpr(Node * expr,int location)47671 makeNotExpr(Node *expr, int location)
47672 {
47673 	return (Node *) makeBoolExpr(NOT_EXPR, list_make1(expr), location);
47674 }
47675 
47676 static Node *
makeAArrayExpr(List * elements,int location)47677 makeAArrayExpr(List *elements, int location)
47678 {
47679 	A_ArrayExpr *n = makeNode(A_ArrayExpr);
47680 
47681 	n->elements = elements;
47682 	n->location = location;
47683 	return (Node *) n;
47684 }
47685 
47686 static Node *
makeSQLValueFunction(SQLValueFunctionOp op,int32 typmod,int location)47687 makeSQLValueFunction(SQLValueFunctionOp op, int32 typmod, int location)
47688 {
47689 	SQLValueFunction *svf = makeNode(SQLValueFunction);
47690 
47691 	svf->op = op;
47692 	/* svf->type will be filled during parse analysis */
47693 	svf->typmod = typmod;
47694 	svf->location = location;
47695 	return (Node *) svf;
47696 }
47697 
47698 static Node *
makeXmlExpr(XmlExprOp op,char * name,List * named_args,List * args,int location)47699 makeXmlExpr(XmlExprOp op, char *name, List *named_args, List *args,
47700 			int location)
47701 {
47702 	XmlExpr		*x = makeNode(XmlExpr);
47703 
47704 	x->op = op;
47705 	x->name = name;
47706 	/*
47707 	 * named_args is a list of ResTarget; it'll be split apart into separate
47708 	 * expression and name lists in transformXmlExpr().
47709 	 */
47710 	x->named_args = named_args;
47711 	x->arg_names = NIL;
47712 	x->args = args;
47713 	/* xmloption, if relevant, must be filled in by caller */
47714 	/* type and typmod will be filled in during parse analysis */
47715 	x->type = InvalidOid;			/* marks the node as not analyzed */
47716 	x->location = location;
47717 	return (Node *) x;
47718 }
47719 
47720 /*
47721  * Merge the input and output parameters of a table function.
47722  */
47723 static List *
mergeTableFuncParameters(List * func_args,List * columns)47724 mergeTableFuncParameters(List *func_args, List *columns)
47725 {
47726 	ListCell   *lc;
47727 
47728 	/* Explicit OUT and INOUT parameters shouldn't be used in this syntax */
47729 	foreach(lc, func_args)
47730 	{
47731 		FunctionParameter *p = (FunctionParameter *) lfirst(lc);
47732 
47733 		if (p->mode != FUNC_PARAM_DEFAULT &&
47734 			p->mode != FUNC_PARAM_IN &&
47735 			p->mode != FUNC_PARAM_VARIADIC)
47736 			ereport(ERROR,
47737 					(errcode(ERRCODE_SYNTAX_ERROR),
47738 					 errmsg("OUT and INOUT arguments aren't allowed in TABLE functions")));
47739 	}
47740 
47741 	return list_concat(func_args, columns);
47742 }
47743 
47744 /*
47745  * Determine return type of a TABLE function.  A single result column
47746  * returns setof that column's type; otherwise return setof record.
47747  */
47748 static TypeName *
TableFuncTypeName(List * columns)47749 TableFuncTypeName(List *columns)
47750 {
47751 	TypeName *result;
47752 
47753 	if (list_length(columns) == 1)
47754 	{
47755 		FunctionParameter *p = (FunctionParameter *) linitial(columns);
47756 
47757 		result = copyObject(p->argType);
47758 	}
47759 	else
47760 		result = SystemTypeName("record");
47761 
47762 	result->setof = true;
47763 
47764 	return result;
47765 }
47766 
47767 /*
47768  * Convert a list of (dotted) names to a RangeVar (like
47769  * makeRangeVarFromNameList, but with position support).  The
47770  * "AnyName" refers to the any_name production in the grammar.
47771  */
47772 static RangeVar *
makeRangeVarFromAnyName(List * names,int position,core_yyscan_t yyscanner)47773 makeRangeVarFromAnyName(List *names, int position, core_yyscan_t yyscanner)
47774 {
47775 	RangeVar *r = makeNode(RangeVar);
47776 
47777 	switch (list_length(names))
47778 	{
47779 		case 1:
47780 			r->catalogname = NULL;
47781 			r->schemaname = NULL;
47782 			r->relname = strVal(linitial(names));
47783 			break;
47784 		case 2:
47785 			r->catalogname = NULL;
47786 			r->schemaname = strVal(linitial(names));
47787 			r->relname = strVal(lsecond(names));
47788 			break;
47789 		case 3:
47790 			r->catalogname = strVal(linitial(names));
47791 			r->schemaname = strVal(lsecond(names));
47792 			r->relname = strVal(lthird(names));
47793 			break;
47794 		default:
47795 			ereport(ERROR,
47796 					(errcode(ERRCODE_SYNTAX_ERROR),
47797 					 errmsg("improper qualified name (too many dotted names): %s",
47798 							NameListToString(names)),
47799 					 parser_errposition(position)));
47800 			break;
47801 	}
47802 
47803 	r->relpersistence = RELPERSISTENCE_PERMANENT;
47804 	r->location = position;
47805 
47806 	return r;
47807 }
47808 
47809 /* Separate Constraint nodes from COLLATE clauses in a ColQualList */
47810 static void
SplitColQualList(List * qualList,List ** constraintList,CollateClause ** collClause,core_yyscan_t yyscanner)47811 SplitColQualList(List *qualList,
47812 				 List **constraintList, CollateClause **collClause,
47813 				 core_yyscan_t yyscanner)
47814 {
47815 	ListCell   *cell;
47816 
47817 	*collClause = NULL;
47818 	foreach(cell, qualList)
47819 	{
47820 		Node   *n = (Node *) lfirst(cell);
47821 
47822 		if (IsA(n, Constraint))
47823 		{
47824 			/* keep it in list */
47825 			continue;
47826 		}
47827 		if (IsA(n, CollateClause))
47828 		{
47829 			CollateClause *c = (CollateClause *) n;
47830 
47831 			if (*collClause)
47832 				ereport(ERROR,
47833 						(errcode(ERRCODE_SYNTAX_ERROR),
47834 						 errmsg("multiple COLLATE clauses not allowed"),
47835 						 parser_errposition(c->location)));
47836 			*collClause = c;
47837 		}
47838 		else
47839 			elog(ERROR, "unexpected node type %d", (int) n->type);
47840 		/* remove non-Constraint nodes from qualList */
47841 		qualList = foreach_delete_current(qualList, cell);
47842 	}
47843 	*constraintList = qualList;
47844 }
47845 
47846 /*
47847  * Process result of ConstraintAttributeSpec, and set appropriate bool flags
47848  * in the output command node.  Pass NULL for any flags the particular
47849  * command doesn't support.
47850  */
47851 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)47852 processCASbits(int cas_bits, int location, const char *constrType,
47853 			   bool *deferrable, bool *initdeferred, bool *not_valid,
47854 			   bool *no_inherit, core_yyscan_t yyscanner)
47855 {
47856 	/* defaults */
47857 	if (deferrable)
47858 		*deferrable = false;
47859 	if (initdeferred)
47860 		*initdeferred = false;
47861 	if (not_valid)
47862 		*not_valid = false;
47863 
47864 	if (cas_bits & (CAS_DEFERRABLE | CAS_INITIALLY_DEFERRED))
47865 	{
47866 		if (deferrable)
47867 			*deferrable = true;
47868 		else
47869 			ereport(ERROR,
47870 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
47871 					 /* translator: %s is CHECK, UNIQUE, or similar */
47872 					 errmsg("%s constraints cannot be marked DEFERRABLE",
47873 							constrType),
47874 					 parser_errposition(location)));
47875 	}
47876 
47877 	if (cas_bits & CAS_INITIALLY_DEFERRED)
47878 	{
47879 		if (initdeferred)
47880 			*initdeferred = true;
47881 		else
47882 			ereport(ERROR,
47883 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
47884 					 /* translator: %s is CHECK, UNIQUE, or similar */
47885 					 errmsg("%s constraints cannot be marked DEFERRABLE",
47886 							constrType),
47887 					 parser_errposition(location)));
47888 	}
47889 
47890 	if (cas_bits & CAS_NOT_VALID)
47891 	{
47892 		if (not_valid)
47893 			*not_valid = true;
47894 		else
47895 			ereport(ERROR,
47896 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
47897 					 /* translator: %s is CHECK, UNIQUE, or similar */
47898 					 errmsg("%s constraints cannot be marked NOT VALID",
47899 							constrType),
47900 					 parser_errposition(location)));
47901 	}
47902 
47903 	if (cas_bits & CAS_NO_INHERIT)
47904 	{
47905 		if (no_inherit)
47906 			*no_inherit = true;
47907 		else
47908 			ereport(ERROR,
47909 					(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
47910 					 /* translator: %s is CHECK, UNIQUE, or similar */
47911 					 errmsg("%s constraints cannot be marked NO INHERIT",
47912 							constrType),
47913 					 parser_errposition(location)));
47914 	}
47915 }
47916 
47917 /*----------
47918  * Recursive view transformation
47919  *
47920  * Convert
47921  *
47922  *     CREATE RECURSIVE VIEW relname (aliases) AS query
47923  *
47924  * to
47925  *
47926  *     CREATE VIEW relname (aliases) AS
47927  *         WITH RECURSIVE relname (aliases) AS (query)
47928  *         SELECT aliases FROM relname
47929  *
47930  * Actually, just the WITH ... part, which is then inserted into the original
47931  * view definition as the query.
47932  * ----------
47933  */
47934 static Node *
makeRecursiveViewSelect(char * relname,List * aliases,Node * query)47935 makeRecursiveViewSelect(char *relname, List *aliases, Node *query)
47936 {
47937 	SelectStmt *s = makeNode(SelectStmt);
47938 	WithClause *w = makeNode(WithClause);
47939 	CommonTableExpr *cte = makeNode(CommonTableExpr);
47940 	List	   *tl = NIL;
47941 	ListCell   *lc;
47942 
47943 	/* create common table expression */
47944 	cte->ctename = relname;
47945 	cte->aliascolnames = aliases;
47946 	cte->ctematerialized = CTEMaterializeDefault;
47947 	cte->ctequery = query;
47948 	cte->location = -1;
47949 
47950 	/* create WITH clause and attach CTE */
47951 	w->recursive = true;
47952 	w->ctes = list_make1(cte);
47953 	w->location = -1;
47954 
47955 	/* create target list for the new SELECT from the alias list of the
47956 	 * recursive view specification */
47957 	foreach (lc, aliases)
47958 	{
47959 		ResTarget *rt = makeNode(ResTarget);
47960 
47961 		rt->name = NULL;
47962 		rt->indirection = NIL;
47963 		rt->val = makeColumnRef(strVal(lfirst(lc)), NIL, -1, 0);
47964 		rt->location = -1;
47965 
47966 		tl = lappend(tl, rt);
47967 	}
47968 
47969 	/* create new SELECT combining WITH clause, target list, and fake FROM
47970 	 * clause */
47971 	s->withClause = w;
47972 	s->targetList = tl;
47973 	s->fromClause = list_make1(makeRangeVar(NULL, relname, -1));
47974 
47975 	return (Node *) s;
47976 }
47977 
47978 /* parser_init()
47979  * Initialize to parse one query string
47980  */
47981 void
parser_init(base_yy_extra_type * yyext)47982 parser_init(base_yy_extra_type *yyext)
47983 {
47984 	yyext->parsetree = NIL;		/* in case grammar forgets to set it */
47985 }
47986